Batch size对模型训练的影响

在模型训练时设置batchsize,实际上是用Batch size大小的数据集上计算得到的梯度近似整个数据集(真实分布)上的真实梯度。

batch小将会引入噪声(噪声影响大)

batch大,则噪声小,对真实梯度的拟合更好,、下降方向更准,同时跑完一次训练集的时间更短。但是注意当梯度足够精确时,没必要使批处理更大而浪费算力。一次整个训练集的时间变短,要想获得相同的精度,需要花费更多的时间,因而参数的修正显得更缓慢。

g r a d = g r a d ∗ + g r a d n grad = grad^{*} + grad_n grad=grad+gradn

g r a d B = 1 B ∑ b = 1 B g r a d ( b ) = 1 B ∑ b = 1 B ( g r a d ∗ ( b ) + g r a d n ( b ) ) = 1 B ∑ b = 1 B g r a d ∗ ( b ) + 1 B ∑ b = 1 B g r a d n ( b ) = g r a d ∗ + m e a n ( g r a d n ) grad_B = \frac{1}{B} \sum_{b=1}^{B} grad^{(b)}\\=\frac{1}{B} \sum_{b=1}^{B}\left( grad^{*(b)} + grad_n^{(b)}\right)\\= \frac{1}{B} \sum_{b=1}^{B} grad^{*(b)} + \frac{1}{B} \sum_{b=1}^{B} grad_n^{(b)} \\= grad^* + mean(grad_n) gradB=B1b=1Bgrad(b)=B1b=1B(grad(b)+gradn(b))=B1b=1Bgrad(b)+B1b=1Bgradn(b)=grad+mean(gradn)


B 1 > > B 2 B_1>> B_2 B1>>B2

r a t i o ( g r a d B 1 → g r a d ∗ ) > r a t i o ( g r a d B 2 → g r a d ∗ ) ratio(grad_{B_1} \rightarrow grad^*) > ratio(grad_{B_2} \rightarrow grad^*) ratio(gradB1grad)>ratio(gradB2grad)

不仅batch size影响梯度值,lr也会影响梯度值。

batch size与lr的一致性

线性缩放准则,batch size N倍,lr变为N倍。

权重方差不变准则,batch size N倍,lr变为sqrt(N).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值