残差神经网络(Residual Neural Network,ResNet)相比传统的卷积神经网络(Convolutional Neural Network,CNN)能够实现更好的学习效果,主要原因在于其使用了残差学习的思想。在何凯明等人的论文《Deep Residual Learning for Image Recognition》中,提出了通过引入残差块(Residual Block)来构建深层神经网络的方法,从而实现更好的学习效果。

传统的CNN中,每一层网络都需要将输入映射到输出,这个映射关系可以被看作是对输入的一种变换。如果模型的深度很浅,那么这种变换的表达能力就可能不够,导致模型的性能下降。然而,如果模型的深度很深,那么这种变换就可能会变得非常复杂,导致模型的训练变得非常困难。残差学习的思想就是针对这个问题提出的。

在ResNet中,每一层网络都被设计成了一个残差块,它们的输入和输出之间的差异被称为残差。残差块的结构如下图所示:

image.png

其中,F表示一个由两个卷积层和一个非线性激活函数(如ReLU)组成的子网络,x表示输入,H(x)表示残差块的输出。在传统的CNN中,每一层网络都是通过将输入映射到输出来实现的,即H(x)=F(x),但在ResNet中,每一层网络都是通过将输入与输出的残差相加来实现的,即H(x)=F(x)+x。这种做法可以使得每一层网络都只需要学习输入与输出之间的差异,而不需要学习整个变换的表达能力,从而使得模型更易于训练。

此外,何凯明等人还使用了一些技巧来进一步提高ResNet的性能,包括:

  1. 使用批量归一化(Batch Normalization,BN):在每一层网络的卷积和激活函数之间增加BN层,可以使得模型更加稳定和快速地收敛。

  2. 使用预激活(Pre-Activation):在ResNet的残差块中,将BN层和激活函数层的顺序进行调换,使得模型更加易于训练。

  3. 使用残差网络的集合(ResNets Ensemble):将多个ResNet模型进行集成,可以进一步提高模型的性能。

综上所述,ResNet能够实现比传统CNN更好的学习效果,主要是因为其引入了残差学习的思想,使得模型更易于训练,并且通过一些技巧的使用,进一步提高了模型的性能。

ResNet:残差神经网络为何优于传统CNN,以及具体的优化技巧

原文地址: https://www.cveoy.top/t/topic/njnP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录