当前位置: 代码迷 >> 综合 >> 理解残差神经网络(Resnet)
  详细解决方案

理解残差神经网络(Resnet)

热度:50   发布时间:2023-12-24 13:41:37.0

理解残差神经网络(Resnet)

目的

DNN在超过一定深度后,就会产生退化(degradation),在训练集和测试集的准确率都变低。一味地加深深度反而有不利的影响。很难找到一个合适的深度。如果可以给一个浅一些的神经网络加深,让可以继续学习的网络层正常工作,而那些多余的网络层只是在恒等映射,就可以解决这个问题。这就是残差神经网络的想法来源。

原理

在这里插入图片描述
残差神经网络的基本单元残差块如上图所示,它的目的是学习恒等映射。假如说这个神经网络的局部的输入x和真实输出已经一样了,那么这个局部就需要做恒等映射。然而恒等映射相比于0映射是更难的,所以通过shortcut给输出加一个x之后,只需要优化F(x)F(x)F(x)等于0即可。残差块有不同的工作目的:靠前一些的神经网络部分,他们会从零开始产生合理的输出;而靠后的,他们是在微调,让结果更接近。

如果F(x)F(x)F(x)和x的维度不一样,可以通过padding或乘一个映射矩阵来调整x的形状。

  相关解决方案