文章链接:https://arxiv.org/abs/2207.01328
项目地址:https://github.com/zjukg/DUET
该论文设计了一种新的零样本学习范式,通过迁移语言模型中的先验语义知识,与视觉模型的特征感知能力进行对齐,以增强后者对于未见过图像的识别能力。
引言
零样本学习(Zero-shot learning, ZSL)旨在预测在训练期间从未出现过样本的未知类别。对于零样本图像分类来说,最有效且广泛使用的语义信息是属性,它们用于描述类别级别视觉特征。然而当前的方法难以区分图像间的微妙视觉差异,这不仅来源于细粒度属性注释的不足,还由于属性间的不平衡和共现现象。
在本文中,作者提出了一种基于Transformer的端到端零样本学习方法(DUET),它通过自监督的多模态学习范式将来自预训练语言模型的潜在语义知识进行整合。贡献如下:
(1)开发了一个跨模态语义基准网络,以研究模型从图像中分离语义属性的能力;
(2)应用了基于属性级对比学习的策略,进一步增强模型对细粒度视觉特征的区分能力,克服属性的共现和不平衡问题;
(3)提出了多任务学习策略,考虑多模型目标。该方法可以同时在连续型的属性向量和离散型/结构化属性特征场景下工作,具有比较好的迁移泛化能力。
传统的零样本学习范式v.s. DUET学习范式
传统的零样本学习模式主要强调利用更多外部类别知识、进行数据增强,或研究更好的视觉编码器。相比而言,该框架强调跨模态模型的知识迁移(图3所示)。利用预训练语言模型(PLMs)的知识,以自监督的方式将知识转移到视觉转换器编码器中,从而实现对细粒度语义的有效定位。
具体来说,其利用基于提示(prompt)的特征序列转换(FST),将不同类型的属性转换为文本序列。通过跨模态的语义定位网络(Cross-modal Semantic Grounding)和属性级对比学习(attribute-level contrastive learning)机制,利用跨模态的掩码复原(cross-modal mask reconstruction)训练目标从PLM中传递语义知识,同时缓解属性不平衡和共现问题,提高模型对细粒度视觉特征的区分能力。
方法概览
本文引入了一个巧妙的属性级别对比学习的模式,让模型来重点关注那些整体相似的图像中,容易造成困扰的细粒度特征差异。
-
第一步是属性值序列化,文章从nlp社区中广泛运用的prompt中获得启发,借鉴表格预训练中的序列化模式,将图片属性值以key: [value,…]的形式进行文本序列化。这样做的好处是可以兼容多种不同的属性格式,包括知识图谱(KG)形式,向量形式,离散格式。当然,为了增加属性分布的多样性(diversity),作者对属性列表进行了基于概率的剪枝(attributes pruning),目的是为了防止模型因为属性的频繁共现而陷入懒惰学习。
-
跨模态的掩码复原。想法其实很直接,图像和文本同时输入,文本掩码,让模型强制从图像信息中获得相关属性来恢复掩码。这种方法其实在早期的多模态预训练模型中非常见,目的是让模型对齐视觉/语言的理解。而本文用一种巧妙的方法,让视觉模型的零样本学习能力得到了强化:
-
使用预训练的语言模型(Bert)+预训练视觉模型(ViT,Swin,DeiT等),通过添加跨模态注意力层(cross-attention layer)进行桥接,而不是直接用多模态预训练模型。这样的好处是可以最大程度利用语言模型的语义信息和视觉模型的理解能力。
-
在视觉模型选择上,规避掉了使用ImageNet-21K进行预训练的模型,避免零样本测试过程中样本泄露。(测试集的图片不应该在预训练过程见过)
-
属性级别的对比学习(Attribute-level Contrastive Learning)。本文的核心贡献点,可以用图1表示:对于一个目标样本,选择与其整体特征相似度高的作为负样本,与其整体特性相似度低的作为正样本。对于一个正负样本对,其需要与目标样本有公共的属性key(比如“羽毛图案”),在这种情况下,对负样本的要求是,其他属性尽可能相似,而“羽毛图案”不同; 对正样本的要求是,其他属性尽可能不同,而“羽毛图案”相同;最后,在属性的掩码-恢复过程中,模型被迫找到两个差异悬殊图片中细粒度的属性交集,两个非常相似图片中细粒度的属性差异,从而实现属性感知的解耦。
当然,论文在实现上还有许多其他的细节内容,比如多任务学习,以及概率采样,感兴趣的同学可以阅读原文。
实验效果
本文作为语言模型在零样本学习上的第一次尝试,在不同数据集上取得了优越甚至sota的效果。其中较为明显地看到,在 标准ZSL数据集(AWA2,CUB,SUN)上,相比于传统ResNet-based的方法,视觉预训练模型对于可见类的预测效果有明显提升(Seen class)。而在 K-ZSL数据集 上,模型也可以达到SOTA效果。此外,模型还获得了细粒度属性预测的附带能力,这是相比传统模型的额外优势。
总结
随着最近大语言模型(large language model,LLM),和多模态LLM的发展与兴起,每个领域的众多子任务,就平均水平而言都被提高到了一个新的层次。然而,如何利用一种更有效的方法来开发/唤醒模型对于细节的认知,依然存在着挑战。拥有更好的特征组合能力,对于零样本/长尾对象的识别,是很重要的一个发展方向。虽然大模型的一个特点就是天然的零样本能力,但这是由训练语料的庞大所带来的。而传统方向的研究中,作为长尾现象的衍生,零样本学习依旧是一个重要的问题,在LLM时代重新思考这个方向,是后续研究者需要重点关注的问题。