深度学习_深度学习基础知识_Internal Covariate Shift

深度神经网络模型的训练为什么会很困难?其中一个重要的原因是深度神经网络涉及到很多层的叠加,而每一层的参数更新导致上层的输入数据分布发生变化,通过层层叠加,高层的输入分布变化会非常剧烈,这就使得高层需要不断去重新适应底层的参数更新。为了训练好模型,我们需要非常谨慎地去设定学习率、初始化权重以及尽可能细致的参数更新策略。

Google将这一现象总结为Internal Covariate Shift,简称ICS。

我们知道在统计机器学习中的一个经典假设是“源空间(source domain)和目标空间(target domain)的数据分布(distribution)是一致的”。如果不一致,那么就会出现新的机器学习问题,如transfer learning和domain adaptation等。而Covariate Shift就是分布不一致假设之下的一个分支问题,它是指源空间和目标空间的条件概率是一致的,但是其边缘概率不同。

对于神经网络的各层输出,由于它们经过了层内操作作用,其分布显然与各层对应的输入信号分布不同,而且差异会随着网络深度增大而增大,可是它们所能“指示”的样本标记(label)仍然是不变的,这便符合了Covariate Shift的定义。由于是对层间信号的分析,所以这就是“Internal”的由来。

ICS导致的问题:

首先使得每个神经元的输入数据不再是“独立同分布”。

  1. 上层参数需要不断适应新的输入数据分布,降低学习速率。
  2. 下层输入的变化可能趋向于变大或者变小,导致上层落入饱和区,使得学习过早停止。
  3. 每层的参数更新都会影响到其他层,因此每层的参数更新策略需要尽可能的谨慎。
发布了95 篇原创文章 · 获赞 37 · 访问量 3422

猜你喜欢

转载自blog.csdn.net/Rocky6688/article/details/103797650