论文阅读感想:
Alexnet:
Alexnet其实是非常早期的神经网络。在现在看来,其实基本已经没有什么特别出奇的地方了。Alexnet采用了五个卷积层和三个全连接层。相比于更早期的LeNet,它效果更好的原因除了深度略有加深以外,就是采用了当时比较新颖的激活函数——RELU。RELU的好处首先是减少了计算量而且缓解了梯度消失的风险。另外,RELU会使一部分激活单元的输出为0,这就缓解了过拟合的风险。
上面这个结构这么奇怪的原因,是因为它在两个gpu上训练了,这主要是因为gpu性能不够。。。
LRN基本上就是对激活单元进行了局部归一化,但是据说LRN泛用性不太好,所以现在应用很少。
重叠池化也在AlexNet中提出,现在已经广泛使用了,论文中说可以降低错误率,避免过拟合。
论文中提到了Data Augmentation,它其实就是一种通过对数据进行处理然后增大数据集的方法,可以有效避免过拟合,以后要是数据集不够可以参考这种方法。
论文的网络使用了Dropout的方法。Drop out的应用方法很简单,就是创造一个和激活值维度相同的随机数矩阵,让随机数矩阵中小于阈值的数都变为0和激活值相乘即可。现在最常用的Drop out方法是Inverted Dropout,它是让所有的激活值除以阈值,以保证激活值的期望与原先相同。它能用来缓解过拟合。
除此之外,alexnet还用了动量法和批梯度下降等方法。
VGG:
在现在看来,VGG都算是一个比较深的网络。作者一共实现了六种网络结构,如下:
它们从11层一直到19层。因为VGG的深度比较大,所以VGG采用了更小的卷积核,以减少参数量,而且作者也发现更小的卷积核效果会更好。另外,VGG也在多个GPU上训练神经网络,最后取平均值。
除此之外,VGG将多种网络模型的sofmax层进行平均,感觉比较类似集成学习中的投票,这样达到了一个更好的效果。VGG还将multi-crop和dense评估进行了结合,达到了更好的效果。
VGG比较吸引研究人员的一点是它虽然采用了更深的网络层,但它的网络结构确实被简化了。它发展出了卷积-池化的网络模式,而且随着深度增加,通道数量不断翻倍,图像的高度和宽度以一定的规律减少,这种一致性是很多人很感兴趣的。
ResNet:
当网络的层数发展得越来越深,因为梯度消失问题和梯度爆炸问题的出现,所以随着网络的加深,网络的效果却没有增加甚至会变差。Resnet成功解决了这个问题,如下:
残差设计思想:
残差元的主要设计有两个,快捷连接和恒等映射,快捷连接使得残差变得可能,而恒等映射使得网络变深,而恒等映射主要有两个:快捷连接为恒等映射和相加后的激活函数。
本质上,残差网络的训练可以转换为学习一个残差函数F(x) = H(x) - x. 只要F(x)=0,就构成了一个恒等映射H(x) = x。这样就可以让网络自主选择网络的深度。
残差网络的思想在上面已经解释过了,就不多说了。简单来说,残差网络有很多像下面这样的残差块组成,而残差块就是通过Shortcut Connections的方式让残差网络的结构可以自行调控,已达到网络的加深效果。
转载:https://blog.csdn.net/diceroller/article/details/88539570