当前位置:   article > 正文

ResNet残差网络的学习【概念+翻译】_resnet残差学习是什么意思

resnet残差学习是什么意思

基于何明凯前辈论文的学习

1.主要内容(背景)

1、首先提了一个base:神经网络的深度越深,越难以训练。
2、原因:因为随着神经网络层数的增加,通常会遇到梯度消失或梯度爆炸等问题,这会导致训练变得更加困难。梯度消失指的是:在反向传播过程中,梯度逐渐变得非常小,以至于无法有效地更新网络参数。梯度爆炸则是相反的情况,梯度变得非常大,导致参数更新过大,甚至使网络变得不稳定。
3、目前基于我已知的方法:使用不同的激活函数(如ReLU)、归一化(缩放和平移输入数据或者中间层的激活值)、合适的学习率调度和正则化技术等。
4、因此:本文展示了一种残差学习框架,能够简化使那些非常深的网络的训练,该框架能够将层作为输入学习残差函数,而不是学习未知的函数。
5、结果:残差网络更容易被优化,而且可以在深度增加的情况下让精度也增加。

2.Introduction-介绍

1、主要讲述在深度网络的情况下,首先提出一个问题:训练一个更好的网络是否和堆叠更多的层一样简单呢?
2、但是解决这一个问题的前提:随着网络深度越来越大,梯度消失/梯度爆炸问题随即而来,原因如下:

1.过拟合问题:网络深度越来越大,模型基于训练集的表现能力越来越强(神经网络万能定理:无限个非线性函数能够表示任意复杂的函数),那么此模型可能在测试集上就会出现过拟合问题,过度依赖训练集(类似于考试背答案一样)。
2.激活函数问题:因为我们的梯度是损失函数对参数求偏导,而损失函数(如:MSE)又依赖于我们的激活函数,而梯度的计算是链式计算——>L对w偏导=L对激活函数输出偏导

  • 激活函数对输入偏导 …,那么可以发现像sigmoid函数是很容易到0的,故可能出现梯度消失的情况,得不到我们理想的参数。——>(常见处理方法:正则化,Rule,学习率的自适应adam等等)
    3.优化器选择不当: 不同的优化器对深度网络的训练效果有影响。某些优化器可能在处理深度网络时表现更好,而某些优化器可能会导致退化问题。

后来我们的归一化很好的解决了梯度消失/爆炸e的问题(Relu 函数),但是由于非线性激活函数Relu的存在,每次输入到输出的过程都几乎是不可逆的,这也造成了许多不可逆的信息损失。一个特征的一些有用的信息损失了,得到的结果肯定不尽人意。说通俗一点就是中间商赚差价。层数增多之后,信息在中间层损失掉了。

这也就是我们的网络退化问题:即使通过增加网络深度,也并不总能获得更好的训练效果。

3、因此,作者做了一个恒等映射的实验:比较一个浅层模型和一个深层模型时,如果我们将浅层模型中的前几层(即恒等映射)复制到深层模型中,那么这个深层模型的训练错误率不应该高于浅层模型。逻辑如下:

通过复制浅层模型的前几层到深层模型中,使得深层模型的前几层表现和浅层模型相似,保持了一种“相似性”。因此,如果深层模型在训练过程中出现训练错误率更高的情况,那就意味着深层模型的优化出现了问题或者深层模型整体的表现并没有优于浅层模型,这是不符合预期的。

综上所述,个人认为: 作者的重点在于指出当前对于解决深度神经网络训练阶段错误率上升的问题仍然存在挑战,并且目前尚未找到一个有效的方法或解决方案来解决这个问题。

4、作者提出解决方法:深度残差学习 ResNet
(具体方法后续阐述)
在这里插入图片描述

5、结论:

1.残差网络的结构更利于优化梯度收敛。
2.解决了退化问题。
3.残差网络可以在扩展网络深度的同时,提高网络性能。

3.Related Work- 相关工作

3.1. Residual Representations—残差表达

1、首先,作者提出了几个base:

1.对于向量量化,残差向量编码比原始向量编码更加有效。
2.Multigrid的残差特性使得求解器比其他标准求解器的收敛要快得多,表明了一个好的重新表达或者预处理能够简化优化问题。

关于第一句话的理解【对于向量量化,残差向量编码比原始向量编码更加有效】: 在原始向量编码中,我们直接将高维向量映射到低维空间中,以便进行存储或传输。这种编码方式可能会丢失一些信息,特别是对于高维数据中的细微差异或结构,而残差向量编码采用了更加巧妙的方法,它首先通过一个基准向量(比如平均值)来表示数据的大致形状或结构,然后将实际数据与基准向量之间的差异(残差)编码到低维空间中。这样做的好处是,在低维空间中,我们可以更有效地表示数据之间的差异,而不必担心丢失整体结构。
残差向量编码比原始向量编码更加有效
关于第二句话的理解【Multigrid的残差特性使得求解器比其他标准求解器的收敛要快得多】: Multigrid算法在处理残差方面的特性使得它比其他常见算法更快地找到问题的解,这也说明了在解决优化问题前,对问题进行有效的重新表达或预处理,可以显著简化问题的解决过程。

1."Multigrid"是一种求解数学问题的算法。
2."残差"是指计算结果与真实结果之间的差异。【这里指的应该是Multigrid算法对数据进行预处理】
3.Multigrid求解器比其他常见的求解器收敛得更快,也就是说,它能更快地找到问题的解。

3.2. Shortcut Connections—短路连接

作用:Shortcut-Connections短路连接是用来帮助信息在深层网络顺利传播的,本身不具备提取特征的作用。

1、首先介绍一下相关概念辅助理清流程:

1.Shortcut连接:在深度神经网络中,shortcut连接是一种将输入直接连接到输出的方式,绕过中间层。它帮助解决深层网络中的一些问题,比如梯度消失和梯度爆炸。

2.多层感知器(MLPs):这是最基本的神经网络类型,由多个层组成,每层都包含若干个神经元。每个神经元与下一层的所有神经元连接,并通过一个激活函数处理输入。(1.需要大量的计算资源和时间,因为它缺乏卷积和池化操作,无法压缩和提取数据的局部特征;2.MLPs是静态的,对时间序列或序列数据的处理能力有限。3.容易过拟合:如果你的训练数据量不足,MLPs可能会在训练集上表现很好,但在测试集上效果很差。)

3.Inception层:一种特殊的神经网络层设计,包含多个并行的子网络(分支),每个子网络处理不同的特征,然后将结果合并。这种设计能够有效地提取不同尺度的特征。

4.Highway网络(有点像LSTM):一种改进的深度神经网络结构,使用了门控机制来控制信息的流动。门控机制是数据相关的,并且具有额外的参数,可以选择性地允许信息通过或阻止信息。【每一层有一个“传输门”(transform gate)和一个“携带门”(carry gate),当门的值接近0时,表示信息不会通过该门,也就是说,网络会忽略这一层的输出。这就意味着HIghway网络这一层表示为非残差函数,信息不参与残差计算。】

5.恒等shortcut(Identity Shortcut):一种特殊的shortcut连接,它直接将输入传递到输出而不进行任何变换。【比如假设有一层使用恒等shortcut连接的网络,输入为 x,输出为 y,网络学习的是残差函数,即y= f(x)+x,其中 f(x)是这一层学习的调整,而我们的恒等shortcut连接确保了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/863129
推荐阅读