【问题标题】:Backpropagation Optimization: How do I use the derivatives for optimizing the weights and biases? [closed]反向传播优化:如何使用导数来优化权重和偏差? [关闭]
【发布时间】:2018-04-09 04:49:07
【问题描述】:

给定成本函数相对于神经网络神经元权重或偏差的导数,如何调整这些神经元以最小化成本函数? 我是否只是减去导数乘以个体权重和偏差的常数?如果涉及常量,我怎么知道选择什么是合理的?

【问题讨论】:

标签: neural-network backpropagation


【解决方案1】:

您对如何执行更新的权利。这就是梯度下降的各种形式。学习率(您所指的常数)通常非常小 1e-6 - 1e-8。网上有很多文章涵盖了这两个概念。

不过,为了获得直接答案,最好从较小的学习率开始(按照上面建议的顺序),并检查损失是否正在减少(通过绘图)。如果损失减少,您可以稍微提高学习率。我建议将其提高 3 倍当前值。例如,如果它是 1e-6,则将其提高到 3e-6,并再次检查您的损失是否仍在减少。继续这样做,直到损失不再减少。这张图片应该对学习率如何影响损失曲线给出一些很好的直觉(图片来自Stanford's cs231n lecture series

您希望提高学习率,以便模型不需要很长时间来训练。您不希望将学习率提高太多,因为这样可能会超过您下降的局部最小值并导致损失增加(上面的黄色曲线)。这是一种过度简化,因为神经网络的损失情况非常非凸,但这是一般的直觉。

【讨论】:

    猜你喜欢
    • 2021-02-11
    • 2017-12-14
    • 2020-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    相关资源
    最近更新 更多