几十年来,机器学习不断前进,用学习的系统取代了人类手工制作的系统。我们从为图像识别手动设计特征,发展到让神经网络从数据中自动发现特征;从基于规则的语言系统,转向能够隐式学习语法和语义的大规模语言模型。这场革命带来了颠覆性的变革。

然而,在深度学习管线中,有一个环节依然顽固地依赖人工设计: 优化器。

像随机梯度下降 (SGD) 、Adam 和 RMSprop 这样的算法,通过指导模型如何更新参数以最小化误差,为现代深度学习提供了动力。这些方法设计精巧——但它们依旧是人类依靠数学洞察与大量试错手工设计的成果。

如果优化本身也可以被学习呢?这就是谷歌 DeepMind 在 2016 年论文 《通过梯度下降学习如何学习》 中提出的发人深省的命题。作者们指出,优化算法的设计可以被视为一个学习问题——让神经网络学会如何优化其他神经网络。

在本文中,我们将拆解这个理念。我们将探讨一个基于 LSTM 的优化器是如何工作的、如何被训练的,以及它在从简单的凸函数到图像生成等多种任务中的表现。与此同时,我们将看到元学习 (meta-learning) ——即学习如何学习——如何重新定义“优化器”的含义。


手工设计的优化世界

训练任何机器学习模型,实质上都是一个优化问题。我们定义一个目标函数 \(f(\theta)\),也叫做损失函数,用来衡量带参数 \(\theta\) 的模型表现好坏。我们的目标是找到使该损失最小化的参数集 \(\theta^*\)。

标准方法是梯度下降 。 在每一步中,我们计算损失的梯度 \(\nabla f(\theta_t)\),它指示最陡峭的上升方向,然后沿着相反方向迈出一小步:

经典的梯度下降更新规则。

梯度下降的基本参数更新规则。学习率 \(\alpha_t\) 控制步长大小。

尽管简单而优雅,基本的梯度下降速度较慢——它忽略了曲率以及优化过程中的历史信息。多年来,研究者们发展出更智能的方法:

  • 动量法 (Momentum) : 将上一轮更新的一部分加入当前更新中,加快收敛速度。
  • Adagrad: 基于过去的更新自动为每个参数调整学习率。
  • RMSprop 和 Adam: 跟踪过去梯度的指数衰减平均值,从而在训练过程中稳定步长。

这些算法在各种任务中表现出色。然而,“没有免费午餐”定理提醒我们,没有任何优化器在所有问题上都是最优的——每种优化器只在某类问题上效果最佳。这种特化引出了一个激动人心的问题: 是否可以创造出能够自动适应某一问题族的优化器,让它通过经验而非人工设计进行调优?


学习如何学习: 核心思想

DeepMind 的研究人员提出,不再手动设计更新公式,而是学习更新规则本身。

他们引入了一个优化器网络,记作 \(g\),它将目标函数 \(f\) 的梯度作为输入,并输出参数更新。优化器的参数 \(\phi\) 通过学习得到,使得在众多任务上,其产生的优化轨迹在平均意义下更优秀。

学习到的优化器更新规则。

学习到的更新规则用神经网络生成的提议取代了固定公式 \(\theta_{t+1} = \theta_t - \alpha \nabla f(\theta_t)\)。

这个双层学习循环——一个优化器学习如何更新另一个网络——如下图所示。

图1: 优化器 (左) 获取被优化对象 (右) 的性能,并提出更新建议以提升其表现。

图1: 优化器网络 (左) 接收来自被优化对象 (右) 的梯度,并学习生成更优的更新步骤。

优化器的训练目标是寻找参数 \(\phi\),以最小化在问题分布上的期望最终损失:

用于训练优化器的元目标函数。

元目标: 学习优化器参数 \(\phi\),以最小化在任务分布上的期望损失 \(\mathbb{E}_f[f(\theta^*(f, \phi))]\)。

这种思路将“设计优化器”的过程转化为另一个机器学习问题——一个更高抽象层面的学习任务。


如何训练一个优化器

要使这一过程可行,整个系统必须是可微的。作者将优化器 \(g\) 建模为一个长短期记忆网络 (LSTM) ——一种擅长处理序列的循环神经网络。优化过程本质上是序列性的,每一步更新都依赖于前一步。LSTM 的隐藏状态 \(h_t\) 使优化器能记住梯度历史并进行动态调整。

训练优化器的参数 \(\phi\) 时,使用一个对整个优化轨迹 \(T\) 步求和的元损失:

在整个轨迹上训练优化器的完整损失函数。

训练目标将每一步被优化对象的损失相加,为反向传播提供了丰富的信号。

每次迭代会计算梯度 \(\nabla_t = \nabla f(\theta_t)\),然后输入 LSTM,得到更新步 \(g_t\) 和新的隐藏状态 \(h_{t+1}\)。整个优化过程被展开为一个计算图:

图2: 用于计算优化器梯度的计算图。我们沿着实线进行反向传播,而忽略虚线。

图2: 梯度沿实线连接传播;虚线连接被忽略,以避免计算昂贵的二阶导数。

为使计算可控,作者忽略了需要二阶导数的连接,从而在保持高保真度的同时保证训练可行。


可扩展架构: 坐标级 LSTM

一个挑战出现了: 类似 CNN 的网络可能拥有数百万个参数。让一个全连接 LSTM 同时处理所有梯度是不可能的。

解决方案是坐标级 LSTM 优化器 , 即将一个小型 LSTM 独立地作用于每个参数 (或坐标) 。所有 LSTM 共享全局权重 \(\phi\),但每个实例都维护自己的局部隐藏状态,以记录每个参数的更新历史。

图3: 坐标级 LSTM 优化器的一步。一个带共享权重的小型 LSTM 被独立应用于每个参数,每个应用都有独立的隐藏状态。

图3: 一种紧凑架构,将相同的 LSTM 规则应用于所有参数,从而实现大规模优化。

这种做法使优化器高效且对参数顺序不敏感——这是对 Adam 和 RMSprop 思想的优雅扩展。


将学习到的优化器付诸实践

为验证该概念,DeepMind 训练了一个两层的 LSTM 优化器,每层含 20 个隐藏单元,并与标准优化方法进行了对比: SGD、RMSprop、Adam 和 Nesterov 加速梯度 (NAG) 。


测试 1: 简单的二次函数

首先,他们在一组合成的 10 维二次函数上训练 LSTM 优化器,如下所示:

第一个实验中使用的二次目标函数。

二次函数是用于测试优化行为的简单凸函数平台。

随后,将该优化器测试在未见过的二次函数上——结果不言而喻。

图4: 性能比较。学习到的 LSTM 优化器 (橙色实线) 与手工设计的优化器 (虚线) 进行对比。

图4: 在二次任务上,学习到的 LSTM 优化器远超手工设计的基线方法。

LSTM 优化器迅速下降到极低损失,其表现远远优于传统优化器。


测试 2: 在 MNIST 上训练神经网络

接下来,该学习优化器在更真实的场景中进行了测试——在 MNIST 数据集上训练一个带有 20 隐藏单元的多层感知机 (MLP) 。

图4 (续) : 中间和右侧面板展示了优化进程和更长时间运行的结果。

中间面板: LSTM 优化器在训练期间产生更低的损失;右侧面板: 在延长运行中仍保持良好表现。

它不仅在训练任务上表现更佳,并且在超出训练环境的评估中,展现出令人印象深刻的泛化能力。

泛化测试

  • 更长训练时间: 运行步数为训练时两倍时,LSTM 依然持续改善,没有出现过拟合迹象。
  • 新的网络架构: 当测试网络与训练架构不同——更宽、更深或使用不同激活函数时,结果有所差异。

图5: 测试 LSTM 优化器在不同网络架构下的泛化性。它在更宽和更深的网络上表现良好,但在改变激活函数时失效。

图5: 优化器在宽度和深度变化上泛化良好,但在非 sigmoid 激活函数下表现不佳。

优化器在相似架构上泛化良好,但当激活函数从 sigmoid 改为 ReLU 时,其学习动态崩溃。更系统的分析如下:

图6: 对泛化能力的系统性研究。仅在 20 单元上训练的 LSTM 优化器,随着隐藏单元数量变化仍保持良好性能。

图6: 系统性评估显示,该优化器在适度架构变化下具有稳健的泛化能力。


测试 3: 在 CIFAR-10 上使用卷积神经网络

下一个基准测试是在 CIFAR-10 数据集上,用卷积神经网络 (CNN) 进行图像分类。由于 CNN 包含卷积层和全连接层,作者设计了两个专用 LSTM 优化器——分别作用于不同类型的参数。

图7: 在 CIFAR-10 及其子集上的性能。基于 LSTM 的优化器学习速度始终更快。

图7: 学习优化器在完整 CIFAR-10 及其子集 (CIFAR-5、CIFAR-2) 上均优于传统方法。

更令人惊奇的是,一个仅在 CIFAR 类别子集上训练的变体 (“LSTM-sub”) 能够完美迁移到完整数据集,展现出显著的迁移学习能力。


测试 4: 神经艺术 (风格迁移)

最后一个也是视觉上最惊艳的测试是神经风格迁移 , 其中优化过程将一张内容图像转换为受一张风格图像启发的艺术作品。

神经风格迁移的目标函数。

优化目标融合了内容、风格和正则化等组成部分。

LSTM 优化器在低分辨率 (64×64) 和一种固定风格下训练,然后测试于以下情形:

  1. 相同风格与分辨率;
  2. 新风格双倍分辨率 (128×128) 。

图8: 神经风格迁移的优化曲线。即便在新风格和更高分辨率下,LSTM 优化器仍收敛更快且损失更低。

图8: 学习优化器在新风格与高分辨率任务上仍保持显著优势。

学习到的优化器不仅收敛更快、损失更低——在泛化至更复杂场景时依然表现出色。

视觉输出更令人惊叹:

图9: 使用 LSTM 优化器生成的风格化图像示例。它能成功泛化到新的内容图像、风格和分辨率。

图9: 使用 LSTM 优化器生成的风格化示例,展现了出色的跨风格与分辨率泛化能力。


结论: 优化的新前沿

这项研究展示了优化算法也可以被学习。通过将优化器视作可训练的神经网络,作者创造出一种能够学会特化至特定任务族的算法。

主要洞见包括:

  1. 元学习可用于优化: 基于梯度的优化器可通过梯度下降自身被训练。
  2. 特化带来优势: 学习到的优化器利用任务固有结构,取得优异结果。
  3. 泛化与迁移: 优化器展现出在更长运行、更大模型和相关数据上的卓越泛化与迁移能力。

DeepMind 的 《通过梯度下降学习如何学习》 打开了一个大胆的新前沿。它让我们畅想未来——我们不仅训练模型,也训练那些训练模型的算法。在那样的世界里,AI 不只是学习,而是学会了更好地学习