考虑一个简单的一维函数使用梯度上升法找到最大值。
如果我们从x
-axis 上的第 3 点开始:
这意味着我们应该移动的方向是.
梯度上升给出更新规则:x = old_x + learning_rate * gradient
我不明白为什么我们需要将 alearing_rate
与相乘gradient
。为什么我们不能只使用x = old_x + learning_rate * sign(gradient)
.
因为如果我们 learning_rate
朝着积极的方向迈出一步,那已经是x
我们可以做出的最大转变了。
我知道在这个等式中找到最大方向的原因:
但我无法理解为什么仅仅接受梯度(正负)的符号不足以上升。