1、learning rate學習率
梯度下降:梯度是沿着負梯度方向進行更新的,學習率控制更新的步伐;
2、momentum動量
Momentum(動量,衝量):結合當前梯度與上一次更新信息,用於當前更新;
學習動量法之前,先來學習指數加權平均:Pytorch中的梯度更新公式爲:公式中的爲第i+1次更新的參數,爲學習率,爲更新量,爲momentum係數,爲的梯度。
3、torch.optim.SGD
主要參數:
- params:管理的參數組,參數組是一個list,list中的每一個元素是一個dict;
- lr:學習率;
- momentum:動量係數,貝塔;
- weight_decay:L2正則化係數;
- nesterov:布爾變量,是否採用NAG梯度下降方法,默認爲False;
optim.SGD(params,lr=<object object>,momentum=0,dampening=0,weight_decay=0,nesterov=False)
4、Pytorh的十種優化器
- optim.SGD:隨機梯度下降法;
- optim.Adagrad:自適應學習率梯度下降法;
- optim.RMSprop:Adagrad的改進
- optim.Adadelta:Adagrad的改進;
- optim.Adam:RMSprop結合Momentum;
- optim.Adamax:Adam增加學習率上限;
- optim.SparseAdam:稀疏版的Adam;
- optim.ASGD:隨機平均梯度下降;
- optim.Rprop:彈性反向傳播;
10.optim.LBFGS :BFGS的改進;