《动手学深度学习Pytorch版》Task7-优化算法进阶;word2vec;词嵌入进阶

优化算法进阶

ill-conditioned

海森矩阵(Hessian Matrix)是一个多元函数的二阶偏导数构成的方阵,当海森矩阵的特征值中 最大最小的比值很大时,就称之为ill-conditioned。梯度下降时,这种情况会使得不同参数收敛速度差异很大,不容易收敛。
《动手学深度学习Pytorch版》Task7-优化算法进阶;word2vec;词嵌入进阶_第1张图片
下图就是 f ( x ) = 0.1 x 1 2 + 2 x 2 2 f(x)=0.1x_1^2+2x_2^2 f(x)=0.1x12+2x22的梯度下降更新轨迹。可以看到,由于x2二阶导的绝对值比较大,所以该方向上震荡的更厉害。
考虑减少x2方向的震荡 -> ❎考虑调整学习率 -> x1方向将收敛变得的很慢
《动手学深度学习Pytorch版》Task7-优化算法进阶;word2vec;词嵌入进阶_第2张图片
Solution to ill-condition

  • 预先修改梯度向量
    添加参数来控制梯度更新的大小程度,从而修正ill-conditioned。该方法应用于 Adam, RMSProp, AdaGrad, Adelta, KFC, Natural gradient 和一些其他的二阶优化算法

  • 移动历史平均
    这类方法允许使用更大的学习率,用于Adam, RMSProp, SGD momentum

  • momemtum
    《动手学深度学习Pytorch版》Task7-优化算法进阶;word2vec;词嵌入进阶_第3张图片
    momentum使用了移动历史平均,我们可以近似的认为,梯度下降时利用了最近 1 1 − β \frac{1}{1-\beta} 1β1个时间步的梯度的指数加权平均来做更新,时间最近权重越大。

  • AdaGrad
    《动手学深度学习Pytorch版》Task7-优化算法进阶;word2vec;词嵌入进阶_第4张图片
    AdaGrad的缺点:当学习率在迭代早期降得较快且当前解依然不佳时,AdaGrad算法在迭代后期由于学习率过小,可能较难找到一个有用的解。

  • RMSProp
    基于AdaGrad做了修改
    《动手学深度学习Pytorch版》Task7-优化算法进阶;word2vec;词嵌入进阶_第5张图片

  • AdaDelta
    《动手学深度学习Pytorch版》Task7-优化算法进阶;word2vec;词嵌入进阶_第6张图片
    有意思的是,AdaDelta算法没有学习率这一超参数。

  • Adam
    《动手学深度学习Pytorch版》Task7-优化算法进阶;word2vec;词嵌入进阶_第7张图片
    Adam = momentum + RMSProp + 偏差修正

Word2Vec

Skim-Gram
CBOW

负采样(negative sampling)
层序softmax(hiererarchical softmax)

词嵌入进阶(GloVe)

后续补上

你可能感兴趣的:(《动手学深度学习Pytorch版》Task7-优化算法进阶;word2vec;词嵌入进阶)