ResNet 残差神经网络

当类似VGG结构的网络层数过深的时候会产生退化,如下图所示,56层的网络效果要比20层的差,ResNet的提出就是解决退化问题,继续加深网络层数。
ResNet 残差神经网络
ResNet的基本思想是将原来一层一层堆叠在一起的网络结构变换成一种新的结构,这个结构如下所示
ResNet 残差神经网络
右部的含义是直接将输入按照原样映射到输出,左部分就和VGG一样是堆叠的卷积层等,新的网络结构可以这样去理解,假设原来的网络不包含左部分,仅包含右部分,这可以理解为一个较浅的网络,这个时候加入右部分,整个网络的深度可以认为“没有加深”,而是在右部分直接映射的基础上增加了学习能力(因为网络参数更多,可以认为学习到了更多的信息),这样左右结合网络的学习能力就不会比仅有右部分的网络差。
这同样也可以换一个角度,用公式化的方式去理解,假设我们需要上述左右结合网络将输入x映射为H(x),右部分是直接映射为x,那么左部分需要映射的值为F(x)=H(x)-x,作者认为通过训练网络学习残差F(x)要比学习H(x)简单,通过一个极端的例子,假如我们需要学习的H(x)就是输入到输出直接映射( H(x)=x ),那么左部分堆叠的网络层可以直接置0( F(x)=0 ),如果需要这种堆叠的网络层去学习直接映射的话是很困难的,因为激活函数会导致非线性(sigmoid激活函数)。
作者在数据集上做了测试,测试结果验证了实验假设,残差网络确实是一种更有效的假设。

ResNet 残差神经网络ResNet 残差神经网络 kking_edc 发布了40 篇原创文章 · 获赞 0 · 访问量 5736 私信 关注
上一篇:卷积神经网络学习笔记——SENet


下一篇:python – 使用keras函数ImageDataGenerator()生成的预处理图像,用于训练resnet50模型