Batch Normalization论文阅读笔记

标题: Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

随机梯度下降法(SGD)是训练深度网络的首选,利用momentum 和Adagrad等来达到最佳的性能。尽管随机梯度下降法对于训练深度网络简单高效,但是需要我们人为的去选择参数,比如学习速率、初始化参数、权重衰减系数、Dropout比例,等等。这些参数的选择对训练结果至关重要,以至于我们很多时间都浪费在这些的调参上。

神经网络学习过程本质就是为了学习数据分布,一旦训练数据与测试数据的分布不同,那么网络的泛化能力也大大降低。

输入层的数据,已经人为的的归一化,后面网络每一层的输入数据分布是一直在发生变化的,前面层训练参数的更新将导致后面层输入数据分布的变化,因此必然会引起后面每一层输入数据分布的改变。而且,网络的前面几层发生微小的改变,那么后面几层就会被累积放大下去。我们把网络中间层在训练过程中,数据分布的改变称之为:“Internal Covariate Shift”BN的提出,就是要解决在训练过程中,中间层数据分布发生改变的情况。

BN步骤:

  1. 求每一个小批量训练数据的均值;
  2. 求每一个小批量训练数据的方差;
  3. 使用求得的均值和方差对该批次的训练数据做归一化,获得0-1分布。其中ε 是为了避免除数为0时所使用的微小正数;
  4. 尺度变换和偏移:将xi乘以γ调整数值大小,再加上β 增加偏移后得到yi,这里的γ 是尺度因子,β是平移因子。这一步是BN的精髓,由于归一化后的xi 基本会被限制在正态分
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值