ArtVLM: Attribute Recognition Through Vision-Based Prefix Language Modeling¶
会议: ECCV 2024
arXiv: 2408.04102
代码: 无(数据集VGARank已发布)
领域: 多模态VLM
关键词: 属性识别, 生成式检索, PrefixLM, 对比学习, 条件依赖建模
一句话总结¶
本文提出将视觉属性识别问题重新建模为基于图像条件的前缀语言模型(PrefixLM)下的句子生成概率问题,通过"生成式检索"(Generative Retrieval)替代传统的"对比式检索"(Contrastive Retrieval),显式建模物体-属性间的条件依赖关系,在VAW和新提出的VGARank数据集上显著超越对比检索方法。
研究背景与动机¶
-
领域现状:视觉属性识别(如颜色、材质、形状等)是计算机视觉的基础任务。CLIP等大规模图像-文本模型在零样本物体识别上取得了巨大成功,自然地让人思考是否可以用于属性识别。
-
现有痛点:直接用CLIP进行属性识别存在两个核心问题:
- 属性信息被忽略:对比学习在预训练时,如果对象本身就足以区分图文对,模型不需要学习细粒度的属性信息,导致下游属性任务时性能不佳。
-
无法建模条件依赖:对比式检索将文本视为无序整体进行全局对齐,无法捕捉词序关系,因此不能正确评估反事实组合(如"bell-shaped sky"、"graffitied sky")的合理性。
-
核心矛盾:属性识别本质上需要理解物体与属性之间的共依赖(co-dependency),但对比学习的全局对齐范式天然忽略了这种结构化依赖。
-
本文解决什么:如何从大规模视觉语言模型的预训练知识中,正确提取并利用物体-属性的条件依赖关系。
-
切入角度:用前缀语言模型(PrefixLM)的自回归生成概率替代对比相似度来衡量图像与属性描述句的匹配程度。
-
核心idea:属性识别 = 给定图像,在不同属性描述句之间做条件概率比较,而这个条件概率可以通过PrefixLM的生成交叉熵来精确计算。
方法详解¶
整体框架¶
输入图像 \(v\) → CoCa模型(包含对比分支和生成分支)→ 对每个候选属性类别构造描述句 \(t^{(c)}\) → 计算生成式交叉熵损失 \(L^{(gen)}(v, t^{(c)})\) → 选择损失最小的类别作为预测结果。
关键设计¶
- 图像条件前缀语言模型(PrefixLM):
- 做什么:以图像为条件,自回归地生成文本描述
- 核心思路:将文本生成概率分解为逐词条件概率的乘积: $\(p(x|v) = \prod_{i=1}^{n} p(s_i | v, s_1, \dots, s_{i-1})\)$ 这种分解天然地捕获了文本中各个词之间的序列依赖关系,因此预训练过程中模型能够学习到"orange cat"与"blue sky"这类物体-属性组合的条件共现模式。
-
设计动机:相比对比学习将文本编码为单一向量后做全局匹配,PrefixLM的逐词生成保留了词序信息和依赖结构,能区分"fluffy cat"和"cat is fluffy"这样的语义差异。
-
生成式检索(Generative Retrieval):
- 做什么:用生成式交叉熵替代对比式L2距离来衡量图文匹配
- 核心思路:对于候选属性类别 \(c\),构造句子 \(t^{(c)}\),计算: $\(L^{(gen)}(v, t) = -\sum_{i=1}^{N} \hat{p}(t_i) \log q_\theta(v, t_{j|j<i})\)$ 其中 \(\hat{p}(t_i)\) 是第 \(i\) 个token的one-hot编码,\(q_\theta(v, t_{j|j<i})\) 是模型在给定图像和前文的条件下对第 \(i\) 个token的预测概率分布。分类结果为 \(c = \arg\min_i L^{(gen)}(v, t^{(i)})\)。
-
设计动机:对比检索的 \(L^{(con)} = \|f(v) - g(t)\|_2\) 对文本做了"无序化"处理,丢失了物体-属性之间的结构化关系。
-
条件依赖建模——句子模板设计:
- 做什么:通过工程化设计不同的句子模板,在推理时构建不同的概率图模型
- 核心思路:四种句子模板对应四种不同的条件依赖图:
- "{A}":最简单的分类,只建模 \(p(\text{A}|v)\)
- "{O} is {A}":类似MLM,近似 \(p(\text{A}|v, \text{O})\)
- "{A}{O}":先识别属性再验证物体兼容性,建模 \(p(\text{A}|v) \cdot p(\text{O}|v, \text{A})\)
- "{A}{O} is {A}":混合模型,同时捕获三个概率因子:属性分类 \(p(\text{A}|v)\)、属性-物体兼容性 \(p(\text{O}|v,\text{A})\)、物体条件下的属性预测 \(p(\text{A}|v,\text{O})\)
-
设计动机:不同应用场景需要不同的概率建模方式,本文的框架通过简单改变句子模板即可在推理时灵活切换,无需重新训练,因此称为"元模型"。
-
微调策略:
- 做什么:在下游数据集上轻量级微调
- 核心思路:引入可学习的偏置 \(\mu_c\) 和缩放因子 \(\sigma_c\),将生成式检索的原始分数转换为概率: $\(p_c = \text{sigmoid}\left(-\frac{L^{(gen)}(v, t^{(c)}) - \mu_c}{\sigma_c}\right)\)$
- 设计动机:不同属性类别的生成式交叉熵分数分布范围相似(因为句子长度相近),只需学习简单的rescale参数即可适配新数据集。
损失函数 / 训练策略¶
- 预训练:使用CoCa(ViT-B/16, 224×224),在LAION数据集上进行对比+生成式联合预训练
- 微调:用交叉熵损失优化 \(p_c\),batch size=4,学习率1e-5线性衰减至0,100k步训练(约1.8 epoch)
- 初始化:\(\mu_c = -15.0\),\(\sigma_c = 0.5\),基于生成式检索分数的经验分布选取
- 单机TPUv3训练,平均微调时间约7小时
实验关键数据¶
主实验¶
| 数据集 | 指标 | 本文(Gen最佳) | 对比检索(Con最佳) | 提升 |
|---|---|---|---|---|
| VAW (零样本) | Rank↓ | 56.0 ("{A}{O}is{A}") | 95.1 ("{A}") | -39.1 |
| VAW (零样本) | mR@15↑ | 35.9 | 32.0 | +3.9 |
| VAW (微调) | Rank↓ | 10.6 | 12.2 | -1.6 |
| VAW (微调) | mR@15↑ | 62.6 | 59.8 | +2.8 |
| VAW (微调) | mAP↑ | 72.0 | 69.6 | +2.4 |
| VGARank-A (零样本) | Rank↓ | 12.0 | 16.1 | -4.1 |
| VGARank-A (零样本) | R@1↑ | 17.6 | 9.7 | +7.9 |
| VGARank-O (零样本) | Rank↓ | 5.8 | 5.9 | -0.1 |
消融实验(句子模板效果对比 - VAW零样本)¶
| 配置 | Rank↓ | mR@15↑ | 说明 |
|---|---|---|---|
| Gen "{A}" | 82.1 | 28.7 | 纯分类,无物体先验 |
| Gen "{A}{O}" | 63.9 | 35.9 | PrefixLM模式 |
| Gen "{O}is{A}" | 61.9 | 32.9 | 类MLM模式 |
| Gen "{A}{O}is{A}" | 56.0 | 31.7 | 混合模型,最优 |
| Con "{A}" | 95.1 | 32.0 | 对比基线 |
| Con "{A}{O}" | 149.8 | 22.4 | 加物体反而变差 |
与SOTA对比(VAW微调 mAP)¶
| 方法 | Overall | Head | Medium | Tail |
|---|---|---|---|---|
| SCoNE | 68.3 | 76.5 | 64.8 | 48.0 |
| TAP (无域内预训练) | 65.4 | - | - | - |
| TAP (域内预训练) | 73.4 | 77.6 | 72.9 | 58.8 |
| 本文 "{O}is{A}" | 72.0 | 74.9 | 72.0 | 60.6 |
关键发现¶
- 生成式检索在零样本和微调设置下均显著优于对比检索,特别是在零样本场景下优势更为明显(Rank: 56.0 vs 95.1)
- 对比检索中加入物体信息(如"{A}{O}")反而导致性能大幅下降,说明对比学习确实无法有效利用物体-属性的结构化关系
- 混合句子模板"{A}{O} is {A}"在属性识别任务上最优,但在物体识别任务(VGARank-O)上不如"{A}{O}"
- 本文方法在中尾部(Medium/Tail)类别上的优势特别突出,体现了预训练知识的泛化能力
亮点与洞察¶
- 概率建模视角的创新:将属性识别重新定义为条件概率图的推断问题,通过句子模板在推理时灵活构建不同的概率模型,这是一种优雅的"元建模"思想
- PrefixLM天然适合结构化推理:对比学习丢失词序,PrefixLM保留依赖关系,这一洞察可以推广到其他需要结构化理解的视觉-语言任务
- 轻量微调策略:只学习每个类别的bias和scale两个参数,极其高效
- 长尾属性表现突出:利用预训练知识而非拟合数据集分布,因此在罕见属性上表现更好
局限性 / 可改进方向¶
- 使用CoCa Base模型(ViT-B/16, 224分辨率),模型规模较小,未探索更大模型的效果
- 生成式检索需要对每个候选属性计算一次前向传播,当候选集很大时效率较低
- 句子模板需要人工设计,自动化搜索最优模板的方法有待探索
- 仅在属性识别任务上验证,可以进一步推广到视觉关系检测、场景图生成等结构化推理任务
相关工作与启发¶
- vs CLIP + 对比检索:CLIP对属性级别的细粒度信息不够敏感,对比式匹配无法建模条件依赖,本文通过切换为生成式范式从根本上解决了这两个问题
- vs SCoNE/TAP:这些方法依赖域内训练和任务特定模块,本文聚焦于从预训练中提取通用知识,因此在长尾类别上更有优势
- vs VQA方法 (LXMERT/UNITER):这些方法使用MLM或图文匹配,本文表明PrefixLM可以近似MLM且具有更强的表达能力
评分¶
- 新颖性: ⭐⭐⭐⭐ 将属性识别建模为条件概率图推断是非常新颖的视角,句子模板作为元模型的思想很有启发性
- 实验充分度: ⭐⭐⭐⭐ 两个数据集,多种模板详细对比,还提出了新benchmark VGARank,但模型规模单一
- 写作质量: ⭐⭐⭐⭐ 逻辑清晰,概率模型部分的推导严谨,图示直观
- 价值: ⭐⭐⭐⭐ 对"如何正确从VLM中提取结构化知识"这一问题提供了系统性的解答,对属性识别和更广泛的视觉推理领域都有启发