元学习 可视化实验室

用交互式 SVG 呈现 MAML、Reptile、少样本学习、度量学习、双循环优化等元学习核心技术。八个模块,纯原生实现。

zero-deps HTML / CSS / JS + SVG requestAnimationFrame prefers-reduced-motion
MODULE 01

MAML 模型不可知元学习

Model-Agnostic Meta-Learning。内循环对每个任务支持集做几步梯度下降得到任务专属参数 θ′ᵢ;外循环在查询集上最小化损失,更新初始参数 θ。调整内循环步数与学习率,观察参数轨迹。

maml-trajectory.svg
元参数 θ 任务专属 θ′ᵢ 外循环更新 查询损失

MAML 双循环更新

内循环:θ′ᵢ = θ − α ∇θ L_Tᵢ(θ)(重复 K 步)。外循环:θ ← θ − β ∇θ Σᵢ L_Tᵢ(θ′ᵢ)。MAML 通过二阶导(Hessian)让 θ 能快速适应新任务。下方展示多任务从 θ 出发的内循环适应轨迹与外循环聚合方向。

内循环步数 K
3
内循环 α
0.30
任务数
3
查询损失
—
MODULE 02

Reptile 一阶元学习

Reptile 用一阶近似替代 MAML 的二阶导:θ ← θ + ε (φ − θ),其中 φ 为 K 步内循环后的参数。计算更省,效果接近。对比 MAML 与 Reptile 的参数更新方向。

reptile-vs-maml.svg
MAML 更新 Reptile 更新 内循环终点 φᵢ 共享起点 θ

一阶近似 vs 二阶

MAML 外循环需 Hessian-vector 乘积(O(K) 内存)。Reptile 直接用 (φ−θ) 方向,等价于沿内循环路径的平均梯度。Reptile 更新方向 = 各任务内循环终点的平均位移,天然指向多任务最优的邻域。

MAML 方向
—
Reptile 方向
—
夹角差
—
内循环步数
4
MODULE 03

少样本学习 Few-shot Learning

K-way N-shot 任务构造:从类池中采 K 个类,每类 N 个样本作为支持集、Q 个作为查询集。调整 K、N、Q 观察一个 episode 的结构。

few-shot-episode.svg
支持集 (N-shot) 查询集 (Q) 类原型

Episode 构造

每个 meta-training episode:随机抽 K 个类,每类采 N 个支持样本与 Q 个查询样本。模型在支持集上构建类表示,在查询集上计算损失并反传。这种 N-way K-shot 协议使训练与测试分布一致,是少样本泛化的关键。

K (way)
3
N (shot)
5
Q (query)
3
支持样本总数
15
MODULE 04

度量学习 Metric Learning

Prototypical Network:每类原型为支持集嵌入均值,查询样本按到原型的距离分类。Relation Network 学习样本对的关系分数。切换度量观察查询点归属。

prototypical-net.svg
类 1 类 2 类 3 查询点

Prototypical Network

类原型 cₖ = (1/|Sₖ|) Σ f(xᵢ)。查询样本 x 的分类:argminₖ d(f(x), cₖ),常用平方欧氏距离。原型网络无需 Fine-tune,前向即可分类,适合少样本。Relation Net 用可学习的非线性度量 g(x,c) 替代固定距离。

距离度量
欧氏
查询点数
6
分类正确
—
类数
3
MODULE 05

任务分布 Meta-Task Sampling

Meta-Task 由类池抽样构造:先采 N_way 个类,再每类采 N_shot+N_query 个样本。任务难度随类间相似度变化。调整采样参数观察任务分布。

meta-task-sampling.svg
类池 选中类 样本 难度(类间距)

任务难度分布

任务难度可用选中类间最小距离衡量。类越接近,分类越难。元学习通过覆盖不同难度的任务分布,提升对未见任务的鲁棒适应。Curriculum Meta-Learning 按难度递增采样,先易后难。

类池大小
20
N_way
5
任务难度
—
采样轮
1
MODULE 06

双循环优化 Bi-level Optimization

上层(外循环)优化元参数 θ,下层(内循环)优化任务参数 θ′。内循环学习率 α 控制适应速度,外循环学习率 β 控制元更新幅度。调整两者观察收敛行为。

bi-level-opt.svg
外循环轨迹 (θ) 内循环轨迹 (θ′) 任务最优 元最优

Bi-level 目标

min_θ Σᵢ L_Tᵢ(θ′ᵢ(θ)) s.t. θ′ᵢ = θ − α ∇θ L_Tᵢ(θ)。内层是各任务的快速适应,外层是跨任务的元优化。α 过大导致内循环震荡,过小适应不足;β 过大元更新跳过最优,过小收敛慢。

内循环 α
0.30
外循环 β
0.05
元迭代
0
元损失
—
MODULE 07

快速适应 Fast Adaptation

元学习的核心收益:少量梯度步即可适应新任务。绘制 Fine-tune 步数 vs 验证精度的曲线,对比 MAML 初始化与随机初始化。观察 MAML 的“靠近最优”优势。

adaptation-curve.svg
MAML 初始化 随机初始化 目标精度 当前步数

适应速度对比

MAML 的 θ 位于“易适应”区域:一两步梯度即可降到低损失。随机初始化需数十步。Few-shot 场景下步数受限,MAML 优势显著。曲线呈指数衰减:loss(t) ≈ loss∞ + (loss₀−loss∞) e^(−t/τ),MAML 的 τ 更小。

当前步数
0
MAML 损失
—
随机损失
—
MAML 时间常数
1.2
MODULE 08

域泛化 Domain Generalization

训练于多个源域,泛化到未见目标域。Robust Meta-Learning 最小化跨域最坏情况损失。调整域偏移强度,观察泛化间隙与鲁棒策略的效果。

domain-generalization.svg
源域 1 源域 2 源域 3 目标域 (未见)

跨域迁移

ERM(经验风险最小化)仅最小化源域平均损失,对域偏移敏感。DRO / Robust Meta-Learning 最小化最坏源域损失,提升对目标域的鲁棒性。域不变特征学习(DANN 等)通过对抗训练对齐源域特征分布。

域偏移
0.30
源域平均
—
目标域损失
—
泛化间隙
—