残差网络理解

看了知乎的一篇关于残差网络的文章,https://zhuanlan.zhihu.com/p/72679537,我想发表一点我自己的看法!

在这里插入图片描述

1.我对残差网络的理解

  1. 残差网络(ResNet)确实与传统的卷积神经网络(CNN)在结构上有所不同,主要在于其在网络侧面引入了恒等连接线,也称为残差连接或跳跃连接。尽管这种改变似乎与传统的直线结构相悖,但残差网络在精度和性能上通常优于传统的CNN,尤其是在处理深度神经网络时。

  2. 残差连接的主要目的是解决深度神经网络训练过程中的梯度消失和梯度爆炸问题。在传统的CNN中,输入数据通过一系列的层逐层传递,每个层都对数据进行线性变换和非线性变换。当网络层数加深时,梯度在反向传播过程中可能会逐渐减小甚至消失,导致网络难以训练。而残差连接允许网络跨层直接传递信息,使得梯度能够更直接地回流到前面的层,从而有效地缓解梯度消失问题。

  3. 在残差网络中,每个网络块(通常是两个或三个卷积层的组合)的输出不仅通过下一层进行传递,还通过恒等连接直接与前一个网络块的输入相加。这种相加操作形成了残差,即网络学习的不是完整的输出,而是输出与输入的差值。这种残差学习的方式使得网络更容易优化,因为网络只需要学习输入和输出之间的微小差异,而不是整个输出

  4. 由于残差连接的存在,残差网络在训练过程中能够更快地收敛,并且通常能够达到更高的精度。此外,残差网络还具有更好的特征提取能力,因为它能够保留更多的原始输入信息,并通过跨层连接将这些信息传递给后面的层。

  5. 至于如何进行运算,残差网络的基本运算过程与传统CNN类似,包括卷积、激活函数、池化等操作。但不同之处在于,在每个网络块的输出处,除了进行常规的卷积操作外,还需要将输出与通过恒等连接传递过来的输入进行相加,形成残差。这个残差随后会经过激活函数,并继续在网络中传递。

理解2-有人问我残差不是相减吗,看结构图那是相加呀!

其实,加法何尝不是一种“减法”呢,a=b+c,也就是c=a-b

在残差网络中,残差的概念确实涉及到输入与输出之间的关系,但这里的“残差”并非简单地指相减的结果。实际上,残差网络中的“残差”是通过将网络块的输出与恒等连接传递的输入相加来构建的。

这种相加操作背后的思想在于,网络试图学习输入和输出之间的“差异”或“变化量”,而不是直接学习从输入到输出的完整映射。这种差异或变化量就是所谓的“残差”。通过引入这种残差连接,网络能够更容易地优化和学习,特别是在处理深度网络时,能够缓解梯度消失问题,提高训练效率和性能。

因此,尽管“残差”这个词在直观上可能让人联想到相减,但在残差网络的上下文中,它实际上是通过相加操作来构建的。这种设计使得网络能够专注于学习输入和输出之间的变化,而不是整体的映射,从而提高了网络的训练效果和性能。

简单来说,残差网络中的“残差”是指网络试图学习的输入和输出之间的差异,这种差异是通过相加操作来构建的,而不是相减。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值