前言
想要训练足够强大的神经网络,我们就需要搭建足够深度的网络,但是深的网络会不可避免地产生梯度爆炸或者梯度消失问题,使得训练缓慢亦或者根本见不到明显的下降。如下图
我们的Relu函数和Batchnorm等都在解决这种问题,使得更加深的神经网络的训练能够被实现。本次我们介绍另一种很有效的解决思路,ResNet。
什么是ResNet
CNN的核心组件是convolutional filter和pooling layer,其实ResNet也是CNN的一个衍生,加入了自己的核心组件用于skip。简单模拟图和公式如下。
我们可以看到相比较直接的神经网络,ResNet多了很多跳跃这个神经网络的步骤,这很有道理,因为我们人本身形成的突触也是直接跨越的,直接支配而不需要一定完全依赖层之间的关系。神经完全可以通过类似的退化一部分神经元,来使得自己不那么臃肿,使得效率得以提升。
ResNet50的具体实现
参加我的作业blog:
https://blog.csdn.net/weixin_43197820/article/details/105917121