学习范式

自监督学习(self-supervised learning)

/ self-soo-per-VIZED LER-ning /

把句子里的一个词遮住——「猫坐在那块___上」——然后让学习者把它补出来。要补得好,它就得弄明白语法、含义,乃至世界运转的方式,尽管从头到尾没有任何人写下过一个答案。这正是自监督学习的诀窍:数据悄悄地监督了它自己。机器遮住自己输入的一部分,再训练去把它还原,于是从原始数据中源源不断地造出练习题。

从技术上讲,自监督学习是一种在无标签数据上做「类监督」训练的巧办法。你定义一个「前置任务」——预测被遮住的词、猜出视频的下一帧、判断两块裁剪是否来自同一张照片——其正确答案可以直接从数据本身读出来。因为标签是免费且自动生成的,你便能在海量的文本、图像或音频上训练。模型其实并不真在乎自己擅不擅长填空;那桩苦差事只是逼它建立起丰富的内部表示,而这些表示能迁移到你真正关心的任务上。

这正是当今大语言模型和许多视觉系统背后的引擎:先用一个自监督目标在汪洋般的无标签数据上预训练,再在一小批带标签的数据上为真实任务做微调。要诚实地说说它的边界:设计一个好的前置任务是门手艺;预训练在算力和能耗上极其昂贵;而且模型可能把前置任务玩得很溜,却仍把原始训练数据里的偏见与错误一并吸收了进去。

掩码语言建模:取「巴黎是[MASK]的首都」,删掉「法国」,再训练模型把它预测出来。在数十亿个句子上重复这一过程。没有任何人标注过任何东西——被删掉的词就是它自己的答案——可模型出炉时,已对语言和事实知道了一大堆。

被遮住的词,就是那个免费又自动的标签。

自监督学习是无监督学习的一个子类:两者都用无标签数据,但自监督会从数据里自造答案卡,从而把问题重新变回普通的监督式训练。

又称
self-supervisionSSL自监督学习自監督學習