残差网络在图像领域已然成为了一种主流模型,虽然这种网络范式的提出是为了解决网络退化问题,但是关于其作用的机制,还是多有争议。目前存在几种可能的解释,下面分别列举2016年的两篇文献和2018年的一篇文献中的内容。3.1 从前后向信息传播的角度来看何恺明等人从前后向信息传播的角度给出了残差网路的一种解释[3]。考虑式 这样的残差块组成的前馈神经网络,为了讨论简便,暂且假设残差块不使用任何激活函数,即考虑任意两个层数 ,递归地展开 ,可以得到根据式 ,在前向传播时,输入信号可以从任意低层直接传播到高层。由于包含了一个天然的恒等映射,一定程度上可以解决网络退化问题。这样,最终的损失 对某低层输出的梯度可以展开为或展开写为根据式 ,损失对某低层输出的梯度,被分解为了两项,前一项 表明,反向传播时,错误信号可以不经过任何中间权重矩阵变换直接传播到低层,一定程度上可以缓解梯度弥散问题(即便中间层矩阵权重很小,梯度也基本不会消失)。综上,可以认为残差连接使得信息前后向传播更加顺畅。* 加入了激活函数的情况的讨论(实验论证)请参见[3]。3.2 集成学习的角度Andreas Veit等人提出了一种不同的视角[2]。他们将残差网络展开,以一个三层的ResNet为例,将得到下面的树形结构:使用图来表示就是这样,残差网络就可以被看作是一系列路径集合组装而成的一个集成模型,其中不同的路径包含了不同的网络层子集。Andreas Veit等人展开了几组实验(Lesion study),在测试时,删去残差网络的部分网络层(即丢弃一部分路径)、或交换某些网络模块的顺序(改变网络的结构,丢弃一部分路径的同时引入新路径)。实验结果表明,网络的表现与正确网络路径数平滑相关(在路径变化时,网络表现没有剧烈变化),这表明残差网络展开后的路径具有一定的独立性和冗余性,使得残差网络表现得像一个集成模型(ensemble)。作者还通过实验表明,残差网络中主要在训练中贡献了梯度的是那些相对较短的路径,从这个意味上来说,残差网络并不是通过保留整个网络深度上的梯度流动来抑制梯度弥散问题,一定程度上反驳了何恺明等[3]中的观点。但是,我觉得这个实验结果与何凯明等的结论并不矛盾,因为这些较短的梯度路径正是由残差结构引入的。* 可以类比集成学习的网络架构方法不仅有残差网络,Dropout机制也可以被认为是隐式地训练了一个组合的模型。3.3 梯度破碎问题2018年的一篇论文,The Shattered Gradients Problem: If resnets are the answer, then what is the question?[4],指出了一个新的观点,尽管残差网络提出是为了解决梯度弥散和网络退化的问题,它解决的实际上是梯度破碎问题(the shattering gradient problem):
Copyright Disclaimer: The copyright of contents (including texts, images, videos and audios) posted above belong to the User who shared or the third-party website which the User shared from. If you found your copyright have been infringed, please send a DMCA takedown notice to [email protected]. For more detail of the source, please click on the button "Read Original Post" below. For other communications, please send to [email protected].