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

AlexNet

这幅图片是AlexNet的模型。文章发表的时候是2012年,当时的GPU是 GTX580,所以使用了两块GPU,但是目前的硬件水平使用一块GPU就足够了。
图片:这里写图片描述
AlexNet 共有8层。其中前五层为卷积层,后三层为全连接层。最后一个全连接层具有输出1000个输出的softmax。

AlexNet分层结构

这里写图片描述
第一层
输入图片是224*224*3, 表示长宽是224个像素,RGB三通道, 所以要乘以三
然后采用了96个11 * 11 3 的filter。stride为4(步长为4)的设置下。对输入图像进行卷积操作。所以进行卷积操作后,输出变成了55 55* 96 。其中根据的公式是(图片的长或者宽 - 核长)/ 步长 + 1 。
然后经过激活函数ReLu,再进行池化操作,滤波器大小为3*3, 步长为2,所以池化后的输出为27 * 27 *96 。原因是55 / 2 = 27…1, 余数省略。
LRN 局部响应归一化,目前很多论文认为没什么用,基本不用了。
第二、三、四、五层操作基本类似
第六层
第六层的输入时6*6*256,将其转化成一个列向量X,维度为9216(6 *6*256),也就是看成一个9216*1的矩阵。然后用W(4096*9216)和W相乘,得到的结果是4096*1
第七层和第六层操作类似
第八层
第八层的输出为1000*1, 即1000个列向量,对应softmax中的1000个标签

VGG-Net

以VGG16举例
这里写图片描述
相对于Alexnet卷积核都比较小,这样一方面可以减少参数并且增加网络深度,另一方面进行更多非线性映射,增加网络的拟合/表达能力。

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
解析卷积神经网络——深度学习实践手册

猜你喜欢

转载自blog.csdn.net/siyue0211/article/details/80092531
今日推荐