深度学习(DL)基本概念

深度学习中的batchsize、epochs、learning rate、momentum、iteration/step几个术语,这里整理一下,

1.batchsize:批大小,每次训练给神经网络喂入的数据量大小(当然也可以一次将所有样本丢给神经网络)。但是要注意,batchsize并不是越大越好。更大的批量会计算更精确的梯度估计,但是回报却是小于线性的。同样,极小批量通常难以充分利用多核架构。
这里写图片描述
2.iteration/step:迭代(步),从总样本中每次拿batchsize数据量喂入神经网络,需要step次喂完毕。举个例子,总样本Total Sample=5000个,batchsize=100个,则 s t e p = t o t a l   s a m p l e b a t c h s i z e = 50

3.epochs:轮数,指总样本被训练的次数,即将所有样本全部训练一次为一个epoch。注意,每次epoch之后,需要对总样本shuffle,再进入下一轮训练。
这里写图片描述
4.learning rate:学习率 ϵ (0,1),是一个确定步长大小的正标量(一般设置的很小,如0.001),表示沿着梯度的方向一步迈多大。
这里写图片描述
5.momentum:动量,随机梯度下降(SGD)学习过程有时会很慢。比如在穿越山谷时,使用SGD则会在山谷壁来回的摆动(如下图)。动量算法积累了之前梯度指数级衰减的移动平均,并且继续沿该方向移动。 v 表示动量,超参数 α [0,1) 决定了之前梯度的贡献衰减得有多快。

这里写图片描述

References:
[1] 怎么选取训练神经网络时的Batch size?
[2] 梯度下降优化算法综述
[3] Ian, Goodfellow, Yoshua, Bengio. 深度学习[M]. 北京:人民邮电出版社, 2017.


©qingdujun
2018-6-10 于 北京 怀柔

猜你喜欢

转载自blog.csdn.net/u012339743/article/details/80638500