残差网络解决了批量标准化无法解决的哪些问题?

机器算法验证 机器学习 神经网络 深度学习
2022-04-08 11:33:14

我试图了解残差网络的贡献与批量标准化有何不同。我已经阅读了这两篇论文,但我仍然不清楚。

据我所知,批量标准化基本上解决了梯度消失和爆炸的问题。然而,对我来说,直觉上似乎原则上这主要是由网络深度引起的。那么,为什么批量归一化不能训练像残差网络一样深的网络呢?Batch norm 没有的 ResNets 有什么特别之处?

ResNets 和 batch norm 的贡献有何不同?是否跳过连接可以更好地学习身份,从而可以训练很多深度网络?ResNets 没有批量规范就不能工作,这意味着 ResNets 根本不能解决消失/爆炸梯度问题吗?

贡献有何不同?

3个回答

Xaq Pitkow 的 A. Emin Orhan 的“跳过连接消除奇点”提供了一个解释:残差连接改善了神经网络中的奇点。

跳跃连接使训练非常深的网络成为可能,并已成为各种神经架构中不可或缺的组成部分。对于他们的成功,一个完全令人满意的解释仍然难以捉摸。在这里,我们对跳过连接在训练非常深的网络中的好处提出了一个新颖的解释。训练深度网络的困难部分是由于模型的不可识别性导致的奇异性。在以前的工作中已经确定了几个这样的奇点:(i)由给定层中节点的排列对称性引起的重叠奇点,(ii)对应于节点的消除(即一致停用)的消除奇点,(iii)由节点的线性相关性。这些奇点会导致损失环境中的退化流形,从而减慢学习速度。我们认为,跳跃连接通过破坏节点的排列对称性、减少节点消除的可能性和降低节点的线性相关性来消除这些奇点。此外,对于典型的初始化,跳过连接将网络从这些奇点的“幽灵”中移开,并雕刻它们周围的景观以缓解学习速度减慢。这些假设得到了简化模型的证据以及在真实世界数据集上训练的深度网络实验的支持。此外,对于典型的初始化,跳过连接将网络从这些奇点的“幽灵”中移开,并雕刻它们周围的景观以缓解学习速度减慢。这些假设得到了简化模型的证据以及在真实世界数据集上训练的深度网络实验的支持。此外,对于典型的初始化,跳过连接将网络从这些奇点的“幽灵”中移开,并雕刻它们周围的景观以缓解学习速度减慢。这些假设得到了简化模型的证据以及在真实世界数据集上训练的深度网络实验的支持。

我不知道可以实现此目的的层或批量标准化策略。

批量标准化可以缓解以下问题:

  • 如何在不“破坏”网络的情况下使用大的学习率,例如意外杀死所有 ReLU,将前面的层推向一个方向,使其输出始终为负,因此没有梯度流动
  • 当您可以简单地学习两个单个标量来处理这个问题时,避免必须将所有权重在一个方向上移动一个常数,或乘以一个常数大小

然而,梯度消失通常被认为在很大程度上是由于通过非线性“激活”函数(例如 sigmoid 或 tanh)引起的。使用 ReLU 在很大程度上缓解了这个问题,这是 ReLU 广泛使用的很大一部分原因,但并不能完全解决消失的梯度。

使用残差网络提供了一个“总线”,所有梯度都可以直接向下流动,尽管附加的残差块会对其进行一些修改。

我在通过 ResNet 跳过连接的梯度反向传播中放置了一个图表,说明我如何看到残差网络在另一个答案中工作,以解决类似的问题

在此处输入图像描述

我认为深层网络在一段时间内忘记输入数据的主要原因,因此它们的行为取决于之前的层。它和坏掉的手机一样。Resid 连接在几层上添加了一些跳跃,这可以更好地理解正在发生的事情。