鉴于成本函数相对于神经网络神经元的权重或偏差的导数,如何调整这些神经元以最小化成本函数? 我只是减去导数乘以个体重量和偏差的常数吗?如果涉及常数,我怎么知道什么是合理的选择?
答案 0 :(得分:1)
您有关如何执行更新的权利。这是以各种形式的梯度下降所做的事情。学习率(你所指的常数)通常非常小1e-6-1e-8。网上有许多文章涵盖了这两个概念。
为了直接回答,最好以较小的学习率(按照上面建议的顺序)开始,并检查损失是否在减少(通过绘图)。如果损失减少,您可以稍微提高学习率。我建议将它的当前值提高3倍。例如,如果是1e-6,则将其提高到3e-6并再次检查您的损失是否仍然在减少。继续这样做,直到损失不再减少。这个图像应该对学习率如何影响损失曲线有一些很好的直觉(图像来自Stanford's cs231n lecture series)
您希望提高学习率,以便模型不需要花费很长时间来训练。你不想过多地提高学习率,因为这样就有可能超过你正在下降的局部最小值和增加的损失(上面的黄色曲线)。这是一个过于简单化,因为神经网络的损失景观是非凸的,但这是一般的直觉。