这几年如果你在关注人工智能,很难绕开一个词:自监督学习。BERT的掩码预测、GPT的下一词预测、SimCLR的对比损失、MAE的随机遮块重建……名字各不相同,底层逻辑却高度一致:让模型从原始数据里自己构造问题、自己寻找答案,不需要人来打标签。自监督学习不是一个具体算法,而是一种贯穿了深度学习十几年的训练范式,也是预训练模型从自然语言处理走向计算机视觉、走向多模态的关键变量。这篇文章把自监督学习的发展历史和代表性研究者的设计思路放在一起梳理,包括概念边界、时间线、三大技术路线、复现中的真实坑位和入门路径,适合刚开始接触预训练的工程师,也适合想补上一块背景拼图的产品和技术负责人。
1. 先把底牌亮出来:自监督学习到底在解决什么
1.1 监督、无监督、自监督:三个概念中间有一道人为划的线
很多人习惯把自监督学习直接归进无监督学习,这个说法有道理,但不完全准确。监督学习需要人工标注的标签,比如一张图里有没有猫,模型拿着“图-标签”对去拟合。无监督学习更宽泛,目标是发现数据内部的结构,比如聚类、降维、密度估计,它不刻意定义“任务”,只要求模型理解数据长什么样。自监督学习站在中间:它不依赖人工标签,但会主动构造一个有监督信号的任务,让模型在这个过程中学习特征表示。
举个例子你就明白了。假设给模型一堆新闻文章,我们没空给每篇标“政治、体育、科技”,但可以同时扣掉每句话里的某一个词,让模型根据上下文去猜。这个词就是模型自己造出来的标签,所以叫“自监督”。如果把它想象成一个老师出题考学生,区别在于这位老师是数据本身,题目是数据自己生成的。这个设计看起来简单,却是整个领域最核心的思想支点:只要你能构造出一个可回答的问题,海量无标注数据就会变成训练燃料。
之所以要划清这条线,是因为很多人误以为自监督学习是“没有监督信号”。恰恰相反,它拥有非常丰富、非常密集的监督信号,只是这些信号不来自人工,而来自数据的内在结构。理解这一点,后面再看掩码语言模型、对比学习、自编码器,思路会顺很多。
1.2 没有标注数据,为什么反而是个优点
早期深度学习最贵的是标注,不是算力。一张医学影像要请医生标注,一段法律文本要请专家打标签,一个对话数据集要雇人反复清洗。标注质量和成本直接决定了模型上限。互联网上天然存在的数据几乎都是无标注的,网页文本、商品图片、监控视频、遥感图像,它们量大、廉价、随时可获取,但传统监督学习用不了。
自监督学习就是把这一部分数据盘活。它的设计思路是:不要求你告诉我“这是什么”,只要求你利用数据内部的关系,比如“下一句话是什么”“图像被裁剪后还和原图是不是同一个对象”“视频下一帧会发生什么”。这些问题不需要人工回答,模型自己就能生成答案,于是可用数据规模从“标注过的千万级”直接跳到“原始数据的十亿级”,训练数据的成本结构从此改变。
这也是为什么近五年所有大模型都把自监督预训练当成第一步。ChatGPT类产品背后的大语言模型,本质上是先把海量文本用“预测下一个词”这种自监督任务训练一遍,再去做指令对齐。没有自监督,就没有今天大规模预训练的可能性。
1.3 代理任务:整个领域的技术核心
自监督学习的技术核心是一个叫“代理任务”的概念。代理任务不是你要解决的最终任务,而是为了学到好特征而临时设计的训练任务。它的套路是:把输入数据破坏一部分,然后让模型去修复或者区分,修复得好,说明模型理解了数据的结构。
历史上出现过的代理任务很多,大致能归成三类思想。第一类是“预测”,比如预测下一个词、预测未来视频帧,语言模型是典型代表。第二类是“区分”,核心是让模型判断两个样本是不是来自同一个对象,对比学习属于这一类。第三类是“重建”,把输入的一部分遮住,让模型还原,掩码自编码器就是典型代表。
判断一个代理任务好不好,标准只有一个:它学出来的表示能否迁移到下游任务。BERT的掩码预测为什么成功?因为预测被遮挡的词,迫使模型学会了词汇、语法和上下文指代信息,这些信息迁移到问答、分类、抽取等任务上都非常有用。反过来,早期有些代理任务设计得很巧妙,但学出来的特征在下游不通用,最后被淘汰了。所以做自监督研究,本质上是在设计“问题”,而不是在设计“模型”本身。
2. 从词向量到多模态大模型:一条浓缩的发展时间线
2.1 萌芽期:重建输入的一代
自监督思想其实很早就出现了。深度学习的第一个春天里,自编码器就是最典型的自监督方法:把输入压缩成一个低维向量,再从这个向量把原输入重建出来。这个过程没有标签,但要求隐藏层保留最重要的信息。今天看起来粗糙,但它确立了“无标签也能学表示”的基本信念。
2013年前后,word2vec的出现是一个里程碑式转折。它本质上是用“预测上下文词”这种自监督任务训练词向量,训练结束后,词向量竟然承载了语义和类比关系。“国王减去男人加上女人约等于王后”这样的经典结果,让整个行业第一次直观感受到自监督表示的威力。紧接着大量研究者把类似思路扩展到句子、段落甚至图像,但早期视觉上的尝试都不太顺利,主要原因是图像是连续信号,不像文本有天然离散的“词”,直接重建像素消耗大量算力,学到的特征却不够语义化。
这一阶段的意义在于验证了一个假设:自然语言和视觉里存在大量可自我回答的结构性问题,只是当时的模型、算力和任务设计都还没跟上。
2.2 蓄力期:语言模型给视觉打了个样
2015年到2017年是深度学习的加速蓄力期。序列模型和注意力机制开始成熟,机器翻译领域出现了基于注意力的大规模编码器-解码器架构。这时研究者意识到,语言模型本身就是一个天然的自监督任务:读前面的词,预测下一个词。这个任务不需要任何标注,却能让模型学到语法和常识。
2018年是转折点。ELMo证明了预训练的双向语言模型可以作为通用特征提取器,后续模型也把预训练范式推向成熟。于是整个自然语言处理领域迅速转向“先在大量无标注文本上做自监督预训练,再在具体任务上微调”的开发流程。这套流程就是后来所有大模型产品的工作原型。
语言模型路线给计算机视觉研究者传递了一个重要信号:只要任务设计正确,大规模自监督预训练的效果可以远超人工作坊式的特征工程。视觉领域随后开始密集尝试语言模型的成功配方。
2.3 爆发期:三大路线同时开花
2018年到2021年是自监督学习的高密度爆发期。掩码语言模型打下坚实基础,文本编码器在各类任务上刷新纪录;自回归语言模型的规模也稳步上涨,展现出“大力出奇迹”的潜力。视觉领域则形成了三股力量同时竞争的格局。
第一股力量是对比学习。核心思想是让同一个对象的不同增强视图在特征空间里靠近,让不同对象的视图互相远离。SimCLR用一个简单框架证明了数据增强组合和大的batch size足够带来极强的表示,MoCo则用动量队列把负样本规模做大,绕开了显存限制。第二股力量是非对比学习。BYOL提出了一个当时看起来反直觉的设定:不需要负样本,只用两个视角的特征互相预测,也能学到好表示,这引发了一场关于“模型为什么不坍塌”的大讨论。第三股力量来自语言模型本身。GPT系列证明自回归语言模型只要参数量和数据量同步扩大,就能涌现出少样本学习能力,这让业界开始认真考虑“统一的自监督方式是否可行”。
2.4 收敛期:掩码重建复兴与多模态对齐
2021年底到2022年之后,自监督学习迎来了两条重要演进。一条是掩码重建在视觉领域的复兴。MAE把图像按块随机遮挡四分之三,只让模型看到少量可见块,却要求解码器重建全部像素,模型被迫学到高级语义。这类方法随后向视频、点云、音频等模态快速扩散。另一条是多模态对齐。图文对比学习把图像和文本同时映射到一个空间,拉近匹配图文对的距离,拉开了多模态预训练大模型的序幕。
到了大模型时代,自监督学习更进一步收敛为两种主流配方:一是自回归语言模型,用“预测下一个token”统一文本、代码、甚至图像;二是掩码重建类方法,用于统一视觉和跨模态理解。这个阶段已经很少强调“自监督”这个名词,因为预训练本身就默认采用自监督任务。
| 时期 | 主要信号 | 代表做法 | 典型成果 |
|---|---|---|---|
| 2013年前后 | 预训练词向量 | 预测上下文词 | word2vec |
| 2018年前后 | 上下文语义表示 | 双向语言模型、掩码预测 | ELMo、BERT |
| 2019-2020年 | 对比学习爆发 | 实例判别、动量队列 | SimCLR、MoCo、BYOL |
| 2021年起 | 掩码重建复兴、多模态对齐 | 掩码自编码器、图文对比 | MAE、CLIP、GPT系列 |
3. 三大技术路线拆解:对比学习、生成式预训练与非对比学习
3.1 对比学习:拉近正样本,推开负样本
对比学习的思路非常像做商品推荐:把同一件商品的不同照片归为一类,把不同商品的照片互相推开。用专业术语说,同一个样本经过两次不同的数据增强后得到两个视图,这两个视图形成“正样本对”,批次里其他样本则作为“负样本”。模型要让正样本对之间的相似度尽量高,同时让正样本和负样本之间的相似度尽量低。
训练目标常用InfoNCE损失实现,逻辑可以理解成:在N个候选样本中,模型要把真正的正样本从一堆干扰项里正确挑出来。挑得越准,损失越低。下面是一个简化版PyTorch实现,能帮你直观感受这个过程:
import torch import torch.nn.functional as F def info_nce_loss(z1, z2, temperature=0.07): # z1, z2: [N, D],来自同一批次两张增强视图的特征 N = z1.size(0) z = torch.cat([z1, z2], dim=0) # [2N, D] z = F.normalize(z, dim=1) sim = torch.mm(z, z.t()) / temperature # [2N, 2N] mask = torch.eye(2 * N, dtype=torch.bool, device=z.device) sim = sim[~mask].view(2 * N, -1) positives = torch.cat([ torch.diag(sim[0:N, N:]), torch.diag(sim[N:, 0:N]) ]) negatives = sim loss = -torch.log(positives / (positives + negatives.sum(dim=1))) return loss.mean()这个式子里的温度参数很关键,它控制着对难负样本的惩罚强度。温度太高,模型会一视同仁,学不到精细差异;温度太低,模型过于关注最相似的负样本,训练容易震荡。实践里0.05到0.1是比较常用的区间,但最好还是要根据你的数据规模做一轮小范围搜索。
对比学习最重要的两个杠杆是数据增强设计和负样本规模。增强必须足够强,让模型看到同一个对象的多种形态;负样本必须足够多且足够多样,否则模型会走捷径,靠一些低层特征来区分样本。这也解释了为什么对比学习方法在大batch size下效果普遍更好。
3.2 生成式预训练:把“填空”做成一种通用技能
生成式预训练的现代形态是掩码重建。让模型看一段被破坏的输入,输出被破坏部分的内容。BERT把整词抠掉让模型填入,GPT把整段文本变成自回归预测,MAE把图像随机遮挡再把像素重建回来,本质都是同一个思想。
MAE这类掩码自编码器有一个非常值得学习的设计细节:它不把全部可见块都塞进编码器,而是随机遮挡后再编码,把可见patch的数量压到四分之一。这个设计有两个作用。一是大幅降低计算量,训练更省资源;二是制造一个很难的任务,逼模型从全局语义出发去推断缺失部分,而不是靠像素局部的平滑性。解码器虽然参数量小、结构浅,却负责把语义特征还原成像素级信息。训练阶段解码器有一定作用,到了下游只保留编码器做特征提取。
下面是一个简化版的随机遮挡逻辑,帮助理解“遮多少、怎么遮”:
def random_masking(x, mask_ratio=0.75): # x: [B, L, D] 已分patch的序列 B, L, D = x.shape len_keep = int(L * (1 - mask_ratio)) noise = torch.rand(B, L, device=x.device) ids_shuffle = torch.argsort(noise, dim=1) ids_keep = ids_shuffle[:, :len_keep] x_masked = torch.gather( x, dim=1, index=ids_keep.unsqueeze(-1).repeat(1, 1, D) ) return x_masked, ids_keep, ids_shuffle经验上,图像任务的高掩码比例通常设置在75%左右,太低会让任务太简单,模型直接用周围像素插值就能过关,学不到高层的语义。这个比例和语言模型里“随机遮挡15%的词”完全不同,原因在于文本的信息密度远高于图像,遮太多会让任务失去可解性。
生成式预训练的优点是任务形式极其干净,不必构造负样本,也不依赖大batch内的样本多样性,训练稳定性高。它的缺点是像素级重建目标包含大量高频细节,模型可能把计算资源花在还原纹理上,忽略了更高层的结构信息。所以做这类方法,评测下游任务时要注意:预训练损失降得漂亮,不代表迁移效果一定最好。
3.3 非对比学习:不用负样本,怎么防坍塌
对比学习依赖负样本,这带来两个麻烦:一是大batch需求让显存吃紧,二是负样本的质量影响非常大。非对比学习则走了另一条路:没有负样本,只用两个视角互相对齐,也能学到有价值表示。最经典的例子是BYOL结构:一个在线网络、一个动量更新的目标网络,以及一个额外的预测头,让在线网络输出的向量去预测目标网络输出的向量。
这听起来很矛盾:如果没有负样本,模型最省事的做法就是把所有输入都映射到同一个点,损失照样降到零,这种现象叫“表示坍塌”。BYOL的关键是用stop-gradient机制切断了这条短路路径。预测头只能被在线网络一侧的梯度更新,目标网络通过动量慢速跟随,这让孩子模型追着一个缓慢移动的目标学习,反而让表示越来越丰富。
后续研究进一步发现,只要有stop-gradient,单分支结构也能训练成功,这证明防坍塌的关键不是负样本,而是非对称的结构设计。这个结论在当时引发了大量讨论和复现,也带出了很多关于“批归一化是否会泄露信息”“是否在偷偷引入隐式负样本”的争论,反而是这些争论把自监督学习的研究推向更严谨的层面。
非对比学习适合计算资源有限、无法使用超大批次的场景,实现也相对简单。它最需要调的是动量系数和预测头结构,动量系数太大会让目标网络更新过慢,太小又接近普通反向传播,效果都会打折扣。
3.4 选型建议:什么场景用哪条路线
面对三条路线,一个常见误区是盲目追求“最新最强”。从实践角度看,选择什么样的自监督方案,取决于你的数据形态、下游任务和算力预算。
| 技术路线 | 核心思想 | 代表算法 | 最适用场景 | 主要代价 |
|---|---|---|---|---|
| 对比学习 | 拉近正样本、推开负样本 | SimCLR、MoCo | 检索、重识别、小样本分类 | 负样本质量和batch size敏感 |
| 非对比学习 | 互相预测但不走捷径 | BYOL、SimSiam | 资源有限、需要稳定训练 | 结构设计要仔细调 |
| 生成式预训练 | 破坏输入再重建 | MAE、BERT | 通用特征迁移、大模型基础 | 预训练目标与下游可能不一致 |
如果你的任务是对抗式检索、行人重识别这类对细粒度区分要求极高的场景,对比学习通常更合适。如果你的数据是视频、传感器时序这类连续信号,生成式重建往往更稳。如果目标是大规模预训练,再往后面做多任务适配,那么自回归生成式预训练已经成为默认选项。最好的策略不是押注某一种路线,而是选择一个主干方案后,用下游任务做消融,决定最终保留哪一个。
4. 推动领域的研究者:风格、争论与共识
4.1 研究者的“匿名群像”:他们共享的设计直觉
自监督学习领域从来不缺明星研究者,这里不准备列一份“人名荣誉榜”,因为容易变成粉丝滤镜。我更想把塑造这个领域的几类研究风格抽象出来,你会发现很多重要工作的设计直觉惊人一致。
第一类是“系统派”。他们习惯从理论或宏观认知层面思考问题,坚信无监督表示学习是智能的关键能力,早期反复用神经科学和认知科学类比来论证“预测是理解的基础”。这一类研究者为领域提供了长期方向和底层信念,当深度学习还在依赖手工特征时,他们已经在布局“无标签数据也能训练”的长期路线。
第二类是“叛逆派”。他们不迷信主流任务,敢于用最简单的设定挑战复杂方案。比如当所有人都在研究怎么设计更好的负样本时,他们大胆提出“去掉负样本”也可以训练,然后以身作则地做出一套完整方案。这类研究者的共同点是愿意挑战直觉,又用充分的消融实验说服同行。领域里的“螺旋式进步”大多来自这种对立观点之间的碰撞。
第三类是“工程派”。他们关心的事情非常简单:什么设置能够稳定地在ImageNet级别数据上训练成功,什么代码能够在八块GPU上跑完而不爆显存。这类研究者推动了数据增强流程、动量队列、大规模分布式训练等工程细节成熟,让自监督学习从论文走向可复现的实践。没有这批人,SimCLR、MAE这些方法不可能被社区迅速吃透。
三类风格的共同底层假设都是:数据中存在比人工标签更丰富、更便宜的结构信息,而深度网络有能力把这个结构信息提取成通用特征。这个信念一代代传下来,最终汇聚成大模型时代的预训练-微调范式。
4.2 领域内真正重要的三次思想争论
研究者的价值往往体现在争论里,而不是共识里。自监督学习历史上三次思想争论,每次都对领域发展起到了关键推动作用。
第一次争论发生在对比学习内部:负样本到底需不需要那么难?有人坚持负样本的多样性比难度重要,有人用实验证明只要batch够大,简单负样本也足够。最终MoCo的动量队列和SimCLR的大batch殊途同归,都指向同一个结论:负样本的规模和覆盖度是关键,而不是单个负样本的难度。
第二次争论更颠覆:如果没有负样本,模型会不会坍塌?BYOL出现后,不少研究者怀疑它是不是用批归一化“作弊”,因为批归一化在计算统计量时隐式引入了同批次样本的信息。后续SimSiam实验证明,即使去除动量编码器、使用普通归一化,只要保留stop-gradient,模型依然能工作。这个争论反复折腾了小半年,最终让社区接受了“非对称结构+stop-gradient”这个设计原则。
第三次争论是生成式和判别式谁能学到更好的表示。对比学习在视觉任务上表现强势,而生成式预训练在语言领域统治一切。MAE出现后,生成式在视觉领域也追了上来,但很多人仍然反驳:像素重建是否过于低级。目前这个争论没有完美收场,而是被大模型实践绕过:自回归生成方式成为主流,但表示学习评测仍然保留对比式评测协议。争论本身教会研究者的道理是:任何方法都有其适用的归纳偏置,没有银弹。
4.3 开源生态与“可复现文化”的价值
自监督学习能发展得这么快,开源生态功不可没。这个领域天然依赖大规模实验,单靠论文里的图表很难判断一个方法是否真的有效。于是社区形成了一条不成文的规矩:论文必须配套代码和预训练权重,重要结论必须有消融实验支撑。一个方法如果作者自己不把代码开源,很难获得足够的信任和引用。
这种文化反过来塑造了研究者的工作方式。顶会的审稿人已经默认,对比实验里至少要有三四个不同路线的基线,并且要列出具体的增强、优化器、学习率设置。当研究者隐瞒“我们做了哪些trick才跑出这个数字”时,很快会被复现实验揭穿。这整个过程让自监督学习成为AI领域里少有的“高可复现”方向之一,也让新手入门变得相对友好:你不需要从零搓一个框架,拿官方代码,改一改数据和参数,就可以复现绝大多数经典方法。
对后来者的建议是,不要把读论文当成看小说,要当成拆解代码的说明书。一篇自监督论文的核心贡献,百分之八十体现在训练设置和细节里,剩下的百分之二十才是损失函数和网络结构。
5. 自监督学习带来的现实改变:算法、工程与产业
5.1 大模型的基础设施:预训练走向规模化
自监督学习对产业最直接的影响,是让“预训练+微调”成为AI应用的标准开发流程。以前训练一个文本分类器,要为一个数据集专门造一套标注规则;现在先用通用大模型做预训练,到具体任务时只需要少量样本做适配。这个过程大幅降低了AI落地的人力门槛,也把竞争焦点从“谁有更多标注数据”转向“谁有更强的算力和更好的训练配方”。
伴随规模化而来的还有一系列新的研究问题。数据质量怎么清洗,tokenizer怎么设计,学习率怎么规划,多机多卡怎么并行,全都变成了自监督预训练里必须解决的实际问题。这些工程细节虽然不直接出现在模型结构论文里,但恰恰是自监督学习落地成产品的真正护城河。今天一个团队如果要训练自己的基础模型,预算大头往往不是网络结构,而是数据管线、分布式训练和实验管理。
5.2 视觉领域的普惠效应:少样本和长尾场景
视觉任务长期依赖人工标注,自监督预训练让这个依赖明显松动。医学影像就是典型场景:高质量的标注需要资深医生花费大量时间,但未标注的影像数据在医院系统里大量沉淀。先在这些数据上用掩码重建或者对比学习做预训练,再把少量标注样本用于微调,已经能取得接近全监督训练的性能。对资源有限的团队来说,这是性价比极高的路线。
遥感、工业质检、安防等长尾场景也在受益。这些场景里的目标形态千奇百怪,公共预训练模型不一定覆盖得好,但每个机构都积累了海量未标注的内部数据。自监督学习允许这些机构用内部数据训练专属的视觉基础模型,而不是去采购越来越贵的标注服务。这个范式一旦跑通,会改变很多垂直行业的软件开发模式。
5.3 多模态、具身智能与科学计算
多模态模型是自监督学习的最新窗口。图文对比、音视频对齐、视频时间掩码,这些任务让模型在跨模态数据上学习统一表示,是实现图文检索、视频理解、图文生成的关键。进一步延伸到具身智能领域,机器人可以先在仿真和真实视频上做自监督预训练,学习“物体的移动规律”“手部和物体的交互关系”,再在具体操控任务上用小规模强化学习或示范数据微调。这种“预训练掌握常识,微调掌握技能”的路径,和语言模型的成功逻辑高度相似。
科学计算也在吸收自监督思想。蛋白质结构、分子性质、气候序列这类数据有大量无标签样本,科学家可以用掩码重建任务让模型先学会序列的内部规律,再在下游完成性质预测或结构生成。对于标注成本极高、实验验证缓慢的科学场景,自监督学习的价值不是锦上添花,而是把原本不可行的数据利用方式变成可行。
6. 新手避坑:从理解到复现的认识清单
6.1 一个三周起步的复现路线
看完理论,真正上手才会产生质变。如果你完全没跑过自监督模型,我建议走一条“小数据集快速打通”的路线,而不是一开始就奔向ImageNet和几十亿参数。
第一周,选择一个公开小数据集,把SimCLR官方实现跑通。不要改任何默认参数,先用一套通用增强,跑完线性评测和微调评测。第二周,换成MAE,把patch大小、掩码比例和训练轮数各调一轮,直观感受这三个参数对表征质量的影响。第三周,把两者在同一个下游任务上做公平对比,记录线性探测和微调两种评测方式下的差异。你会发现,很多论文里的结论,在换数据集后会展现出另一张脸。
这个路线不需要昂贵的硬件,单卡中高配就能跑完整个流程。目标是建立三个感觉:数据增强对模型效果的影响幅度、损失函数在训练过程中的变化形态、以及下游评测和预训练损失之间的弱相关性。
6.2 复现时一定会遇到的五个坑
自监督模型实现看起来简单,真正复现时坑比想象中多。整理几个高频问题,方便你排查。
| 现象 | 可能原因 | 处理办法 |
|---|---|---|
| 训练loss下降,下游评测却很差 | 数据增强组合太弱,或温度参数不合适 | 先检查增强是否足够强,再小范围搜索温度 |
| GPU显存爆炸 | 对比学习batch太大 | 改用动量队列,或使用梯度累积 |
| 实验反复横跳,结果不稳定 | 随机种子不固定,数据加载顺序不一致 | 统一种子,固定shuffle以及测试集顺序 |
| 模型不坍塌但收敛极慢 | 正样本对构造太简单,或负样本不够多样 | 增加增强强度,检查负样本是否来自同一个大batch |
| 微调后反而不如基线 | 预训练域和目标域差异过大 | 用更多目标域数据进行中间态预训练,或选择合适层做特征 |
细节决定自监督复现成败。数据增强的每一条分支都可能改变最后的评测结果,所以不要直接拿官方代码到自己的数据上赌运气,先逐步检查数据管线是否达到了预期的增强强度。
6.3 如何长期跟踪领域发展
自监督学习领域迭代速度快,最怕只看综述不看代码,也怕只追热点不做评测。我的习惯是定期过一遍新论文的摘要图,凡是提出新任务的,优先读;凡是只换数据集刷分数的,基本跳过。想让信息密度更高,可以直接盯住几个经典基线在论文社区下面的复现讨论区,那里往往能看到比论文作者回答更诚实的评价。
跟踪重点应该放在“新的代理任务设计”和“新的训练稳定性手段”上,因为这两类工作是真正推动范式演进的。至于某些花了很多工程技巧把精度提升0.5%的文章,价值通常局限在特定场景,不值得花太多时间。还要注意维护自己的小实验库:每次读到有意思的想法,尽量在小数据集上快速验证,积累个人判断力。
最后再从探索角度说一句:自监督学习的核心不是省掉人工标注,而是逼着你重新理解数据里本来就有哪些结构。很多看起来复杂的trick,最后都能回溯到“我要让表示保持一致性”这句话上。如果你正在入门,建议从一个小实验开始,找一个小数据集把SimCLR或MAE的流程完整跑通,跑通之后再回头读论文,你会看到完全不一样的细节。