首页 > 编程知识 正文

googlenet网络结构图,google结构

时间:2023-05-04 06:55:57 阅读:47795 作者:1773

首先给出三个链接:

1. GoogLeNet网络结构详解视频

2. 使用pytorch搭建GoogLeNet网络并训练

3. 使用tensorflow搭建GoogLeNet网络并训练

谷歌网于2014年由谷歌团队提出,在当时的ImageNet竞赛中获得了分类任务(Classification Task )的第一名。 请注意,与VGG网络同年,谷歌网络的l大写字母向LeNet致敬。 原来的论文名称是《Going deeper with convolutions》,下面是这个网络的缩略图。 原始论文提供的图太大了,所以把原始图放在博文的末尾。

首先,我将介绍这个网络的亮点。

(1) Inception结构的引入;(融合不同尺度的特征信息) ) ) ) ) ) ) ) ) )。

)2)也存在于使用1x1卷积核的降维及映射处理) VGG网络中,但本论文将更详细地介绍) ) )。

)3)增加两个辅助分类器支持训练

)4)舍弃所有连接层,使用平均池化层)大大减少模型参数,除两个辅助分类器外,网络大小只有vgg的1/20 )。

接下来分析一下Inception的结构:

左图是论文中提出的inception的原始结构,右图是在inception中添加了降维功能的结构。

首先,左图,inception结构共有四个分支。 也就是说,请注意,我们输入的特征矩阵并行通过这四个分支,得到四个输出,然后用深度维(channel维)将这四个输出连接起来,得到最终输出) )以使四个分支的输出在深度方向上相连

分支1是卷积核大小为1x1的卷积层,stride=1,

枝2是卷积核大小为3x3的卷积层,stride=1、padding=1(保证输出特征矩阵的高度、宽度和输入特征矩阵相等),

枝3是卷积核大小为5x5的卷积层,stride=1、padding=2(保证输出特征矩阵的高度、宽度和输入特征矩阵相等),

分支4是池化内核大小为3x3的最大池化下采样,stride=1,padding=1(确保输出特征矩阵的高度、宽度和输入特征矩阵相等)。

请看右图,与左图比较,分支2、3、4中加入了卷积核大小为1x1的卷积层。 目的是降维,减少模型训练参数,减少计算量。 下面,我们来看看1x1卷积核是如何减少训练模型参数的。 同样,对于深度为512的特征矩阵,使用64个大小为5x5的卷积核进行卷积,如果不使用1x1卷积核进行降维,则总共需要819200个参数。 使用1x1卷积核进行降维总共需要50688个参数,明显减少。

每个卷积层的卷积内核的个数是如何确定的? 以下是原论文中显示的参数列表。 我们构建的Inception模块需要使用#1x1、#3x3reduce、#3x3、#5x5reduce、#5x5、poolproj,这6个参数,分别支持使用的卷积

下图显示了在Inception模块中使用的每个分支的参数信息。 其中#1x1对应于分支1上1x1的卷积核心数,#3x3reduce对应于分支2上1x1的卷积核心数,#3x3对应于分支2上3x3的卷积核心数,#5x5reduce对应于分支3上1x1的卷积核心数

接下来,我们来看看子分类器的结构。 网络中的两个子分类器结构相同,如下图所示。

两个辅助分类器的输入分别来自inception(4a )和inception(4a )。

辅助分类器第一层是平均池化下采样层,池化核大小为5x5,stride=3

第二层是卷积层,卷积核大小为1x1,stride=1,卷积核的个数为128

第三层是全部连接层,节点数为1024

第四层是全部连接层,节点数为1000 (与分类对应类别数)

关于模型的构建和训练代码可以放在我的github里,大家可以自己下载使用:

3359 github.com/wz miaomiao/deep-learning-for-image-processing

pytorch版本位于pytorch_learning文件夹中,tensorflow版本位于tensorflow_learning文件夹中。

最后,我展示了我标记了部分信息的谷歌网络的网络结构图:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。