简单理解小批量梯度下降中模型参数的更新过程

如何理解小批量梯度下降中模型参数的更新过程

  • 如何更新每经历一次Batch后的参数
    • 使用小批量的平均损失来更新

如何更新每经历一次Batch后的参数

  在小批量随机梯度下降(mini-batch stochastic gradient descent)中,它先选取一组模型参数的初始值(如随机选取);接下来对参数进行多次迭代,使每次迭代都可能降低损失函数的值。

使用小批量的平均损失来更新

  在每次迭代中,先随机均匀采样一个由固定数目训练数据样本所组成的小批量(mini-batch) B B B,然后求小批量中数据样本的平均损失有关模型参数的导数(梯度),最后用此结果与预先设定的一个正数的乘积作为模型参数在本次迭代的减小量。

小批量中数据样本的平均损失 先对每一个小批量中样本的有关参数求偏导,再整体求和,
最后再整体除以该小批量的容量(batch size)

这里拿线性回归模型举例。在训练线性回归模型的过程中,模型的每个参数将作如下迭代:
简单理解小批量梯度下降中模型参数的更新过程_第1张图片
  在上式中, ∣ B ∣ |B| B 代表每个小批量中的样本个数(批量大小,batch size), η η η称作学习率(learning rate)并取正数。上式先对每一个小批量中样本的有关参数求偏导,再整体求和,最后再整体除以该小批量的容量(batch size)即可。
  这里的批量大小和学习率的值是人为设定的,并不是通过模型训练学出的,因此叫作超参数(hyperparameter)1

本文参考了以下内容
[1] 动手学深度学习 pytorch版

你可能感兴趣的:(知识汇总,人工智能,神经网络,算法,机器学习,深度学习)