AlexNet

这幅图片是AlexNet的模型。文章发表的时候是2012年,当时的GPU是 GTX580,所以使用了两块GPU,但是目前的硬件水平使用一块GPU就足够了。AlexNet获得了12年ImageNet比赛的第一名(top-5 error of 16% compared to runner-up with 26% error)。AlexNet和LeNet网络结构很相似,只是更加深和大。
图片:[深度学习] 深度学习基本网络结构
AlexNet 共有8层。其中前五层为卷积层,后三层为全连接层。最后一个全连接层具有输出1000个输出的softmax。

AlexNet分层结构

[深度学习] 深度学习基本网络结构
第一层
输入图片是224*224*3, 表示长宽是224个像素,RGB三通道, 所以要乘以3

然后采用了9611*11*3 的filter。stride为4(步长为4)的设置下。对输入图像进行卷积操作。所以进行卷积操作后,输出变成了55*55*96 。其中根据的公式是(图片的长或者宽 - 核长)/ 步长 + 1

然后经过**函数ReLu,再进行池化操作,滤波器大小为3*3, 步长为2,所以池化后的输出为27*27*96 。原因是552 = 27...1, 余数省略。

LRN 局部响应归一化,目前很多论文认为没什么用,基本不用了。

第二、三、四、五层操作基本类似

第六层
第六层的输入时6*6*256,将其转化成一个列向量X,维度为9216(6 *6*256),也就是看成一个9216*1的矩阵。然后用W(4096*9216)X相乘,得到的结果是4096*1

第七层和第六层操作类似

第八层
第八层的输出为1000*1, 即1000个列向量,对应softmax中的1000个标签

VGG-Net

VGG-Net在14年ILSVRC中取得第二名。它的主要贡献是证明了增加网络深度可以提高最后的结果。VGG-NET中卷积核大小均为3*3,池化层核的大小为2*2
以VGG16举例
[深度学习] 深度学习基本网络结构

[深度学习] 深度学习基本网络结构

VGG-Net相对于AlexNet区别

  • 去掉了LRN层,作者认为LRN层效果不明显
  • 使用更小的卷积核
  • 使用更小的池化核
  • 增加了网络深度且减少参数数量

GoogLeNet

详见:https://blog.csdn.net/siyue0211/article/details/82086324

Network in network

network in network 没有特别细致的学习,以后有需要再仔细看。
思路:
将CNN中的卷积层换为多层感知机,这样做的优点是增加的网络的非线性能力
[深度学习] 深度学习基本网络结构
将之前模型卷积层后面跟着的全连接层换成全局池化层,假设分类任务共有C个类别,最后一层为特征图层数共计C的全局池化层,恰好对应C个类别
[深度学习] 深度学习基本网络结构

残差网络

着各种模型的退陈列新,研究人员发现,增加网络的深度可以让网络有更好的表征能力。但是这存在一些问题:
随着深度的增加,训练会愈加困难,这主要是因为在基于随机梯度下降的网络训练过程中,误差信号的多层反向传播非常容易引发梯度“弥散”(梯度过小会使回传的训练误差极其微弱)或者爆炸(梯度过大会导致模型出现NaN)现象。虽然这样的问题可以由权重初始化策略和批规范化策略等方法使这个问题得到很大的改善–网络可以正常训练了,但是随着网络层数的增加,训练的误差没有降低反而是升高了。而ResNet的出现解决了这个问题。
[深度学习] 深度学习基本网络结构
残差网络学习模块如上图所示
和一般的网络模型的区别是在做完卷积和池化之后又和初始的输入进行逐项素相加或者相乘。
另外一个区别就是残差网络以 global average pooling layer 代替VGG网络中的全连接层,一方面使参数大大减少,另一方面减少了过拟合风险。

##参考文献
https://blog.csdn.net/teeyohuang/article/details/75069166
解析卷积神经网络——深度学习实践手册

相关文章: