梯度下降 - 在损失函数中计算了多少个值?
数据挖掘
损失函数
2022-03-14 17:40:10
1个回答
梯度下降基于来源:您的数据和您的损失函数。
在监督学习中,在每个训练步骤中,将网络的预测与实际的真实结果进行比较。损失函数的值是计算出来的,它告诉你的模型“它有多错”。此时,网络的权重必须相应更新。
为了做到这一点,基于衍生品链式法则的公式追溯计算每个权重对最终损失值的贡献。然后根据它们对损失函数的影响来更改每个权重的值(从数学上讲,它是每个权重的一阶偏导数)。这个过程称为反向传播,因为它在逻辑上从网络的底部开始,并向后计算到输入层。
这个过程必须为网络的每个可学习权重完成。参数数量越多,在每次训练迭代中为权重更新计算的偏导数就越高。当所有权重都更新后,梯度的位置(希望)会更接近损失函数的全局最小值。
提出您的疑问:损失函数值的网格搜索是您只能在理论上做的事情,而不是在实践中。即使是功能最强大的计算机,也可能需要很长时间才能做到这一点。目前,梯度下降算法是训练神经网络的主要工具。据我所知,蒙特卡洛和遗传算法等其他方法是可行的,但不实用,因此不是最先进的。
我建议你写两篇很棒的文章来了解梯度下降和反向传播是如何工作的:这篇是 Andrej Karpathy 的一篇,这篇是 Colah 的一篇。
其它你可能感兴趣的问题

