Internal Covariate Shift与Normalization

本文介绍了内部协变量偏移(Internal Covariate Shift, ICS)在深度学习中的影响,以及如何通过归一化技术如批归一化、层归一化、权重归一化和余弦归一化来缓解这一问题,加速网络训练的收敛。这些方法通过调整输入数据的分布,减少梯度消失,提高模型的训练效率。" 132266050,19687573,Java实现:两个栈模拟队列算法,"['算法', 'Java', '数据结构']
摘要由CSDN通过智能技术生成

引言

Batch norm在深度学习中已经是一个常用且有效的方法,用来加速网络收敛及防止梯度消失等神经网络常见的问题,那么batch norm为什么有效呢?
从源头出发,神经网络难以训练的原因是什么?

Internal Covariate Shift

深度神经网络涉及到很多层的叠加,而每一层的参数更新会导致上层的输入数据分布发生变化,通过层层叠加,高层的输入分布变化会非常剧烈,这就使得高层需要不断去重新适应底层的参数更新。为了训好模型,我们需要非常谨慎地去设定学习率、初始化权重、以及尽可能细致的参数更新策略。
Google 将这一现象总结为 Internal Covariate Shift,简称 ICS.

所以ICS是什么呢?将每一层的输入作为一个分布看待,由于底层的参数随着训练更新,导致相同的输入分布得到的输出分布改变了。
而机器学习中有个很重要的假设:IID独立同分布假设,就是假设训练数据和测试数据是满足相同分布的,这是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障。
那么,细化到神经网络的每一层间,每轮训练时分布都是不一致,那么相对的训练效果就得不到保障,所以称为层间的covariate shift。

大家都知道在统计机器学习中的一个经典假设是“源空间(source domain)和目标空间(target
domain)的数据分布(distribution)是一致的”。如果不一致,那么就出现了新的机器学习问题,如 transfer
learning / domain adaptation 等。而 covariate shift
就是分布不一致假设之下的一个分支问题,它是指源空间和目标空间的条件概率是一致的,但是其边缘概率不同,即:对所有 x ∈ X x∈X xX,有:
P s ( Y ∣ x = X ) = P t ( Y ∣ x = X ) P_s(Y|x=X)=P_t(Y|x=X) Ps(Yx=X)=Pt(Yx=X)
但是,
P s ( X ) ≠ P t ( X ) P_s(X)≠P_t(X) Ps(X)

  • 67
    点赞
  • 181
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值