欢迎光临散文网 会员登陆 & 注册

【 深度学习李宏毅 】 Batch Normalization (中文)

2023-07-26 12:06 作者:月芜SA  | 我要投稿

纯理论讲解Batch Normalization

首先介绍Feature Scaling:

为了使模型中每个参数得到充分的学习,需要将输入数据的各个维度的数值大小控制在相近的范围内,防止数值过大的维度对应的参数对学习结果的影响过大。

例如,输入了R个data,对每个dimension上求均值和标准差,对同一纬度上的数据作统一处理


在DL领域,每个训练层的输出都相当于下一层的输入,所以每一层都需要进行Feature Scaling


Internal Covariate Shift:在网络底层参数发生变化时,会引起后续参数的连锁变化。进而使得每一层输出数据的平均值和标准差一直在变,导致训练收敛困难。

解决办法:Batch Normalization

Batch知识点回顾:




可引入参数γ与β,对输出数据的特征作进一步处理(γ与β可被训练)


在testing环节,由于测试集参数不参与训练,网络无法得知测试集数据的平均值和标准差,BN将会失效(回顾前面,BN的前提是知道整个数据集中某个维度的平均值和标准差)

但当数据集十分庞大或者只能一个个地输入时,计算整个数据集的平均值和标准差将会十分困难。

所以实际上会取输入数据的动态平均值,同时由于越接近训练后期求出的数据平均值和标准差越精确,所以往往会在训练后期使用更大的参数w。











【 深度学习李宏毅 】 Batch Normalization (中文)的评论 (共 条)

分享到微博请遵守国家法律