为什么机器学习需要优化?

模型究竟是如何学习的——从原始梯度下降到Adam

机器学习表面上是预测、分类、生成、推荐。但在底层,它反反复复做的是同一件数学动作:选一些数字,衡量它们有多糟糕,然后调整这些数字让糟糕程度变小。这就是优化。

这些数字就是模型的参数,通常被收集进一个巨大的向量 θ。糟糕程度的分数就是损失,记作 L(θ)。训练的意思是在参数空间里搜索一组设定,使这个损失变小。下面的简写正是这个意思:argmin 返回的是获胜的输入(也就是让损失最小的那个 θ),而不是获胜的分数;θ⋆ 上的星号标记它就是那个最佳设定。

一块温室灌溉控制面板可能有成千上万个微小的喷灌分区。每一个设定都会影响植物长得多健康,但你只有在浇完水之后才能看到最终的作物评分。神经网络与此类似:参数就是喷灌设定,损失就是你想要改善的作物评分,而优化就是同时调整众多设定的规则。

在机器学习中的应用这正是优化处于机器学习核心地位的原因。反向传播计算 ∇L;SGD、动量、RMSProp 和 Adam 决定如何使用它;调度控制步长的大小,正则化则重塑目标函数。一旦训练意味着最小化 L(θ),核心问题就变得简单:参数应该怎么移动?
▶ 为什么机器学习需要优化?
← 集中不等式(简述)学习率 →