学习残差神经网络(ResNet) 您所在的位置:网站首页 残差网络resnet网络原理及实现 学习残差神经网络(ResNet)

学习残差神经网络(ResNet)

2023-08-17 04:37| 来源: 网络整理| 查看: 265

残差网络(Residual Network)是一种非常有效的缓解梯度消失和梯度爆炸问题网络,极大的提高了可以有效训练的网络的深度。

1.1残差网络的介绍和结构

残差单元可以以跳层连接的形式实现,将单元的输入直接与单元输出加在一起,然后再激活。因此残差网络可以轻松使用主流的自动微分深度学习框架实现,直接使用BP算法更新梯度。残差神经网络的概念图如下所示: 在这里插入图片描述 如下图所示:pain network 和 残差网络的模型如下图所示: 在这里插入图片描述 在这里插入图片描述

残差网络很好的解决了深度神经网络的模型退化问题,在ImageNet和CIFAR-10等图像任务上取得非常好结果。在同等层数前提下,残差网络也收敛的更快;并且去除个别神经网络层,残差网络的表现不会受到显著的影响

1.2 残差网络的原理

在这里插入图片描述 经过展开,在前向传播时,输入信号可以从任意底层直接传到高层;其包含了一个天然的恒等映射,一定程度上解决了网络退化的问题。

1.3 个人理解

看了很多关于残差网络的资料和解释,我个人对残差网络有如此高的学习能力的解释如下: 一般来说,神经网络的深度不应该太深,否则会出现梯度消失和梯度爆炸的情况。loss值在减小到一定程度后,随着训练的增加甚至会反弹。 而残差网络(ResNet)的深度可以很深,很容易学得恒等函数,让loss很难反弹。 一个网络深度越深,它在训练集上训练的效率就会有所减弱,这也是有时候我们不希望加深网络的原因。残差网络起作用的主要原因就是这些残差块学习恒等函数非常容易,很多时候甚至可以提高效率,因此创建类似残差网络可以提升网络性能。

在这里插入图片描述

与普通网络的串行结构相比,残差单元增加了跳跃映射,将输入与输出直接进行相加,并且补充卷积过程中损失的特征信息。由上图可知,设网络块学习到的映射是直接学习很难学习到的,但对一个残差函数来说,却可以很容易学习到的。因为此时网络块的训练目标是将逐渐逼近于某一特定映射。因此,最后的映射就是将F(x)和x相加。

换句话说,拿一个网络块为例:以前都是一个模块中的**一层**在学习恒等函数,现在,变成了这个模块中的**两层**(输入+输出)来学习恒等函数。学习恒等函数的层数变多了,效果自然就加强了。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有