Resnet介绍

1.简介

作者提出了一种深度学习网络框架resnet,用来解决层数过深时,神经网络训练效果变差的情况。按理来说层数越深,模型的效果就会越好。那些在Imagenet上登顶的网络模型它的网络层数都是非常多的,都不是一两层的网络训练出来的模型。深度是非常重要的,高级语义信息在深层网络时才被提取。而网络越深就越有可能出现梯度爆炸/消失,虽然我们可以通过normalizatio来解决,但网络并不是越深越好。作者给出了下面这张图

Resnet介绍

56层神经网络是20层神经网络比较深的版本(即网络结构一样,只是层数更多而已)。可以看到,无论是在训练集(左图)上,还是在测试集上(右图),56层神经网络的表现都要差于20层的神经网络。按理来说, 深的网络不应该比浅的网络训练效果差,因为我们总可以把新加的那些层变成identity mapping(即 若输入为x,则输出也为x,也就是保持原样的意思)。但实际上做不到,用SGD等优化算法找不到这样的解。

2.深度残差学习网络(deep residual learning framework)

Resnet介绍

这是一个残差学习单元。x是上一层的输入,它经过一个残差函数F,最后的输出为H=F(x)+x。其中F=W2σ(W1x),W1是第一个weight layer。

Resnet介绍

这是更直观的图。这里的W1和W2都是卷积层,σ是Relu函数。我觉得W 是代表卷积核的参数,在56×56的矩阵中,卷积核对每个区域卷积,再把每个区域的输出结果进行Relu。为什么要加入这个残差学习块呢?因为残差学习相比原始特征直接学习更容易。当残差为0时,此时堆积层仅仅做了恒等映射,至少网络性能不会下降。实验证明,这个残差块往往需要两层以上,因为如果只有一层的话,y = W1x + x,相当于一个线性层,并不能起到提升作用。

3.不同层Resnet的结构

输入是224×224的图片,卷积层、maxpool层都需要padding

Resnet介绍

34层resnet可视化:

Resnet介绍

conv1卷积可视化:

Resnet介绍

maxpool层可视化:

Resnet介绍

参考:

  1. https://arxiv.org/abs/1512.03385

2.https://zhuanlan.zhihu.com/p/79378841

3.http://www.atyun.com/40484.html

Original: https://blog.csdn.net/m0_59787404/article/details/121697132
Author: singing4you
Title: Resnet介绍

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/628257/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球