作者 :“码上有钱”
文章简介 :AI-残差算法
欢迎小伙伴们 点赞、收藏⭐、留言
简介
残差网络(Residual Neural Network, ResNet)是深度神经网络的一种。它通过增加跨层连接(skip connection)将输入信息直接传递到输出,有助于解决深层网络训练中的梯度消失和梯度爆炸问题,减少了参数量,提高了网络性能。
问题
- 在传统的神经网络结构,信号从输入到输出需要经过多个非线性映射,每一层映射的输出结果都作为下一层映射的输入进行处理。但是,这样的映射过程将产生一些问题,例如深层神经网络难以训练,梯度消失问题、梯度爆炸问题等。
- 同时由于神经网络层数的增多,会出现精度退却的问题。
如下图,层数多训练和测试精度反而不高。
残差结构
为了解决这些问题,ResNet提出了残差块,它采用了跳跃式连接的方法,在网络中加入直接连接以便于信息的快速传递。
在学习过程中,优先选择更短的路径学习,以至于效果至少不会太差!
优点
- 强大的非线性建模能力:残差网络由于可以通过堆叠多个隐藏层,从而可以学习到更复杂的非线性关系。这使得残差网络在许多复杂任务上比传统的神经网络表现更好。
- 避免梯度消失和梯度爆炸问题:由于深层网络的反向传播过程中的梯度会逐渐变小(梯度消失)或者变大(梯度爆炸),导致模型难以收敛或者训练不稳定。残差网络通过跨层连接直接传递梯度,有效地解决了这个问题。
- 可以训练更深的网络:传统的神经网络很难训练超过几十层,而残差网络则可以轻松地训练数百层甚至更深的网络结构。
- 更少的参数:相比普通的卷积神经网络,在保持相同性能的情况下,残差网络需要的参数数量要少很多。这是因为残差网络的每一个Residual Block只需要学习残差部分,而不需要重复学习输入数据。
- 加速训练:由于残差网络的结构,每个层只需要学习残差部分,可以减少训练参数的数量、减小计算量,从而加快网络的训练。
- 提高模型稳定性:由于残差网络的输入和输出是一致的,使得网络更容易收敛并且更稳定。