区分几个概念
- epoch:把全部样本进行了一轮训练
- batchsize:每次训练时用的样本数量,每一个batch,loss和梯度都计算一次并将权重更新一次
对比几种梯度下降
随机梯度下降(stochastic gradient descent):就是每读取一个数据就计算损失函数更新梯度,缺点是由于单个数据差异大,导致训练波动大,收敛性不太好,且每次计算一个样本,并行性差,优化时时间过长,优点是由于具有一定的随机性,可以克服参数优化更新过程中遇到的 “鞍点”。
批梯度下降(batch gradient descent):每遍历完一个batch(这种情况是所有数据为一个batch,即需要遍历整个数据集)后计算loss然后更新梯度,优点是能够最大化地利用向量计算的优势,提升计算速度。
小批量梯度下降(mini-batch gradient descent):用于均衡上述两种方式,吸收二者在性能和训练时间上的优点,随机选取数据中一定量的数据进行训练,然后计算损失函数更新梯度,这样既不会有更与复杂的计算量,又不会训练过于缓慢。也就是平时所用的,epoch=100,batchsize=20,则将整个数据集遍历一次的过程中参数更新5次。