基于深度学习的图片特征提取:AlexNet、VGGNet、GoogLeNet、ResNet(残差单元引入shortcut connections实现恒等映射)

日萌社

人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)


ResNet结构并分析其在计算机视觉方面取得成功的原因

Resnet通过引入残差单元来解决退化问题。
结构:
(1)通过增加 恒等快捷连接(identity shortcut connection)实现,直接跳过一个或多个层。优势是残差映射在实际中往往更容易优化。
(2)Resnet网络中短路连接shortcut的方式考虑到x的维度与F(X)维度可能不匹配情况,需进行维度匹配。通常采用两种方法解决这一问题:
zero_padding:对恒等层进行0填充的方式将维度补充完整。这种方法不会增加额外的参数
projection:在恒等层采用1x1的卷积核来增加维度。这种方法会增加额外的参数
(3)bottleneck 实现方式
使用1x1的卷积层来降维,最后一层使用1x1的卷积层来进行升维
(4)激活函数移动到残差部分可以提高模型的精度


基于深度学习的图片特征提取:AlexNet、VGGNet、GoogLeNet、ResNet(残差单元引入shortcut connections实现恒等映射)_第1张图片

基于深度学习的图片特征提取:AlexNet、VGGNet、GoogLeNet、ResNet(残差单元引入shortcut connections实现恒等映射)_第2张图片

基于深度学习的图片特征提取:AlexNet、VGGNet、GoogLeNet、ResNet(残差单元引入shortcut connections实现恒等映射)_第3张图片

基于深度学习的图片特征提取:AlexNet、VGGNet、GoogLeNet、ResNet(残差单元引入shortcut connections实现恒等映射)_第4张图片

基于深度学习的图片特征提取:AlexNet、VGGNet、GoogLeNet、ResNet(残差单元引入shortcut connections实现恒等映射)_第5张图片

基于深度学习的图片特征提取:AlexNet、VGGNet、GoogLeNet、ResNet(残差单元引入shortcut connections实现恒等映射)_第6张图片

基于深度学习的图片特征提取:AlexNet、VGGNet、GoogLeNet、ResNet(残差单元引入shortcut connections实现恒等映射)_第7张图片

基于深度学习的图片特征提取:AlexNet、VGGNet、GoogLeNet、ResNet(残差单元引入shortcut connections实现恒等映射)_第8张图片

基于深度学习的图片特征提取:AlexNet、VGGNet、GoogLeNet、ResNet(残差单元引入shortcut connections实现恒等映射)_第9张图片

基于深度学习的图片特征提取:AlexNet、VGGNet、GoogLeNet、ResNet(残差单元引入shortcut connections实现恒等映射)_第10张图片

基于深度学习的图片特征提取:AlexNet、VGGNet、GoogLeNet、ResNet(残差单元引入shortcut connections实现恒等映射)_第11张图片

基于深度学习的图片特征提取:AlexNet、VGGNet、GoogLeNet、ResNet(残差单元引入shortcut connections实现恒等映射)_第12张图片

基于深度学习的图片特征提取:AlexNet、VGGNet、GoogLeNet、ResNet(残差单元引入shortcut connections实现恒等映射)_第13张图片

基于深度学习的图片特征提取:AlexNet、VGGNet、GoogLeNet、ResNet(残差单元引入shortcut connections实现恒等映射)_第14张图片

1.一个残差单元中输入数据分两路汇合作为输出数据,其中一路数据是常见的经过两个卷积层运算后的结果,
  而另一路数据直接就是输入数据,这个路线被称为shortcut connections(快捷连接)。
2.随着网络的加深,模型不但没有变得更好,反而变差了,并不是因为发生了过拟合,
  因为即使通过使用dropout以及加大训练数据等方法均都并不能很好地解决这个问题;
  同时也不能说是网络过深导致梯度传播的衰减,因为已经有很多行之有效的方法来避免这个问题了;
  同时也不能说是网络过深导致后面的一些网络层根本没有什么用,如果说起作用的只是前面的一些网络层,
  那么这个很深的网络也就退化成了一个较浅的网络,但这样是不对的,因为即便退化成了较浅的网络,
  这个很深的神经网络与较浅的神经网络相比预测误差应该差不多,但是从实验来看这个误差反而变大了。
3.综上所述,导致更深的网络预测误差反而变大了的可能原因就是:
	这个更深的网络后面的网络层没有学习到恒等映射(identity mapping),则是学习到一些非恒等映射而导致引入了误差。
	所谓恒等映射是指输入和输出是一样的,即y=H(x)=x,更通俗地说就是这个网络层什么都没有干。
	那么,我们就可以得到一个想法,假如一个足够深度的m层神经网络,其起作用的只是前n层(n<

基于深度学习的图片特征提取:AlexNet、VGGNet、GoogLeNet、ResNet(残差单元引入shortcut connections实现恒等映射)_第15张图片

 

你可能感兴趣的:(人工智能)