Page 12 - 《软件学报》2024年第4期
P. 12
1590 软件学报 2024 年第 35 卷第 4 期
学习率和更新方向. 此外, 还有一些方法将 MAML 与贝叶斯学习联系起来, 从贝叶斯学习的角度对 MAML 进
[7]
行分析和改进 [12−16] . 原型网络 是基于元学习的另一代表性工作, 其将度量学习和元学习结合起来,希望学习
一个适用于不同任务的度量空间, 在该空间中, 通过比较查询样本和类原型之间的距离进行分类. 为了学习
更好的度量空间, 后续学者们提出了不同的类表示学习方法和相似性学习方法. 比如 CAN [17] 利用查询样本结
合注意力机制、AM3 [18] 利用多模态信息来对类原型进行表示. Simple CNAPS [19] 使用马氏距离来度量不同特征
之间的相关性, 从而更好地计算样本之间的相似性. DeepEMD [20] 将每个图片表示成一个张量来更好地挖掘样
本的局部信息, 采用推土机距离来考虑两个张量之间的相关性. Relation Network [21] 使用神经网络代替距离函
数, 将类原型和查询样本拼接后放入一个神经网络中, 自适应地学习它们之间的相似性.
虽然以上方法在小样本分类任务上取得了不错的进展, 但这些方法都需要一个假设: 训练任务和测试任
务的分布是一致的. 这就要求我们的训练任务数量足够多, 可以有效地代表整体任务的分布. 但事实上, 由于
某些领域样本数量的缺乏, 训练任务的数量也是难以保证的. 此外, 在小样本分类任务中, 训练任务和测试任
务的类别一般都是不一致的, 因此训练任务和测试任务之间很容易存在分布偏差, 进一步加剧了元知识迁移
的难度. 为了解决这一问题, 有一些研究聚焦在有分布外(out of distribution, OOD)任务的小样本分类学习上,
采用重加权技术来调整有偏差的训练任务分布. 比如 NestedMAML [22] 通过双层优化对每个任务中的每个查询
样本进行权重学习、Weighted Meta-Learning [23] 通过计算目标任务与训练任务之间的距离来对训练任务进行加
权. 但是由于我们很难事先得知测试任务的分布, 而且实际场景中测试任务可能会随着时间发生变化, 通过
加权对训练任务分布修正的方法不能满足测试任务会不断变化的场景. 因此, 有文献提出通过对任务中样本
或任务扩充的方式来增加训练分布的多样性, 从而提高其泛化能力. 比如: MAML_MetaMix [27] 利用 Mixup 和
通道变换的方式对任务中的查询样本进行扩充; Meta-MaxUp [24] 比较了不同数据扩充方式在支持集、查询集和
任务不同情况下的效果, 最后结合 MaxUp 策略提出一种通过组合不同的数据扩充方式来自适应对支持集、查
询集和任务进行扩充的方法; MLTI [25] 通过对随机采样的任务进行 Mixup 来扩充训练任务的分布. 虽然这些方
法可以生成新的任务来扩充训练任务的分布, 但这些方法并没有考虑生成什么样的任务有利于模型的学习.
1.2 Mixup
Mixup [28] 于 2018 年作为一种数据增强被首次提出, 通过对一对样本的输入和标签进行线性组合来合成新
的样本, 被广泛使用在许多监督和半监督任务中来提高模型的泛化和对抗鲁棒性. 该方法简单有效, 有理论
保证, 激发了一系列关于 Mixup 变体工作的产生. 比如: Manifold Mixup [29] 把输入层的线性组合扩展到隐层,
对中间隐层的特征表示和标签进行线性组合来平滑决策边界; CutMix [30] 从图像的空间角度出发, 从一张图片
中随机选取一个区域裁剪后放到另一张图片对应的区域生成新的图片, 标签按照两张图片比例的线性组合来
生成. Puzzle Mix [31] 在 CutMix 的基础上引入显著性分析, 只选取图片的显著性区域进行裁剪, 避免裁剪的区
域是与类别无关区域. PatchUp [32] 同时结合 Mainfold Mixup 和 CutMix 的优点, 对中间隐层也进行裁剪.
MetaMixUp [33] 使用元学习方法来学习线性组合的系数, 不过, 由于元学习方法会增加计算复杂度, 目前大部
分基于 Mixup 的方法还是通过从贝塔分布中采样得到的. 此外, 还有一些结合特定任务的 Mixup 方法, 比如:
DAML [34] 将 Mixup 的思想引入到开放域泛化任务中, 通过 Dir-mixup 来合成新域数据, 提高模型对开放环境下
未知域的泛化能力; IMLT [25] 将 Mixup 引入到元学习小样本任务中, 通过对任务进行 Mixup 扩充, 解决实际场
景中训练训练任务缺乏的问题.
2 基础知识
本节主要介绍小样本学习中典型的 N-way K-shot 任务、元学习训练机制和两个代表性的小样本分类方法.
2.1 N-way K-shot任务和元学习训练机制
小样本分类任务旨在让机器像人类一样, 在新的类别只有少量标注数据的情况下, 可以快速学习和识别
该类. 但是多少样本是少量样本并没有明确定义. 为了方便比较和评估不同的方法, 学术界通常在 N-way