“让Keras更酷一些!”:分层的学习率和自由的梯度( 三 )

本文就来为上述问题给出尽可能简单的解决方案 。

对于分层设置学习率这个事情 , 重写优化器当然是可行的 , 但是太麻烦 。 如果要寻求更简单的方案 , 我们需要一些数学知识来指导我们怎么进行 。

参数变换下的优化

首先我们考虑梯度下降的更新公式:

\n\t

其中 L 是带参数 θ 的 loss 函数 , α 是学习率 , 是梯度 , 有时候我们也写成 。 记号是很随意的 , 关键是理解它的含义 。

\n\t

\n\t

然后我们考虑变换 θ=λ? , 其中 λ 是一个固定的标量 , ? 也是参数 。 现在我们来优化 ? , 相应的更新公式为:

\n\t

其中第二个等号其实就是链式法则 。 现在我们在两边乘上 λ , 得到:

推荐阅读