核心问题与挑战
传统深度学习(如监督学习)之所以强大,是因为它依赖海量标注数据来“暴力拟合”复杂的函数,当数据量极少时,模型会面临两大根本挑战:

- 过拟合:模型会死死记住这少得可怜的样本,而无法学到真正具有泛化能力的特征,对新样本表现极差。
- 欠约束:从有限的样本中,有无数种假设(决策边界)可以完美分类这些样本,模型无法确定哪一种才是正确的、能推广的。
小样本学习的原理就是 “如何利用先验知识来弥补数据的极度匮乏”,这个“先验知识”不是凭空产生的,而是模型从一个包含大量类别和任务的大规模基础数据集(例如ImageNet、Omniglot)中学到的。
核心思想:从“记住所有知识”到“学会如何学习”
传统模型:直接学习从数据到标签的映射。 小样本模型:学习一个“可快速适应”的模型框架,它分为两个阶段:
- 元训练阶段:在基础数据集上,通过模拟“小样本任务”来训练模型,让其掌握快速适应新任务的能力。
- 元测试/适应阶段:面对全新的、只有少数样本的新类别,利用第一阶段学到的“学习能力”,用极少的新样本进行快速调整或预测。
主流方法原理详解
主要有三大技术路线:
基于度量学习的方法(最直观、最流行)
核心思想:学一个好的特征空间(嵌入空间),在这个空间里,同类样本靠近,异类样本远离,预测时,只需比较新样本(查询集)与少数样本(支持集)在这个空间中的距离。
- 代表模型:孪生网络、匹配网络、原型网络、关系网络。
- 关键步骤:
- 原理类比:就像一个见过无数动物的人(模型),虽然没见过“柯基犬”(新类),但给他看几张柯基照片(支持集),他能立刻总结出“短腿、大耳朵、胖身子”是柯基的关键特征(原型),再看到一张新的狗狗照片(查询集),他能判断“这张照片的特征更接近我之前总结的柯基原型,而不是吉娃娃原型”。
基于元学习/优化的方法
核心思想:直接优化模型,使其能够通过极少的梯度更新步骤就适应新任务,即学习一个优秀的模型初始化参数,或学习一个快速优化器。
- 代表模型:MAML, Reptile。
- 关键步骤(以MAML为例):
- 采样一个任务(如一个5-way 1-shot分类任务)。
- 用当前参数 θ 在任务的支持集上计算损失,并进行一步或多步梯度更新,得到针对该任务的适应后参数 θ‘。
- 关键:更新不是朝着 θ‘ 最优的方向,而是朝着使得 θ‘ 在查询集上损失最小的方向,即用查询集的损失对原始参数 θ 求梯度,并更新 θ。
- 元测试:对于新任务,从训练好的优秀初始参数 θ* 开始,用其支持集进行几步梯度更新,得到适应新任务的模型,然后对查询集进行预测。
- 原理类比:就像一个掌握多种解题“通法”(初始参数θ)的学霸,遇到一道从没见过的题型(新任务),他先看几道例题(支持集),用“通法”稍作调整(几步梯度更新),就能形成针对这道题的解法(θ‘),并成功解出测试题(查询集)。
基于数据增强与模型正则化的方法
核心思想:既然数据少是根本问题,那就“无中生有”或约束模型不要过拟合。
- 数据增强:对少数样本进行强力的、合理的变换(旋转、裁剪、颜色抖动、混合等),甚至使用生成模型(如GAN)生成新样本,以扩充支持集。
- 模型正则化:在训练或微调时,采用更强的正则化技术(如Dropout、权重衰减、早停等),限制模型复杂度,防止其记住噪声。
- 局限性:在小样本场景下,简单的增强效果有限;生成模型本身也需要数据训练,可能引入不真实的噪声。
基于外部记忆与提示学习的方法(与NLP结合紧密)
核心思想:将知识存储在外部记忆模块中,或通过设计好的文本提示,唤醒预训练大模型(如CLIP)中已存在的知识。
- 外部记忆:模型有一个可读写的记忆库,在基础训练阶段将经验存储起来,遇到新任务时,根据少数样本去检索和读取相关记忆来帮助预测。
- 提示学习:对于视觉-语言大模型(如“图像-文本”对训练的CLIP),新类别可能没有图像样本,但我们可以设计其文本名称(如“一张柯基犬的照片”)作为提示,模型通过对比图像特征和文本特征,实现零样本或小样本分类,提供少数样本可以进一步校准文本提示。
小样本学习如何工作(以N-way K-shot为例)
假设一个 5-way 1-shot 任务(识别5个新类,每类只给1个样本):
- 输入:
- 支持集:5张图,每类1张。
- 查询集:一些需要分类的新图。
- 过程:
- 输出:对查询集的图像进行分类。
优点与局限性
小样本学习的原理精髓是 “授人以渔”——不再直接学习所有鱼的特征,而是学习一套高效的“捕鱼方法论”,以便在看到一两条新鱼时,能迅速掌握捕捉这类鱼的技巧。