2022年 11月 9日

Python深度学习:常见优化算法

Python深度学习:常见优化算法

1、梯度下降算法(BGD)

每次迭代把所有样本输入,顾及全局样本,做的是全局最优化。

2、随机梯度下降法(SGD)

torch.optim.SGD()
  • 1

随机抽取一组样本进行梯度更新。

3、小批量梯度下降(MBGD)

随机抽取一批样本进行梯度更新,使用均值更新参数。结合了前两种的优缺点。

4、动量法

对梯度进行平滑处理,防止振幅过大。

v = 0.8v + 0.2▽w	# ▽w表示前一次的梯度
w = w - αv			# α表示学习率
  • 1
  • 2

5、AdaGrad

自适应学习率

在这里插入图片描述

6、RMSProp

对学习率进行加权。

在这里插入图片描述

7、Adam

Adma=动量法+RMSProp。

学习率能够自适应,梯度振幅不会过大。

在这里插入图片描述

torch.optim.Adam()
  • 1