小样本学习(Few-shot Learning)从入门到进阶

📅 2026/7/22 15:11:31 👁️ 阅读次数 📝 编程学习
小样本学习(Few-shot Learning)从入门到进阶

前言

为什么你训练一个垃圾分类模型需要10万张图,而你三岁的侄子只看过一次菠萝,这辈子去超市都能认出来?

这就是小样本学习(Few-shot Learning)要解决的问题。

本文不堆砌数学公式,用最通俗的比喻带你搞懂:什么是小样本学习、它有哪些流派、大模型时代它又进化成了什么样子,以及——你实际落地时该选哪条路。

适合读者:对AI感兴趣但被「支持集」「原型网络」「MAML」「ICL」这些术语劝退的同学。


一、入门篇:先搞懂它在干啥

传统机器学习 ≈ 题海战术

让AI认识「猫」?

传统做法:喂它几十万张猫的照片,正着、反着、橘猫、狸花猫……全背下来。考试时看到一张新猫图,它能认出来。

代价:换个新物种(比如「羊驼」),不好意思,重新收集几十万张羊驼照,从头再练。

小样本学习 ≈ 天赋型学霸

只给AI看1到5张猫的照片,它就能在考试时把猫认出来。

它靠的不是「背长相」,而是学「怎么去判断两个东西是不是同一类」。

一句话总结:小样本学习 = 授人以渔,不靠堆数据硬背,而是教AI学会「相似度比较」。

三个你一定会碰到的名词(大白话版)

术语通俗解释
N-way K-shot考试规则。比如「5-way 1-shot」= 待会有5个新物种让你选,但每个物种只给1张参考照
支撑集(Support Set)考试发你的「小抄」——那极少量的几张参考图
查询集(Query Set)真正的「考题」——那张你没见过、需要判别的图片

二、进阶篇:三大流派,掀开AI的脑壳

入门讲的是「做什么」,进阶我们讲「怎么做」。学术界的小样本学习主要分三大流派,我分别用「找茬游戏」「武功秘籍」和「脑补帝」来拆解。

流派一:度量学习(Metric Learning)—— 升级版「找茬王」

这是最直观的思路,但它的内核不是简单比像素,而是把图片变成坐标点

  • AI有个「特征提取器」,把任何图片压缩成高维空间里的一个向量(就是一串数字坐标)。
  • 训练目标:同类的图片,坐标无限近;不同类的图片,坐标无限远
  • 实战(5-way 1-shot):把5张参考图变成5个坐标点(叫**「原型」Prototype**),再把「考题」也变成坐标点。用尺子量一下,考题离哪个原型最近,它就是哪个类别。

代表算法:孪生网络(Siamese Network)、原型网络(Prototypical Network)


流派二:元学习(Meta-Learning)—— 打通任督二脉

这一派不满足于「会比较」,它要求AI「学会如何快速调整自己的大脑」

代表算法:MAML(名字唬人,原理极像武侠里的「打通任督二脉」)

  • 传统训练把模型参数调到一个「通用平原」(能认1000种常见物品)。
  • MAML把参数调到一个**「极其敏感的位置」**——像站在山顶,往任何方向走一步都能迅速下山。
  • 训练时,AI反复在各种「小考试」(每个Task只给1~5张图)中折磨自己。经过上万次,它找到了**「万能起跑线」**。
  • 以后遇到全新的独角仙,不需要从头调几百万个参数,只需微调1~3步,准确率瞬间飙升。

流派三:数据增强/生成(Hallucination)—— 无中生有「脑补帝」

思路清奇:你不是样本少吗?我自己造!

  • 引入GAN或变分自编码器(VAE)。
  • 给AI看1张正面独角仙照片,它脑补出背面、侧面、不同光照下的样子,硬生生把1个样本「变」成100个。
  • ⚠️ 风险:想象力太丰富容易翻车——脑补错了反而带偏模型。但配合度量学习使用,效果往往出奇地好。

核心机密:Episode Training(情景训练)

这是小样本学习最反常识的训练方式:

  • 传统训练:随机打乱数据,随便挑一批(猫、狗、飞机)塞给AI。
  • 小样本训练:故意模拟考试环境——每次只挑5个类别,每个类别只给5张图,让AI去分,分完立刻换下一组。

目的:在真正的「独角仙考试」来临之前,AI已经经历过几百万次「只看几眼就要猜」的极限压力测试,早就习惯在信息匮乏下做决策了。


进阶篇小结:三大流派对比

流派核心思想代表算法优势风险
度量学习比坐标距离原型网络、孪生网络简单高效,推理快对特征提取器要求极高
元学习找万能起跑线MAML、Reptile泛化能力强训练极复杂,容易过拟合
数据生成脑补新样本GAN、VAE补足数据不足生成质量决定上限

三、大模型时代:玩法全变了

前面的流派都基于一个前提——需要训练/微调模型参数

但现在的GPT、LLaMA、CLIP等大模型,不需要修改任何一个参数,照样玩转小样本。全靠一个神奇操作:

上下文学习(In-Context Learning,ICL)

比喻:以前是「练肌肉」,现在是「贴便利贴」

  • 传统小样本 = 健身教练带AI反复举铁(梯度下降),把记忆练进肌肉(参数)里。
  • 大模型小样本 = 神偷,拿一把万能钥匙(注意力机制)。你给它看几张参考图,它当场提取信息写在「便利贴」(上下文窗口)上,贴脑门上用。任务结束,便利贴一撕,大脑恢复空白。

核心武器自注意力机制(Self-Attention)

你把「1张参考图 + 1张待识别图」一起输给大模型时,模型会计算待识别图每个像素和参考图每个像素之间的相关度。哪里连线最密,哪里权重最高,它就判定「这就是那个东西」。


Zero-shot / One-shot / Few-shot(大模型语境)

模式给几个例子本质
Zero-shot0个完全依赖预训练知识
One-shot1个类比推理
Few-shot3~8个模式唤醒(最佳样本数通常4~8,太多反而分散注意力)

灵魂拷问:大模型是真的「学会」了,还是在「抄作业」?

这是目前AI圈最激烈的争议之一。

  • 表面:你给GPT 3个英译中的例子,它第4句翻译得很好。你以为它学会了。
  • 真相:它早就在海量训练数据里见过「英译中」模式。那3个例子不是教它翻译,而是唤醒它脑子里已有的翻译模块——只是「药引子」,不是「药」。

证据:如果你给它一个预训练时从未见过的虚构任务(比如某种诡异的乱码排序规则),塞100个例子它也学不会。因为参数是锁死的,没法通过几个例子修改大脑结构。


视觉领域新王炸:CLIP + 多模态

现在最牛的小样本视觉模型不再是孪生网络,而是CLIP、GPT-4V这类多模态大模型。

  • CLIP训练时将「图片」和「文字描述」塞进同一个数学空间——「羊驼」的图片和「羊驼」这两个字的坐标是重合的。
  • 实战:想让它认一种罕见的「水晶兰」(白色透明植物)。不用1000张图,只需在提示词里写:「一种通体雪白、没有叶绿素、像水晶一样的植物。」然后给它看1张照片。
  • CLIP计算「图片」和「文字描述」的匹配度,瞬间搞定。这叫「描述性小样本」,绕开了传统方法头疼的「背景偏见」问题。

工业界性价比之王:Prompt Tuning(提示微调)

大模型参数太大,没法全改。科学家想了个折中办法:

  • 不改万亿个参数,只额外挂一个极小的「软提示」(Soft Prompt),可能只有几十个虚拟向量。
  • 只用那1~5张图只训练这几十个向量,大模型本身不动。
  • 效果:这几十个向量像一把特制钥匙,专门解锁大模型里关于「独角仙」的知识。

代表技术:Prefix-Tuning、LoRA——目前工业界小样本落地的性价比之王


大模型小样本的「死穴」(落地必看)

问题说明
上下文干扰给5个例子,模型最容易记住最后一个——把独角仙放第1个、屎壳郎放最后,它可能把所有东西都判成屎壳郎
位置敏感同样内容,例子放前面和放后面,准确率能差20%——证明它没真正理解,只做「基于位置的加权平均」
计算成本传统原型网络在普通GPU上秒出结果;大模型每次推理都要把参考图和考题一起塞进去,计算量巨大,且图片分辨率受限

四、最终选型指南:你到底该用哪一派?

场景推荐方案理由
工业质检、医学影像(数据极度稀缺,GPU预算有限)传统度量学习(原型网络)轻量、快速、可解释性强
跨领域任务(如自然光训练 → X光测试)元学习(MAML)泛化能力相对更好
任务灵活多变,今天认花明天认车大模型 + Prompt Tuning(LoRA)无需重训,切换任务只需换提示词
有文字描述辅助(如电商商品识别)CLIP系列多模态模型文本信息能极大弥补样本不足
追求极致准确率,不差钱不差时间大模型 Few-shot + 人工精调Prompt上限最高,但成本也最高

写在最后

小样本学习不是让AI变聪明,而是让AI变成**「在高压模拟考中练出来的偏科生」**——擅长处理「类别少、数据少」的极端情况,但极度依赖训练集和测试集的相似度。

如果你手头正好有项目在做:

  • 先别急着上大模型——试试原型网络,几行代码就能跑出baseline;
  • 如果准确率不够——再看是「特征提取器不行」还是「领域漂移」;
  • 最后才考虑大模型——因为那是用钱换准确率。

希望这篇文章能帮你少走弯路。如果觉得有用,欢迎收藏、点赞、评论三连~


彩蛋:如果你想看「用CLIP + 5行Python代码实现1-shot图像分类」或者「MAML的数学直觉完整拆解」,评论区告诉我,下一篇安排!