零训练ASIF用160万对,ImageNet零样本60.9%

ASIF: Coupled Data Turns Unimodal Models to Multimodal Without Training

Antonio Norelli, Marco Fumero, Valentino Maiorca, Luca Moschella, Emanuele Rodolà, Francesco Locatello

cs.LG, cs.AI, cs.CV

2022-10-05

ASIF不更新参数,靠160万图文对对齐冻结编码器,ImageNet零样本60.9%,CLIP用4亿对为68.6%。

这篇在解决什么

CLIP 把图像和文本放进同一个向量空间。零样本分类不必再训分类头:给每个类别写一句提示词,选离图像最近的那句。两个空间要对齐,靠的是海量图文对上的对比学习。原版 CLIP 用过 4 亿对私有数据,公开子集也有 1500 万对。LiT 只训文本编码器、锁住预训练视觉网络,配对数据仍在 1000 万到 9.01 亿之间。

权重不公开就用不上。预测难以追溯到具体样本。图文对失去授权时,抹掉它对网络的影响要靠机器遗忘。ASIF 把问题收窄:两个冻住的单模态编码器,加一小批成对图文,一个参数都不更新,能不能接近 CLIP 的零样本分类。

方法

靠近的图片,配文往往也靠近。ASIF 拿一批图文对当锚点,把新样本写成「和每个锚点有多像」。这个向量叫相对表示(relative representation):维数等于锚点数,每一维是余弦相似度。图像只跟锚点图像比,文本只跟锚点文本比,两个向量落在同一坐标系。给新图找句子时,把它的相对表示当作理想配文的相对表示,在候选句里取最近邻。可以把它想成一本对照词典:新图先在图这边查近邻,再拿同一批条目的文字去对句子。

锚点取 CC12M 的前 160 万对,网页图片配过滤后的替代文本。图像端二选一:有监督 DeiT base(ImageNet-1k,768 维),或自监督 DINO ViT-S/8(ImageNet-21k,384 维)。文本端是 Sentence-Transformer,语料超过 10 亿句。三个网络全程冻结。

裸相似度不好用。稀疏化只留最大的 k 维,其余置零。锚点是百万级,k 只有几百,否则不相似条目上的小分数会盖住真正的近邻。再把留下的相似度提高到 p 次方(p 不小于 1),让最像的锚点说了算。主实验在 ImageNet 验证集上取 k=800、p=8。k 远小于锚点数是硬条件。

嵌入库就是模型。写入或删除一条向量,几秒换一版。非零维至多 k 个,都能指回具体图文对。候选句子可以现写,开放词表分类因此能换掉 CLIP。推理要扫整库,未优化时比 CLIP 慢不到 2 倍。

结果

ImageNet 零样本,有监督 ASIF 为 60.9%,DINO 版为 53.0%。公平的对照是 ViT-B/16 量级的两行:4 亿对 CLIP 为 68.6%,1000 万对 LiT 为 66.9%。ASIF 比前者低约 8 个点,图文对少 250 倍;比后者低 6 个点,图文对大约少 6 倍。1500 万对的公开 CLIP(YFCC100M 的筛选子集)只有 31.3%。9.01 亿对、ViT-B/32 的 LiT 为 70.1%,同设置下 Zhai 等人报告的 CLIP 为 50.6%。后两行编码器更弱,不宜拿来宣称 ASIF 赢过 9 亿对的 CLIP。DINO 的编码器更小(384 维对 768 维),和 DeiT 那一档不能算完全公平。

方法图文对ImageNet 零样本
CLIP,ViT-B/164 亿,私有68.6%
CLIP1500 万,公开31.3%
LiT,ViT-B/161000 万,公开 CC12M66.9%
CLIP,ViT-B/32(Zhai 等)9.01 亿,私有50.6%
LiT,ViT-B/329.01 亿,私有70.1%
ASIF,DeiT 有监督160 万,公开 CC12M60.9%
ASIF,DINO 无监督160 万,公开 CC12M53.0%

表 1 还报了 CIFAR-100、Oxford Pets、ImageNet v2。抽取后这三列和七行对不齐,不逐格转引。论文的判断是同一量级。

只用前 1 万对,ImageNet 就到 18%,1000 类乱猜约 0.1%。从百级加到百万级,DeiT tiny、small、base 和更小的句子编码器都在变好,曲线没有见顶。160 万的上限是单张 Tesla T4 放得下。

EuroSAT 十类卫星图:无监督零样本 29.4%,CLIP 为 54.1%。补 100 条该数据集的图文对,只存嵌入,准确率到 82.2%±2.0。乘积量化、倒排索引、删掉从不命中的锚点都写在讨论里,没有速度数字。

为什么重要

编码器已经在手里时,对齐是一次数据操作,不是一次训练。DINO 拿到 53.0%,视觉端没有类别标签。网络比 DeiT 小(384 维对 768 维),所以这不是一次干净的消融,但标签并不是对齐的唯一来源。授权失效就删嵌入。凑不齐上亿图文对时,这是一条能复现的基线。

做分类时它只是渐进改进。数据和预算都够的时候,它仍然低于 CLIP 和 LiT,还得把整库嵌入放在推理路径上。留下的问题是:只记嵌入就能随数据变好,对齐里到底有多少是检索。

局限与存疑

数据充足时它低于 CLIP 和 LiT。相对表示即使用了稀疏,维度仍高,文生图直接用不了。实验只有零样本分类,检测和检索没做,数据集选择跟随 LiT。

ImageNet 这一格经不起细看。有监督 DeiT 训在 ImageNet-1k,评的又是 ImageNet。分类头是新的,视觉特征不是。Fig. 6 里,凯旋门查询召回的也是拱门和古迹,语义间隙很小。DINO 的 53.0% 只排除了「标签直接泄漏」,特征仍来自 ImageNet-21k 图像。论文说 LiT 的预训练和测试也是这么配的,间隙若是问题,CLIP 和 LiT 一样要答。这是把举证责任推回去。语义距离没有测。论文自己也要求更宽的任务和这种距离分析,这里都没有。

k 和 p 在 ImageNet 验证子集上选定。换数据集调参时数字大体稳定,主表仍是同一分布族上的超参。配文可以一票否决编码器:邻居句子若是文件名或相机参数,类就对不回来。CC12M 的替代文本是网页噪声,1 万对能到 18% 和 160 万对的天花板,都跟这个有关。1500 万或 4 亿对上追不追得上 LiT,没有实验。

术语

原文与代码

社区讨论

相关论文

全部论文解读