《动手学深度学习Pytorch版》Task7-优化算法进阶;word2vec;词嵌入进阶
优化算法进阶
ill-conditioned
海森矩阵(Hessian Matrix)是一个多元函数的二阶偏导数构成的方阵,当海森矩阵的特征值中 最大最小的比值很大时,就称之为ill-conditioned。梯度下降时,这种情况会使得不同参数收敛速度差异很大,不容易收敛。
下图就是的梯度下降更新轨迹。可以看到,由于x2二阶导的绝对值比较大,所以该方向上震荡的更厉害。
考虑减少x2方向的震荡 -> ❎考虑调整学习率 -> x1方向将收敛变得的很慢
Solution to ill-condition
-
预先修改梯度向量
添加参数来控制梯度更新的大小程度,从而修正ill-conditioned。该方法应用于 Adam, RMSProp, AdaGrad, Adelta, KFC, Natural gradient 和一些其他的二阶优化算法 -
移动历史平均
这类方法允许使用更大的学习率,用于Adam, RMSProp, SGD momentum -
momemtum
momentum使用了移动历史平均,我们可以近似的认为,梯度下降时利用了最近个时间步的梯度的指数加权平均来做更新,时间最近权重越大。 -
AdaGrad
AdaGrad的缺点:当学习率在迭代早期降得较快且当前解依然不佳时,AdaGrad算法在迭代后期由于学习率过小,可能较难找到一个有用的解。 -
RMSProp
基于AdaGrad做了修改 -
AdaDelta
有意思的是,AdaDelta算法没有学习率这一超参数。 -
Adam
Adam = momentum + RMSProp + 偏差修正
Word2Vec
Skim-Gram
CBOW
负采样(negative sampling)
层序softmax(hiererarchical softmax)
词嵌入进阶(GloVe)
后续补上