雾锁山头。老向导常年只念一套口诀:“脚往陡处迈,一步三十寸。”他下自家后山如履平地,可一旦换到羊肠小道、碎石坡,口诀立刻失灵。这是传统优化器的困境。而故事里还有一位学徒,他跟着老向导在一座座形状各异的实习山上反复试错,最终学会了“如何判断每一步该迈多大”——他的本领不是背口诀,而是把“迈步的判断力”练成了本能。这篇文章想讲的新风景,正是从“人为设计优化规则”走向“让神经网络学习优化规则”。LSTM 元学习优化器就是这样一位学徒向导:它用 LSTM 网络接收参数梯度、记住走过的优化轨迹,自动输出下一步的参数更新量。它学会的不是某座山的攻略,而是“如何快速下山”这个通用技能——这就是元学习(learning to learn)在优化器层面的落地。

岗位关联

对 AI 从业者而言,理解 LSTM 元学习优化器,等于掌握“自动调参”的新范式:把优化算法的设计从手工劳作变成可训练模型,为少样本学习、AutoML、在线自适应等场景打开新思路。

目录
  1. 可视化演示
  2. 一、问题背景:口诀不灵的险山
  3. 二、LSTM优化器设计:学徒的记忆与判断
  4. 三、训练方式:在多座实习山练本领
  5. 四、效果对比:学徒对阵老向导
  6. 五、优势剖析:学徒的三样本领
  7. 六、局限与展望:学徒的软肋与远方
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示LSTM优化器如何学习参数更新规则,对比传统优化器、架构设计、元学习训练与优化效果。

本节配有交互动效(进入视口后自动加载,约 3KB)。

传统优化器与LSTM优化器对比 Adam等传统优化器使用固定的人工设计更新规则 LSTM优化器通过学习自动发现最优参数更新策略 Adam: θ = θ - α·m̂/(√v̂+ε); LSTM: Δθ = LSTM(g, h) LSTM优化器将参数更新视为序列建模问题

一、问题背景:口诀不灵的险山

老向导在山脚下长大,几十年只下过自家后山。他教给学徒的口诀只有一句:“脚往陡处迈,一步三十寸。”后山坡面规整,他走得很顺;可当学徒独自面对碎石坡和羊肠小道时,这套口诀立刻失灵——脚踩得太猛就滑倒(步长过大震荡),脚太轻就停在原地(步长过小收敛慢)。这座山的隐喻,正是深度学习里的优化难题。

在训练神经网络时,我们本质上是在一座“损失之山”上寻找最低点。山的海拔由损失函数 L(θ) 决定,你的经纬度是模型的参数 θ,而脚底感受到的坡度就是梯度 ∇L(θ)。优化器(SGD、Adam 等)就是陪你下山的向导:每走一步,它看一眼当前坡度,按一套科学家手工设计的规则决定参数挪动的方向和幅度。

SGD 的规则是“坡度 × 固定学习率”,Adam 在此基础上加了动量估计和二阶矩修正。这些规则在常见任务上表现不错,却有一个致命缺陷:它们是“死口诀”——超参数(学习率、动量系数)需要人针对每座新山反复试。换一个数据集,学习率 0.01 可能就从“正好”变成“震荡”。

学徒看着老向导念口诀的样子,心里冒出一个念头:“口诀既然是死的,为什么不能学一套活的?”这个念头,正是元学习优化器的起点——与其一遍遍人工调口诀里的系数,不如让一个模型去学习“怎么迈步”这件事本身。

θt+1=θt−α∇L(θt)\displaystyle \theta_{t+1} = \theta_t - \alpha \nabla L(\theta_t)
这行公式说的是:下一时刻的参数位置 = 当前位置 − 学习率 × 当前梯度。学习率 α 是唯一的“步长旋钮”,由人手动设定。
  1. θ_t(当前坐标)这是你在山上的位置,也就是神经网络当下的全部参数快照。位置越接近山谷,损失越小。
    θt\displaystyle \theta_t
  2. ∇L(θ_t)(脚下坡度)损失函数在当前点的梯度,它同时给出“哪个方向最陡”和“这个方向有多陡”。
    ∇L(θt)\displaystyle \nabla L(\theta_t)
  3. α(步长系数)人为设定的学习率。α 太大一步跨过头,α 太小心翼翼走不到底。
    α\displaystyle \alpha
  4. 负号(逆坡而行)梯度指向海拔升高的方向,优化要往相反方向走,所以取负号。
    −α∇L(θt)\displaystyle - \alpha \nabla L(\theta_t)

二、LSTM优化器设计:学徒的记忆与判断

学徒开始有意识地锻炼两种能力:一是每迈出一步,都把脚下坡度、身体姿态牢牢记在心里(记忆);二是下一步决策不再只看当前坡度,而是结合记忆综合判断(判断)。LSTM 优化器就是这团“记忆 + 判断”的神经网络化身。

技术上讲,优化器的更新规则不再是人写的公式,而是一个参数为 φ 的 LSTM 网络。在每个优化步 t,它接收两个输入:当前参数 θ_t 的梯度 ∇L(θ_t),以及上一步的隐状态 h_{t-1}。LSTM 内部通过输入门、遗忘门、输出门维护一个细胞状态 c_t,这个细胞状态就是它对整段下山轨迹的浓缩记忆——坡度陡缓、连续方向是否一致、是否出现震荡,全被编码在记忆里。最终 LSTM 输出一个更新量 m_t,参数直接加上它。

老向导的口诀是“一步三十寸”,而学徒的做法是“看一眼、想一想、再迈步”。区别不在脚下的山,而在脑子里有没有一套会成长的经验。

mt=fϕ(∇L(θt), ht−1),θt+1=θt+mt\displaystyle m_t = f_\phi(\nabla L(\theta_t),\, h_{t-1}), \qquad \theta_{t+1} = \theta_t + m_t
公式讲的是:LSTM 学徒用记忆 h_{t-1} 和眼前坡度 ∇L(θ_t) 算出本步迈步量 m_t,然后参数位置加这个量。注意这里没有固定学习率 α,步长由 LSTM 自己“感”出来。
  1. ∇L(θ_t)(眼前坡度)当前位置的梯度,是 LSTM 在每一步收到的“感官输入”,告诉它哪个方向最陡、有多陡。
    ∇L(θt)\displaystyle \nabla L(\theta_t)
  2. h_{t-1}(历史记忆)上一步的隐状态,编码了从出发到现在走过的路况,让决策不只看眼前一步。
    ht−1\displaystyle h_{t-1}
  3. f_φ(学徒的决策函数)整个 LSTM 及其输出层,φ 是它的全部权重。φ 不是人设计的步长规则,而是从元训练中一步步学出来的“迈步心得”。
    fϕ\displaystyle f_\phi
  4. m_t(本步迈步量)LSTM 输出的更新量,它既包含方向又包含幅度——相当于学徒自己判断“这步该迈多大、往哪偏”。
    mt\displaystyle m_t
  5. θ_t + m_t(位置更新)参数直接加上迈步量,得到新位置。加法取代了原来“θ − α×梯度”的固定结构,因为 m_t 已经包含了方向和步长。
    θt+1=θt+mt\displaystyle \theta_{t+1} = \theta_t + m_t

三、训练方式:在多座实习山练本领

学徒要出师,不能只在一座山练。师傅带他去了二十座形状各异的山:有的坡缓路长,有的陡峭多石,有的中间还有假山谷(局部极小值)。每座山上,学徒都从山顶出发,试着在尽量少的步数内下到谷底。出师考试,则是一座从没见过的山。这种“实习”思路,对应元学习中最关键的一环:任务采样。

具体地,我们定义一个任务分布 T,每个任务 τ 对应一座“山”(一个损失函数 L_τ)。元训练时,从 T 中采样一批任务,每个任务上都让参数 θ 从头开始做若干步 LSTM 优化——这几步就叫内循环。内循环结束后,我们把该任务轨迹上每一步的损失累加起来,作为元损失 J(φ)。对 J(φ) 反向传播,梯度会穿过内循环的每一步,一路传到 LSTM 的参数 φ 上。这等价于告诉学徒:“你看,你在这座山上走的整条路都算数,路越短、海拔下降越快,你这份心得越好。”

实际工程中,内循环往往要展开 20~100 步,完整反向传播会耗尽显存。于是研究者用截断 BPTT:每次只展开最近 20 步的反向传播路径,更早的记忆靠 LSTM 的细胞状态传递,但不直接求梯度。这就像学徒不会回忆从出生起每一脚的细节,只回顾最近半程,照样能判断路况。

J(ϕ)=Eτ∼T[∑t=1TLτ(θt(ϕ))]\displaystyle J(\phi) = \mathbb{E}_{\tau \sim \mathcal{T}} \left[ \sum_{t=1}^{T} L_\tau \left( \theta_t(\phi) \right) \right]
元损失 J(φ) 衡量的是:平均来看,LSTM 学徒在任意一座实习山上走 T 步后的累计海拔(损失和)。目标是最小化这个 J(φ),让“迈步心得” φ 越来越通用。
  1. E_{τ∼T}(对任务求平均)在所有实习山(任务分布)上取期望,保证学徒学到的是普遍规律,而不是只对某座山有效。
    Eτ∼T\displaystyle \mathbb{E}_{\tau \sim \mathcal{T}}
  2. Σ_{t=1}^{T}(沿轨迹求和)把一次下山过程中每一步的损失都加起来,鼓励学徒全程走得好,而不是只在乎最后一步。
    ∑t=1T\displaystyle \sum_{t=1}^{T}
  3. L_τ(θ_t(φ))(第 t 步的海拔)在第 t 步,任务 τ 对当前参数 θ_t 算出的损失值。θ_t 本身依赖 φ,因为前面每一步的迈步量都是 LSTM 输出的。
    Lτ(θt(ϕ))\displaystyle L_\tau(\theta_t(\phi))
  4. θ_t(φ)(依赖学徒的参数轨迹)参数轨迹中的每个位置都由 LSTM 决定,所以要实现“让更新规则变好”,梯度必须一直回溯到 φ。
    θt(ϕ)\displaystyle \theta_t(\phi)

四、效果对比:学徒对阵老向导

出师那天,学徒和老向导同时站在一座陌生山的山顶。老向导按口诀匀速前进,学徒眯起眼感受脚下碎石,又回想刚走过的路。二十步后,学徒已经站在谷底水潭边,老向导还在半山腰打转。这座山不是别的,正是论文《Learning to learn by gradient descent by gradient descent》里的经典场景:在 MNIST、CIFAR 等标准数据集上,LSTM 优化器与 Adam 正面交锋。

实验结果显示,在多数任务上 LSTM 优化器都能以更少的步数达到相近甚至更低的损失:例如用 100 步完成多层感知机在 MNIST 上的训练,收敛阶梯明显比 Adam 更陡。在简单的凸问题上,LSTM 优化器的表现与手工设计的优化器基本持平;而面对更复杂的非凸损失面(深度网络的实际训练),它学会了自适应的步长策略——方向稳定时加速冲刺,方向频繁反转时果断减速刹车,这让它比固定规则的 Adam 更稳。

为什么会这样?老向导的规则是“看到什么就按固定公式算”,学徒的规则是“看到什么,再结合记忆推断”。后者天然拥有对任务地貌的适应能力:陡坡、缓坡、震荡区,它在实习时都见过,迈步策略自然不同。新山只要与实习山的分布相似,它的经验就能直接迁移。

这场比赛的隐喻很清楚:手工设计的优化器像一本通用菜谱,做什么菜都按同一流程;LSTM 元优化器则像一位跟过不同菜系的厨师,拿到新食材时会自动调整火候和调味。菜谱下限不低,但厨师的“自适应”上限更高。

五、优势剖析:学徒的三样本领

学徒出师之后,除了下山快,还展现出三样本领,恰好对应 LSTM 优化器在真实任务中的核心优势。

第一是自动调参。传统流程中,学习率、动量、权重衰减都要工程师反复实验;LSTM 优化器把“步长怎么给”内化成了网络参数。人在整个训练流程中只需要提供任务分布,相当于师傅不再教“每步迈多长”,而是教“在什么路上该怎么迈”,剩下交给学徒自己发挥。

第二是任务自适应。同一套 LSTM 参数 φ,在任务 A 上学到的更新量是“大步快走”,在任务 B 上可能变成“小步试探”——因为它的决策依赖 LSTM 细胞状态中积累的轨迹信息。这种自适应不是写死的分支规则,而是从数据中涌现的行为。

第三是少步学习。小样本学习的经典场景中,新类别只有几张样本,普通优化器还没来得及收敛训练就结束了。LSTM 优化器的记忆机制让它能“借鉴”过去任务的经验,用很少的几步就把参数带到损失洼地。这恰是元学习在 few-shot 领域被寄予厚望的原因:几个 step 内拍到好位置,相当于学徒一看脚下的碎石和植被就认出这是实习时见过的地形,直接抄近道。

换个角度说,传统优化器回答的是“给定规则,如何下山”,元学习优化器回答的是“如何从任务中归纳出下山规则”。后者的答案不来自数学推导,而来自大量实习经验的统计规律——这也是它和 AutoML、神经网络架构搜索共享的哲学:把设计交给学习。

六、局限与展望:学徒的软肋与远方

学徒并非没有软肋。第一根软肋是成本:出师前的实习要爬几十座山、每座山都要记录并回放整条下山轨迹,元训练的计算开销通常是训练单个模型的数倍到数十倍。第二根软肋是解释性:老向导能讲清口诀的每个系数为什么这么设,学徒却说不出自己的判断依据——LSTM 内部的门控值即便可视化,也很难让人理解“为什么此时迈 0.3 而不是 0.2”。第三根软肋是泛化边界:若新山的形状与实习山分布差异太大,学徒的经验会失灵,甚至不如老向导的通用口诀。

这些局限指向清晰的未来方向:一是降低元训练负担,比如用更短的截断步数、更轻量的元架构(如用 Transformer 替代 LSTM 作为优化器主体);二是增强分布外泛化,通过在元训练时引入更广的任务采样和正则化手段;三是与更多场景结合,在推荐系统、强化学习、大模型少样本微调中,更新规则的学习有巨大的潜在价值。

回到隐喻:学徒的经验不是万能的,但“学会怎么学”这件事本身,却为很多“来不及慢慢学”的场景提供了答案。也许未来的山下不再需要老向导——每个人都可以带着一个从数据中孕育的“下山大师”来应对未知。

AI 应用场景

小样本图像分类

阶段:模型训练 / 内层优化

解决的问题:医疗影像场景中,罕见病类别往往只有几十张标注样本。传统优化器训练很容易陷入过拟合,调参空间也小。LSTM 元学习优化器先在大量相似影像任务上元训练,再到新病种上少步微调,让模型几步内到好位置——相当于学徒凭实习经验快速定位新山的山谷。

具体案例:在一个组织病理切片分类系统中,团队用 8 个常见病种的历史任务元训练 LSTM 优化器,遇到新罕见病种时仅用 10 步内循环、50 张正样本,分类准确率比 Adam 微调高 12 个百分点。

非平稳环境下的在线适配

阶段:在线学习 / 持续学习

解决的问题:推荐系统的用户兴趣分布会随时间漂移,固定优化规则跟不上节奏。LSTM 优化器可在每个时段的小批量数据上快速更新,利用它对“变化趋势”的记忆,在分布偏离时自动减小步长避免破坏已学知识,在分布稳定时加大步长快速吸收新数据。

具体案例:某资讯 App 的点击率预估模型,每 15 分钟用最近一批日志更新一次;接入元学习优化器后,在模拟的突发热点事件中,AUC 相对 Adam 提升约 3%,且参数震荡明显减少。

AutoML 中的超参数搜索替代

阶段:超参数优化 / 架构搜索

解决的问题:传统网格搜索或随机搜索要训练大量候选模型,成本极高。LSTM 优化器作为“内层下山向导”嵌入 NAS 或超参数优化流程,让每个候选架构只需少数几步训练就判断其潜力,大幅压缩搜索预算。

具体案例:在 CIFAR-10 架构搜索任务中,用 LSTM 优化器做候选模型的快速评估,将每个候选的训练步数从 300 步压缩到 40 步,搜索总代价降低约 60%,最终架构精度损失不到 1%。

Python 演示

python73 行
import torchimport torch.nn as nn  class LSTMOptimizer(nn.Module):    """用LSTM做元学习优化器:输入梯度,输出参数更新量"""     def __init__(self, hidden=16):        super().__init__()        self.hidden_size = hidden        self.lstm = nn.LSTMCell(1, hidden)        self.fc = nn.Linear(hidden, 1)     def forward(self, grad, state):        h, c = state        h, c = self.lstm(grad.view(1, -1), (h, c))        update = self.fc(h)        return update, (h, c)  def make_loss(a, b):    def loss(x):        return a * (x - b) ** 2     def grad(x):        return 2 * a * (x - b)     return loss, grad  def meta_train(opt_model, tasks, steps=20, epochs=200, meta_lr=0.01):    meta_opt = torch.optim.Adam(opt_model.parameters(), lr=meta_lr)    opt_model.train()    for epoch in range(epochs):        meta_opt.zero_grad()        total = 0.0        for a, b in tasks:            x = torch.tensor([5.0])            h = torch.zeros(1, opt_model.hidden_size)            c = torch.zeros(1, opt_model.hidden_size)            for _ in range(steps):                loss_fn, grad_fn = make_loss(a, b)                update, (h, c) = opt_model(grad_fn(x), (h, c))                x = x + update.squeeze()                total = total + loss_fn(x)        total.backward()        meta_opt.step()        if epoch % 40 == 0:            print("epoch", epoch, "meta loss", total.item())  def main():    torch.manual_seed(42)    # 10 座形状与谷底位置不同的实习山    tasks = [(0.5 + 0.3 * i, -1.0 + 0.3 * i) for i in range(10)]    opt_model = LSTMOptimizer()    meta_train(opt_model, tasks)    # 元测试:一座没实习过的山,最优参数 b=2.0    loss_fn, grad_fn = make_loss(0.7, 2.0)    x = torch.tensor([5.0])    h = torch.zeros(1, opt_model.hidden_size)    c = torch.zeros(1, opt_model.hidden_size)    print("初始参数:", x.item())    for step in range(20):        update, (h, c) = opt_model(grad_fn(x), (h, c))        x = x + update.squeeze()        if step % 5 == 0 or step == 19:            print("step", step, "x", x.item(), "loss", loss_fn(x).item())    print("真实最优参数: 2.0")  if __name__ == "__main__":    main()
目的:在一个玩具的“连续下山”问题上演示元学习——LSTM 先在 10 座不同的二次函数山上学会迈步策略,然后把它迁移到一座新山上,用 20 步从 5.0 逼近最优参数 2.0。
  1. self.lstm = nn.LSTMCell(1, hidden)搭建 LSTM 单元:输入 1 维(梯度),隐藏单元 hidden 个,负责“记忆 + 决策”。
  2. h, c = self.lstm(grad.view(1, -1), (h, c))把梯度喂进 LSTM,更新隐状态 h 和细胞状态 c,完成一步记忆写入。
  3. update = self.fc(h)隐状态经过全连接层,变成真正的“迈步量”(带方向和大小)。
  4. x = x + update.squeeze()参数位置直接加迈步量,就像学徒在山道上迈出一步。
  5. total = total + loss_fn(x)把整段下山轨迹的损失累加成元损失,作为“实习打分”。
  6. total.backward()沿轨迹反向传播,把梯度送到 LSTM 参数,实现“让迈步心得变好”。
  7. tasks = [(0.5 + 0.3 * i, -1.0 + 0.3 * i) for i in range(10)]生成 10 座形状与谷底位置不同的实习山(不同的 a、b 参数)。
  8. update, (h, c) = opt_model(grad_fn(x), (h, c))新山上也用同一套“记忆 + 当前坡度”决策,验证策略迁移。

常见误区

误区我以为 LSTM 元学习优化器只能优化 LSTM 模型,因为它的名字和架构都是 LSTM,应该只能用来训练循环神经网络。

正解作为优化器的 LSTM 和被优化的模型是相互独立的。前者的输入是后者的梯度,输出是后者的参数更新量,并不要求被优化模型是 LSTM。论文中就成功优化过 MLP 和 CNN。比喻:学徒向导可以是任何人,他负责带运动员下山,不代表运动员也得是向导。准确地说,这是“用 RNN 学出来的通用优化器”,不是“用来优化 RNN 的工具”。

为何常见:“LSTM 优化 LSTM”这类简写在科普中流传甚广,读者容易把优化器与负优化对象混为一谈。

误区用了 LSTM 优化器之后,学习率、动量这些都不用管了,一劳永逸,纯自动。

正解确实把“每步更新量”的学习交给了 LSTM,但 LSTM 隐藏单元数、元学习率、截断 BPTT 长度、元训练任务分布依然要人设计。比喻:学徒不用背口诀,但师傅还要决定带他去哪几座山实习、实习多久、用什么方式考核。调“超参数”变成了调“元超参数”,难度转移而非消失。

为何常见:宣传常聚焦“自动调参”的卖点,忽略了元训练阶段同样需要大量工程调优。

误区只要在一个任务上让 LSTM 反复走,损失降下来就等于学会了优化规则,换任务应该也能用。

正解单任务上 LSTM 很容易记住这个任务的地形,形成“过拟合”的迈步策略,换个任务就失效。元学习必须在多个不同任务上训练,让策略学到任务共同的结构。比喻:学徒只在一座山实习,出师后遇到任何新山都以为是老山,必然迷路。跨任务泛化才是元学习的灵魂。

为何常见:“训练 LSTM 会收敛”和“获得普适优化策略”被混淆,忽略了元学习的跨任务泛化本质。

误区反正 LSTM 能处理长序列,直接展开全部 100 步轨迹求梯度,效果肯定最好。

正解完整展开的 BPTT 内存和时间代价随步数增长很快,几十步就可能到达显存上限,上百步几乎无法在常规设备上训练。截断 BPTT 只回溯最近若干步,用细胞状态传递早期信息,在效果和开销之间做权衡。比喻:学徒不可能从出生的每一步都复盘,只看最近的路程也能修正走法。

为何常见:对反向传播停留在“对损失求梯度”的直觉,没有意识到展开优化轨迹的显存代价。

面试题

Q1. LSTM 元学习优化器的主要目标是什么?

单选题 · easy

  • A.用 LSTM 替代主网络
  • B.学习更新的规则本身← 正确答案
  • C.加速 LSTM 模型推理
  • D.自动生成训练数据

答案:B。LSTM 元学习优化器的目标是学习“如何更新参数”的规则,替代人工设计的优化规则。A 错误,主网络仍然是被训练对象;C 与推理加速无关;D 与数据生成无关。

Q2. LSTM 元学习优化器每个时间步的输入是什么?

单选题 · easy

  • A.当前模型的全部参数
  • B.当前参数的梯度信息← 正确答案
  • C.训练集中全部标签
  • D.损失函数的曲线图

答案:B。每个时间步的输入是当前参数的梯度 ∇L(θ_t),对应学徒脚下的坡度。A 输入全部参数维度太高且信息冗余;C 标签是数据信息,不属于优化器输入;D 损失曲线是结果而非输入。

Q3. 元学习优化器中 LSTM 的隐状态主要编码了什么?

单选题 · easy

  • A.训练数据的标签类型
  • B.过去梯度优化轨迹← 正确答案
  • C.模型的超参数设置
  • D.数据集的大小信息

答案:B。隐状态 h 编码了过去优化轨迹的信息,让当前迈步决策能结合历史路况。A 标签属于任务数据而非优化轨迹;C 超参数由人设定,不属于 LSTM 内部记忆;D 数据集大小并不进入 LSTM 输入。

Q4. 关于元训练任务和元测试任务的关系,正确的是?

单选题 · mid

  • A.测试任务需加入元训练
  • B.同分布但测试不参与元训练← 正确答案
  • C.任务需完全独立且无关
  • D.元训练任务越多则越好

答案:B。元测试任务必须与元训练任务来自同一分布,但绝不能出现在元训练集中,否则相当于“考试漏题”。A 把测试任务混入训练会高估泛化能力;C 完全独立不相干则分布不一致;D 任务数量不是越多越好,关键是分布覆盖充分。

Q5. 与传统 Adam 相比,LSTM 元学习优化器最本质的区别是什么?

单选题 · mid

  • A.Adam 收敛总是更快
  • B.更新规则从数据中学习← 正确答案
  • C.Adam 不需要学习率
  • D.LSTM 优化器不用梯度

答案:B。LSTM 优化器的更新规则是参数 φ 从任务分布中学出来的,而 Adam 的更新规则由人手动设计。A 是错误绝对化,LSTM 优化器在分布内任务上常更快;C 相反,Adam 需要设学习率;D 错误,LSTM 优化器仍以梯度为输入并依赖梯度。

Q6. 元训练时,损失对 LSTM 参数的梯度主要来自哪里?

单选题 · hard

  • A.直接使用元测试的损失
  • B.内层轨迹各步损失之和← 正确答案
  • C.主模型交叉熵损失值
  • D.损失函数对参数的偏导

答案:B。元损失是每个任务上内层优化轨迹各步损失的累加,梯度沿轨迹回溯到 LSTM 参数 φ。A 元测试损失在训练时不可见;C 交叉熵只是内层单步损失的一部分,不是梯度来源的本质;D 损失对参数的偏导属于主模型的反向传播,不是对优化器的元梯度。

Q7. 为什么训练 LSTM 优化器时常使用截断 BPTT?

单选题 · mid

  • A.LSTM 不能处理长序列
  • B.长轨迹展开耗费内存时间← 正确答案
  • C.截断 BPTT 提高准确率
  • D.避免拟合元训练任务

答案:B。完整展开数十上百步优化轨迹的反向传播,显存和计算开销极大,因此只回溯最近若干步,其余靠细胞状态传递。A 不准确,LSTM 本身能处理长序列,这是工程代价问题;C 截断通常是有损的,不会提高准确率;D 截断的目的不是防过拟合。

Q8. LSTM 元学习优化器的优势包括哪些?

多选题 · mid

  • A.自动学会任务的调参策略← 正确答案
  • B.同分布新任务收敛更快← 正确答案
  • C.任何情况下都全面超越
  • D.能适应任务之间的变化← 正确答案

答案:ABD。优势包括自动调参(A)、对同分布新任务少步快收敛(B)、任务自适应(D)。C 过于绝对,在简单凸问题上 LSTM 优化器也只是与手工优化器打平,不存在“任何情况全面超越”。

Q9. 哪些属于 LSTM 元学习优化器的局限?

多选题 · hard

  • A.元训练的计算成本很高← 正确答案
  • B.更新规则可解释性较弱← 正确答案
  • C.完全不需要任何人工干预
  • D.泛化依赖元训练分布← 正确答案

答案:ABD。元训练需要展开轨迹并多次前向,成本高(A);门控策略难以解释(B);若测试任务偏离训练分布,策略会失效(D)。C 错误,元超参数和任务设计仍需人工干预。

Q10. 关于“学习如何学习”的思想,以下说法正确的有?

多选题 · extreme

  • A.把优化器当作可学习的模型← 正确答案
  • B.上层模型归纳通用下山策略← 正确答案
  • C.只能在优化器层面来实现
  • D.期望新任务少步快速收敛← 正确答案

答案:ABD。“学习如何学习”的核心包括:把优化器本身当作可学习模型(A)、在更高层归纳跨任务通用策略(B)、期望新任务少步收敛(D)。C 错误,元学习并不限于优化器层面,还包含学习初始化、学习数据增强等更广思想,优化器只是其中一个落地形式。