[PyTorch][chapter 37][经典卷积神经网络-2 ]

news2024/11/28 21:38:56

1: VGG

2:    GoogleNet


一 VGG

    1.1 简介

     VGGNet 是牛津大学计算机视觉组(Visual Geometry Group)和谷歌 DeepMind 一起研究出来的深度卷积神经网络,因而冠名为 VGG。VGG是一种被广泛使用的卷积神经网络结构,其在在2014年的 ImageNet 大规模视觉识别挑战(ILSVRC -2014)中获得了亚军,

   其主要创新点:(相对alexNet)

         1 是探索出了更小的卷积核 3*3, 1*1,降低了运算量,加快了模型训练速度

          深度学习 1x1卷积核的作用_1*1卷积核的作用_高祥xiang的博客-CSDN博客

         2  网络层次更深
 

1.2  网络结构

     VGGNet以下6种不同结构,我们以通常所说的VGG-16(即下图D列)为例,展示其结构示意图

1.3 参数说明

第1层输入层:

            输入为3@224*224 的图片(RGB 通道为3, 宽高等于224)

第2层vgg block层:

         输入为3@224*224,

        卷积核: 由4个kernel size为3×3×3的filter,stride = 1,padding=same

        输出:64@224*224的block层(指由conv构成的vgg-block)。

第3层Max-pooling层:

         输入为64@224*224

         池化:pool size=2,stride=2的减半池化

         输出: 64@112×112

第4层vgg block层:

         输入:64@112×112

         卷积核:经128个3×3×64的filter卷积,

         输出: 128@112×112。

第5层Max-pooling层:

          输入为128@112×112×128,

          池化:经pool size = 2,stride = 2减半池化后得到尺寸为

          输出:  128@56×56

第6层vgg block层:

           输入:   128@56×56

           卷积核:256个3×3×128的filter卷积

           输出:    256@56×56的block层。

第7层Max-pooling层:

             输入: 256@56×56×256

             池化:经pool size = 2,stride = 2减半池化

            输出: 256@28×28

第8层vgg block层:

              输入: 256@28×28

              卷积核: 512个3×3×256的filter卷积

              输出: 512@28×28

第9层Max-pooling层:

            输入:512@28×28,

           池化:经pool size = 2,stride = 2减半池化

           输出:512@14×14。

第10层vgg block层:

            输入: 512@14×14,

            卷积核: 512个3×3×512的filter卷积,

            输出        512@14×14。

第11层Max-pooling层:

              输入: 512@14×14,

              池化:pool size = 2,stride = 2减半池化后

              输出: 512@7×7×512的池化层。

该层后面还隐藏了flatten操作,通过展平得到7×7×512=25088个参数后与之后的全连接层相连。

后面 接上FC_1,FC_2,FC_3, softmax 


二  GoogleNet

GoogLeNet是2014年Christian Szegedy提出的一种全新的深度学习结构,在这之前的AlexNet、VGG等结构都是通过增大网络的深度(层数)来获得更好的训练效果,但层数的增加会带来很多负作用,比如overfit、梯度消失、梯度爆炸等。inception的提出则从另一种角度来提升训练结果:能更高效的利用计算资源,在相同的计算量下能提取到更多的特征,从而提升训练结果 

 2.1 创新点

引入Inception结构,融合不同尺度的特征信息(heightwidth相同,在channel深度方面进行拼接)

使用1x1的卷积核进行降维以及映射处理

添加两个辅助分类器帮助训练

丢弃全连接层,使用平均池化层,大大减少模型参数

   

2.2 1*1 卷积核

    

          左图:

                  输入: channel 512

                 卷积核  64@5*5

                 输出:  64

                参数量: 819200

         右图:

                  输入: channel 512

                  卷积核1: 24@1*1

                   输出:   24

                   卷积核2: 64@5*5

                    输出:  64

                     参数量: 50688

                    降低了参数量

   

  

2.3 Inception结构

         Inception结构的核心思想是将输入特征矩阵进行卷积,使得多个输出特征矩阵的高和宽相同,再将多个输出特征矩阵在深度方向进行拼接。而如图b则是引入了1x1卷积核进行降维(为了减少训练所需参数)的Inception结构。

         最早版本的Inception 如下:

 

创新点

1 . 采用不同大小的卷积核意味着不同大小的感受野,最后拼接意味着不同尺度特征的融合;

2 串联改并联。 inception 结构之前的网络都是先 卷积 再 池化。

  inception 结构 卷积和池化同时计算

3  把池化和卷积放在一层里面,Inception里面也嵌入了pooling。
4  最后把不同的feature map ,做了concate

后面为了降低计算,又增加了在卷积核前面,又增加了1*1卷积核

 

       2.4 googLeNet——Inception V1结构

    googlenet的主要思想就是围绕这两个思路去做的:


(1).深度,层数更深,文章采用了22层,为了避免上述提到的梯度消失问题,
          googlenet巧妙的在不同深度处增加了两个loss来保证梯度回传消失的现象。


(2).宽度,增加了多种核
          1x1,3x3,5x5,还有直接max pooling的,
但是如果简单的将这些应用到feature map上的话,concat起来的feature map厚度将会很大,
所以在googlenet中为了避免这一现象提出的inception具有如下结构,在3x3前,5x5前,
max pooling后分别加上了1x1的卷积核起到了降低feature map厚度的作用。

请添加图片描述

2.5  辅助分类器

 

 

2.6    跟其它模型相比

     通过下图可以看到,VGG,GoogleNet 在20层左右,再增加网络层次

已经对loss 的降低无法再优化,甚至会导致过拟合.

    直到ResNets 出现。

 

 参考:

5.1 GoogLeNet网络详解_哔哩哔哩_bilibili

课时70 经典卷积网络 LeNet5,AlexNet, VGG, GoogLeNet-2_哔哩哔哩_bilibili

 GoogLeNet 网络简介_樱木之的博客-CSDN博客

转载-GoogleNet(Inception)详解 - 知乎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/590191.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

生成式模型的质量评估标准

Sample Quality Matrix 如何评价生成式模型的效果?ISFIDsFIDPrecision & RecallPrecisonRecall计算precision和recall 如何评价生成式模型的效果? Quality: 真实性(逼真,狗咬有四条腿) Diversity: 多样性&#x…

全网为数不多清晰可行的在VUE中使用sortable.js实现动态拖拽排序的教程!

目录 0 写在前面的 1 依赖安装 2 手写简单标签演示 3 要点 4 效果 0 写在前面的 首先批评以下文章 (10条消息) sortable.js 实现拖拽_sortablejs_花铛的博客-CSDN博客 (10条消息) sortablejs拖拽排序功能(vue)_C_fashionCat的博客-CSDN博客 他们…

Spring6入门 + Log4j2

1、环境要求 JDK:Java17(Spring6要求JDK最低版本是Java17) Maven:3.6 Spring:6.0.2 2、构建模块 (1)构建父模块spring6 在idea中,依次单击 File -> New -> Project ->…

什么是内部网络分段渗透测试?

网络攻击的规模、范围和复杂性与日俱增。随着黑客及其攻击方法变得越来越复杂,您的企业必须做出相应的响应,否则您的安全边界就会不堪重负。 如今,内部网络分段是将攻击成功风险降至最低、改善数据流和隔离关键支付数据的主要方法之一。 但是…

【U-Boot 之七】fastboot原理分析及uboot fastboot功能实践

本文首先介绍了fastboot的基本原理,然后分析了uboot中fastboot的实现,最后,从实践的角度测试了fastboot协议及各种fastboot命令的使用方式等 。本文的仅按照我本人的实际测试过程进行了简单的描述。若有不当之处,欢迎各位大神不吝…

专家警告AI可能会导致人类灭绝?

人工智能可能导致人类灭绝,包括 OpenAI 和 Google Deepmind 负责人在内的专家警告说 数十人支持在人工智能安全中心 的网页上发表的声明。 它写道:“减轻人工智能灭绝的风险应该与其他社会规模的风险(如流行病和核战争)一起成为全…

Linux系统安装RabbitMQ

rabbitmq安装 说明:本次使用centos7.9 安装虚拟机. 1. 安装依赖环境 在线安装依赖环境: yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c kernel-devel m4 ncurses-devel tk tc xz2. 安装Erlang 根据课…

[原创]集权设施保护之LDAP协议

LDAP是一种目录访问协议,它规定了以树状结构的方式来存储和访问数据。然而协议是抽象的,要产生具体的功效,必须在应用中实现,比如AD域服务就实现了LDAP协议。 LDAP最明显的优势就是读取速度快,拥有极高的搜索效率。 可…

Drools规则引擎

Drools规则引擎 Drools规则引擎1、Drools简介2、Drools入门案例2.1、业务场景2.2、maven坐标2.3、编写xml配置文件(多方法)2.4、创建drl规则文件2.5、单元测试 3、Drools基础语法3.1、规则文件的构成3.2、规则体语法结构3.2.1、条件部分3.2.1.1、约束连接…

day4,day5 -java集合框架

List、Set、Map等常用集合类的特点和用法。 常用集合类(List、Set、Map 等)是 Java 中提供的数据结构,用于存储和操作一组数据。以下是它们的特点和用法: List(列表): 特点:有序集合&#xff0…

多元办公场景下,企业如何保障工作效率与数据安全流通?

为适应数字化转型需求,提升办公效率,很多企业对工作模式进行革新,并将更多协同办公工具引入工作流程。然而,这也扩大了企业内网对外的安全暴露面,企业亟需进一步加强底层基础设施的网络安全建设,严防勒索病…

分布式监控平台——Zabbix6.0

市场上常用的监控软件: 传统运维:zabbix、 Nagios云原生环境: Prometheus (go语言开发的) 一、zabbix概述 作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数…

内网渗透(八十六)之Exchange ProxyLogon攻击链利用

Exchange ProxyLogon攻击链利用 漏洞背景 2021年3月2日,微软发布了Exchange服务器的紧急安全更新,修复了如下7个相关的漏洞。 Exchange服务端请求伪造漏洞(CVE-2021-26855):未经身份验证的攻击者能够构造HTTP请求扫描内网并通过Exchange服务器进行身份验证。Exchange反序列…

基于SpringBoot的财务管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SpringBoot 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:…

王石创立“生物圈三号”发起“双碳同行者大会”,绿色家居企业参与其中

2023年5月27日 ,由万科集团创始人、深石集团创始人王石先生创立的碳中和社区品牌“生物圈三号”在深圳大梅沙成功举办了“回归未来双碳同行——生物圈三号双碳同行者大会暨全球运河穿越新书发布会”。 生物圈三号作为社区碳中和综合解决方案平台,为建筑、…

JVM-基础知识

JVM基础知识 JVM结构图 字节码文件 Java虚拟机不和包括Java在内的任何语言绑定,它只与字节码文件这种特定的二进制文件格式所关联. Class文件结构不仅仅是JVM的执行入口,更是Java生态圈的基础和核心. 字节码文件内容是什么 字节码是一种二进制的类文件,他的内容是JVM指令,而…

OpenAI竞对再被谷歌加注!4.5亿美元新融资到位,累计已吸金14.5亿美元

量子位 | 公众号 QbitAI OpenAI之外,第二不差钱的AI初创公司出现了! 研发出ChatGPT最强竞品Claude的Anthropic公司,在谷歌投资之后,再次官宣获得了4.5亿美元C轮融资。 这轮收购之后,Anthropic资金一跃达到14.5亿美元…

CPLEX Studio OPL项目介绍

参考B站视频:cplex入门到精通 1.理解 OPL 项目 CPLEX Studio 处理 OPL 项目文件(.project)、数据文件(.dat)、模型文件 (.mod)、设置文件(.ops)和运行配置(.oplproject)。 文件类型扩展名作用份数说明模型文件.mod模型存储和数据1~n必须数据文件.dat数据存储0~n非…

【代码随想录】刷题Day42

1.01背包问题 问题介绍:有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 1.二维数组实现思想 1.dp[i][j]的含义:首先…

头羊部落亮相首届校园预制菜展,成为预制菜行业领头羊

由北京工商大学与北京市学校基建后勤管理事务中心共同主办的首届预制菜产业与智慧团餐高质量发展研讨会暨校园食材展(以下简称大会)于2023年5月26-27日在北京工商大学举办。 △首届预制菜产业与智慧团餐高质量发展研讨会在北京工商大学隆重举行 △预制菜…