Python深度学习:常见优化算法
1、梯度下降算法(BGD)
每次迭代把所有样本输入,顾及全局样本,做的是全局最优化。
2、随机梯度下降法(SGD)
torch.optim.SGD()
随机抽取一组样本进行梯度更新。
3、小批量梯度下降(MBGD)
随机抽取一批样本进行梯度更新,使用均值更新参数。结合了前两种的优缺点。
4、动量法
对梯度进行平滑处理,防止振幅过大。
v = 0.8v + 0.2▽w # ▽w表示前一次的梯度
w = w - αv # α表示学习率
5、AdaGrad
自适应学习率
6、RMSProp
对学习率进行加权。
7、Adam
Adma=动量法+RMSProp。
学习率能够自适应,梯度振幅不会过大。
torch.optim.Adam()