网络的退化问题
其实随着网路深度的加深,模型的精度并不是总是提高,这个不是过拟合造成的,因为随着网络深度的加深,不仅测试误差变大了,而且训练误差也高了,这个可能是因为更深的网络伴随着梯度消失和爆炸的问题,阻碍了网路的收敛,随着网络深度网路性能下降的现象叫做退化问题(degradation)。
解决这个问题
以前采用了BN的方法,一定程度缓解了这个要求,但是不能满足这个需求。建立恒等映射。学习残差F(x)=H(x)-x会比直接学习原始特征H(x)简单的多。
网路的结构和实现方法
resnet有五种结构,res18,res34,res50,res101,res152
resnet50采用了bottleneck,主要引入了11卷积,11卷积的作用是:
1,对通道数进行降维,实现多个特征图的线性融合,同时保留原有特征图的大小
2,相比其他尺寸的卷积核,可以降低运算的复杂度
3,两个33的卷积堆叠,只有一个RELU,但是使用11就会有两个relu。引入了更多的非线性映射。
首先看上图右边的bottleneck结构,对于256维的输入特征,参数数目:1x1x256x64+3x3x64x64+1x1x64x256=69632,如果同样的输入输出维度但不使用1x1卷积,而使用两个3x3卷积的话,参数数目为(3x3x256x256)x2=1179648。简单计算下就知道了,使用了1x1卷积的bottleneck将计算量简化为原有的5.9%,收益超高。
如何使用自己的resnet
重新梳理resnet
最新推荐文章于 2024-12-19 00:57:57 发布