自监督学习新范式CAE:为什么 MIM 比对比学习更适合下游任务?

机器之心专栏
作者:陈小康
来自北京大学、香港大学和百度的研究者近日提出了一种名为CAE的新型MIM方法 。
掩码建模方法 , 在NLP领域(例如BERT)得到了广泛的应用 。 随着ViT的提出和发展 , 人们也尝试将掩码图像建模(MIM)应用到视觉领域并取得了一定进展 。 在此之前 , 视觉自监督算法主要沿着对比学习(contrastivelearning)的思路去设计 , 而MIM无疑打开了新的大门 。
来自北京大学、香港大学和百度的研究者近日提出了一种名为CAE的新型MIM方法 。 该方法通过对“表征学习”和“解决前置任务(pretexttask)”这两个功能做完全分离 , 使得编码器学习到更好的表征 , 从而在下游任务上实现了更好的泛化性能 。
论文地址:https://arxiv.org/abs/2202.03026
该研究回答了如下几个问题:
1.MIM方法中 , 网络结构的哪个部分是学习表征的 , 哪个部分是解决前置任务的?
2.为什么之前典型的对比学习方法 , 在下游任务(例如检测、分割)上只能取得跟监督预训练方法类似的性能?
3.MIM方法为什么优于目前的对比学习方法?
1.背景
MIM是一种自监督表征学习算法 。 它的主要思路是 , 对输入图像进行分块和随机掩码操作 , 然后对掩码区域做一些预测 。 预测的目标可以是TokenID(BEiT) , 也可以是RGB的值(MAE) 。 编码器能够通过MIM学得一个好的表征 , 从而在下游任务上取得良好的泛化性能 。
近期MIM有两个代表性工作:BEiT和MAE 。
BEiT使用一个编码器做两件事:(1)学习一个好的图像表征;(2)解决前置任务:预测掩码patch的TokenID 。 编码器的潜力并没有完全被挖掘 , 只有部分被用来学习表征 。
MAE使用了编码器-解码器架构 , 编码器负责对可见patch进行表征学习 , 解码器将可见和掩码patch的表征(使用一个可学习的向量)作为输入 , 预测掩码patch的RGB值 。 但是 , MAE在解码器中也会对可见patch的表征进行更新 , 实际上解码器也负责了一部分学习表征的功能 。
以上两种方法 , 都没有充分挖掘编码器的潜力 , 限制了预训练学习到的表征质量 。
2.ContextAutoencoder(CAE)
CAE设计的核心思想是对“表征学习”和“解决前置任务”这两个功能做分离 。 研究者希望在预训练时 , 编码器只负责表征学习 , 解码器只负责解决前置任务 , 这样可以尽可能大地挖掘编码器的潜力 。 CAE包括4个部分:(1)Encoder;(2)Latentcontextualregressor;(3)Decoder;(4)Alignment模块 。
自监督学习新范式CAE:为什么 MIM 比对比学习更适合下游任务?
文章图片
输入图像通过随机掩码被划分成可见patch和掩码patch两个部分 。 具体来说:
编码器(Encoder)是一个ViT模型 , 负责学习可见patch的表征 。
Latentcontextualregressor通过预测掩码patch的表征 。 Latentcontextualregressor由一系列交叉注意力(cross-attention)模块组成 , query是掩码patch的表征 , key和value是全部patch的表征 。 在计算query-key相似度时 , 该方法会引入每个patch对应的位置编码 。 在这个阶段 , 不断更新、变得更加准确 , 而不会更新 , 对图像特征的提取这个任务完全交给编码器 。
解码器(Decoder)只拿和对应的位置编码作为输入 , 通过预测掩码patch的某些性质 , 比如TokenID , 或者RGB的值 。 该研究的实验与BEiT类似 , 使用DALL-Etokenizer对输入图像token化 , 得到解码器的目标 。
潜在表征对齐(Latentrepresentationalignment)通过对添加约束 , 希望Latentcontextualregressor的输出和编码器的输出在同一编码空间中 。 该方法将图像的掩码patch也输入到编码器 , 获得这部分的表征 。 将作为学习的目标 。 计算的过程不会计算梯度 。