一、论文基本信息论文题目DeViSE: A Deep Visual-Semantic Embedding Model作者Andrea Frome、Greg S. Corrado、Jonathon Shlens、Samy Bengio、Jeffrey Dean、Marc’Aurelio Ranzato、Tomas Mikolov发表会议NeurIPS 2013研究方向视觉—语言表示学习、语义嵌入、零样本图像分类核心数据集ImageNet ILSVRC 2012 1K、ImageNet 2011 21KDeViSE全称为Deep Visual-Semantic Embedding。论文不再把图像识别简单看成固定类别中的多分类问题而是尝试将图像映射到由自然语言学习得到的连续语义空间中。这样一来模型不仅能够识别训练阶段见过的类别还有可能预测从未见过图像样本的新类别。(NIPS论文集)二、传统图像分类存在什么问题在传统图像分类模型中最后一层通常是一个固定维度的Softmax分类器。假设训练数据包含1000个类别模型就会输出1000个概率这种方法虽然直接有效但存在三个明显问题。1. 类别之间相互独立在Softmax分类器中“猫”“狗”“汽车”和“飞机”都只是不同的类别编号。模型并不知道猫和狗都属于动物汽车和卡车在语义上比较接近老虎鲨和牛鲨都属于鲨鱼钢琴和小提琴都属于乐器。从损失函数角度看把一只猫错误分类成狗与把猫错误分类成汽车通常都会被视为同样的错误。但是从语义角度看这两种错误明显不同。2. 分类器只能预测训练时定义的类别1000分类模型只能输出这1000个类别。即使测试图像中出现了一个视觉上很容易辨认的新类别只要它没有出现在训练类别中Softmax模型就无法直接输出它。例如模型训练时见过tiger sharkbull sharkblue shark。但没有见过“oceanic whitetip shark”。普通Softmax模型不可能直接输出这个新类别因为输出层中根本没有对应节点。3. 扩展类别需要大量人工标注如果希望模型从1000个类别扩展到10000个类别传统方式通常需要为新类别采集大量图像对图像进行人工标注扩展分类器输出层重新训练或微调整个模型。随着类别数量增加长尾类别越来越多为每个类别获得足够的标注图像会变得非常困难。DeViSE希望利用大量无标注文本中已有的语义知识缓解这一问题。论文的出发点是即使没有某个类别的标注图像文本中也可能已经包含关于这个类别的丰富语义关系。三、一句话理解DeViSEDeViSE的核心思想可以概括为先使用大规模文本学习类别名称之间的语义关系再训练视觉模型将图像映射到同一个语义空间最终通过图像向量与类别词向量之间的相似度完成分类。传统图像分类模型学习的是图像---类别概率DeViSE学习的是图像----语义向量。然后再在语义空间中寻找距离图像向量最近的类别名称。因此模型的输出不再被固定在训练时的1000个类别上而是可以根据测试时提供的候选标签集合进行预测。四、DeViSE的整体模型结构DeViSE由三个主要部分组成文本语义模型视觉特征提取模型视觉—语义投影层。整体过程可以表示为图像 → CNN视觉编码器 → 4096维视觉表示 → 线性映射 → 语义嵌入空间与此同时类别名称 → Skip-gram语言模型 → 类别语义向量图像和类别名称最终进入同一个向量空间。模型通过比较二者的相似度判断图像应该对应哪个类别。五、第一部分使用文本学习类别语义1. 为什么要从文本中学习类别关系自然语言中已经包含了大量关于对象之间关系的信息。例如“tiger shark”经常与以下词语出现在相似语境中bull sharkblacktip sharkgreat white sharkblue shark。类似地“car”的邻近词可能包括automobilesports carcompact carracing carpickup truck。这些关系并不需要人工构建知识图谱而是可以通过大规模文本语料自动学习。2. 使用Skip-gram学习词向量论文使用Skip-gram语言模型学习类别名称的语义表示。Skip-gram的基本目标是给定当前词语预测它附近出现的上下文词语。当两个词经常出现在相似上下文中时它们最终会获得较为接近的向量表示。论文在Wikipedia语料上训练Skip-gram模型。所用语料包含约570万篇文档和54亿个词词表中大约有15.5万个单词及短语。作者实验了100维到2000维的词向量并最终主要采用500维和1000维表示。每个类别名称最终被表示为一个固定向量。其中y表示类别名称d通常为500或1000。论文将所有词向量归一化为单位长度因此可以使用点积衡量语义相似度。对于单位向量点积与余弦相似度是等价的。六、第二部分预训练视觉模型论文使用了基于AlexNet的深度卷积神经网络。该视觉模型首先在ILSVRC 2012的1000个类别上进行传统监督训练。原始视觉模型的结构可以概括为图像 → 卷积层 → 池化层 → 全连接层 → 1000维Softmax其中Softmax之前的高层视觉特征为4096维。在构建DeViSE时作者删除了原来的1000维Softmax分类层只保留前面的视觉特征提取网络这里x表示输入图像v(x)表示CNN提取的高层视觉特征。七、第三部分将图像映射到语言语义空间视觉特征是4096维而文本词向量通常是500维或1000维因此需要一个投影矩阵将视觉特征转换到语义空间。设投影矩阵为图像在语义空间中的表示为其中d是文本语义空间的维度。模型希望图像语义向量 z(x)与正确类别词向量尽可能接近同时与错误类别词向量保持较远距离。这一步建立了视觉特征与语言语义之间的连接。八、为什么使用排序损失而不是回归损失一种直观方法是直接让图像向量接近正确类别词向量但论文发现使用这种均方误差训练的模型准确率大约只有排序损失模型的一半。原因在于图像分类本质上不是单纯的向量回归问题而是一个类别排序问题。假设图像对应“猫”。仅仅让图像向量接近“猫”的词向量还不够还必须保证图像与“猫”的相似度高于“狗”图像与“猫”的相似度高于“汽车”图像与“猫”的相似度高于其他候选类别。因此DeViSE采用Hinge Ranking Loss。核心损失函数为其中x表示输入图像y表示正确类别j表示错误类别是正确类别的词向量是错误类别的词向量Mv(x)是图像在语义空间中的表示m是间隔超参数。论文将间隔设为0.1。该目标要求也就是说正确类别与图像的相似度至少要比错误类别高出一个间隔。九、如何理解排序损失假设输入图像是一只老虎鲨。模型当前得到的相似度如下候选类别相似度tiger shark0.70bull shark0.68car0.10虽然“tiger shark”已经是最高分但它与“bull shark”的差距太小。如果设定间隔为0.1那么模型希望0.700.680.1显然这个条件没有满足因此仍然会产生损失。模型不仅要让正确类别排在第一还要让它与错误类别之间保持足够大的距离。论文在训练时并没有遍历所有错误标签而是随机采样错误类别并在遇到第一个违反间隔约束的负类别后计算更新。这降低了大词表训练的计算成本。十、DeViSE的完整训练流程第一阶段训练语言模型使用大量无标注文本训练Skip-gram获得类别名称及其他词语的语义向量。这一阶段不需要图像。第二阶段训练视觉分类模型在ImageNet ILSVRC 2012的1000个类别上训练CNN视觉模型。这一阶段仍然使用传统Softmax目标得到较强的图像特征提取器。第三阶段替换Softmax分类层删除视觉模型原来的1000维Softmax输出层在4096维视觉特征之后增加一个线性投影层将视觉特征映射到500维或1000维语言空间。第四阶段单独训练投影层训练初期保持以下部分固定CNN视觉编码器文本词向量。只训练视觉—语义投影矩阵 (M)。这样能够避免随机初始化的投影层在训练初期破坏已经学好的视觉特征。第五阶段微调视觉编码器投影层基本稳定后将梯度继续反向传播到视觉网络对高层视觉表示进行微调。论文报告这种视觉网络微调通常能够带来1%到3%的绝对准确率提升。文本词向量在实验中保持固定以维持从大规模文本中学到的整体语义结构。十一、模型如何完成预测给定一张新图像模型首先提取视觉特征v(x)然后通过投影矩阵得到语义向量对于每个候选类别 c计算图像与类别词向量之间的相似度最终选择相似度最高的类别其中是测试阶段提供的候选类别集合。这意味着候选类别集合可以在测试时改变。同一个模型可以用于粗粒度分类动物、车辆、家具细粒度分类不同狗品种、汽车型号、鸟类品种训练类别分类未见类别的零样本分类。论文还指出当候选标签数量非常大时可以使用树结构或哈希方法进行近邻搜索避免逐个比较所有标签。十二、DeViSE为什么能够实现零样本分类假设视觉模型训练时见过以下类别tiger sharkbull sharkblue shark。但没有见过oceanic whitetip shark。在语言语义空间中由于这些词经常出现在相似语境中因此它们的词向量会比较接近。当模型看到一张oceanic whitetip shark的图像时视觉编码器可能将它映射到已见鲨鱼类别附近的区域。即使模型没有见过这个新类别的图像只要候选标签中包含“oceanic whitetip shark”它仍有可能通过语义邻近关系将图像匹配到该标签。其知识传递过程可以概括为已见图像类别的视觉知识 → 语义空间 → 未见类别的名称这就是DeViSE实现零样本学习的核心机制。十三、实验一已见类别上的分类性能论文首先在ImageNet ILSVRC 2012的1000个已见类别上进行测试。1. Flat HitKFlat HitK只检查正确类别是否出现在前K个预测中。模型Hit1Hit2Hit5Hit10Softmax基线55.6%67.4%78.5%85.0%DeViSE500维53.2%65.2%76.7%83.3%DeViSE1000维54.9%66.9%78.4%85.0%随机嵌入500维52.4%63.9%74.8%80.6%在Top-1和Top-2上Softmax模型仍然略好。但1000维DeViSE在Hit5和Hit10上已经基本追平Softmax模型。这说明将分类输出替换成连续语义嵌入并没有明显破坏传统1000类分类性能。2. Hierarchical PrecisionK传统HitK只认可唯一正确类别无法判断错误结果是否语义合理。因此论文利用ImageNet的类别层级设计了Hierarchical Precision指标。例如真实类别是“tiger shark”时预测“bull shark”虽然不是精确答案但语义上较为接近预测“sports car”则明显不合理。部分实验结果如下模型HP5HP10HP20Softmax基线0.3420.3130.319DeViSE500维0.3520.3310.341随机嵌入500维0.3150.2710.248DeViSE在较大的K值上明显优于Softmax模型。论文报告在Hierarchical Precision20上500维DeViSE相比Softmax基线取得了接近7%的相对提升。随机语义向量的表现明显更差说明性能提升确实来自语言模型学习到的语义结构而不是单纯更换了网络输出形式。十四、“更加合理的错误”是什么意思传统Softmax模型中的类别是相互独立的。如果真实类别没有被预测出来后面的候选类别可能来自完全无关的对象类别。DeViSE则倾向于输出语义相近的标签。例如对于一个镜头相关图像即使没有预测出准确类别也可能给出compound lenstelephoto lenszoom lensrangefinder。这类预测虽然未必完全正确但明显比输出无关类别更符合人类的语义判断。因此DeViSE的价值不仅体现在“是否预测正确”还体现在当模型预测错误时错误是否仍然处于合理的语义范围内。论文中的定量层级指标和案例分析都支持这一点。十五、实验二零样本分类为了测试零样本能力作者使用ImageNet 2011 21K中没有出现在ILSVRC 2012 1K训练集中的类别。这些类别没有参与视觉模型训练但对应名称存在于语言模型的词表中。作者根据未见类别与训练类别在ImageNet层级中的距离构造了三种测试设置测试集未见候选类别数难度2-hop1,589与训练类别较接近3-hop7,860与训练类别距离更远ImageNet 21K20,841包含全部未见类别论文定义了两种预测方式DeViSE-0候选集合中只包含未见类别DeViSE1K候选集合同时包含未见类别和原来的1000个训练类别。DeViSE1K更接近后来所说的广义零样本设置因为模型必须同时在已见类别和未见类别中进行选择。十六、零样本实验结果DeViSE-0只允许预测未见类别测试集候选类别数Hit1Hit5Hit10Hit202-hop1,5896.0%18.1%26.4%36.4%3-hop7,8601.7%5.3%8.2%12.5%ImageNet 21K20,8410.8%2.5%3.9%6.0%随着候选类别从1589个增加到20841个准确率明显下降。但是需要注意模型从未见过这些类别的训练图像。在超过两万个新类别中Top-1达到0.8%、Top-20达到6.0%已经说明语义知识能够在一定程度上支持大规模零样本迁移。十七、为什么DeViSE1K更难当候选标签中同时加入原来的1000个训练类别后性能明显下降。例如在2-hop数据上设置Hit1Hit5Hit20DeViSE-06.0%18.1%36.4%DeViSE1K0.8%7.9%22.7%这是因为视觉模型只在1000个已见类别上接受过图像监督它更容易将新图像映射到熟悉类别附近。例如一种未见鲨鱼可能被模型预测为训练时见过的“tiger shark”而不是精确匹配到新的鲨鱼名称。从语义上看这个预测可能并不离谱但按照严格零样本分类标准它仍然是错误的。这暴露了零样本学习中的一个核心问题模型往往会对已见类别产生明显偏好。DeViSE已经展示了这一现象但当时还没有将其系统表述为后来常见的广义零样本学习偏置问题。十八、与已有零样本方法的比较论文还采用此前工作的800个训练类别和200个零样本类别划分进行比较。模型200个候选标签Hit51000个候选标签Hit5DeViSE31.8%9.0%Mensink等人的方法35.7%1.9%Rohrbach等人的方法34.8%未报告当候选集合只有200个未见类别时DeViSE略低于使用人工类别层级的方法。但当候选集合扩大到1000个标签时DeViSE达到9.0%明显高于对比方法的1.9%。这说明DeViSE对训练类别的偏置相对较弱在候选标签规模扩大时表现出更好的可扩展性。十九、DeViSE的核心贡献1. 将图像分类从离散输出转变为连续语义预测传统Softmax将类别看成彼此无关的离散节点。DeViSE则把类别表示为连续语义向量使类别之间的相似性能够直接进入视觉模型。这是模型思想上的重要变化模型不只是判断图像属于哪个编号而是在预测图像表达的语义概念。2. 利用无标注文本为视觉模型提供知识DeViSE的语言模型并不依赖人工构建的类别树或属性表而是从大规模无标注文本中自动学习类别关系。这使视觉模型能够利用远多于图像标注数据的语言知识。3. 支持未见类别预测只要新类别名称在语言语义空间中具有表示模型就可以把它加入测试候选集合而不必修改视觉网络的输出层。这是DeViSE最重要的能力之一。4. 能够动态改变测试标签集合Softmax模型的输出类别在训练完成后就基本固定了。DeViSE则可以在测试时重新定义候选标签集合。同一个模型既可以用于粗粒度识别也可以用于细粒度分类。这种思想已经具有早期开放词汇视觉识别的特征。5. 更关注语义合理性论文不仅报告传统Top-K准确率还使用类别层级评价预测结果是否在语义上合理。这说明视觉模型的评价不应该只分为“完全正确”和“完全错误”还应考虑错误结果与真实类别之间的语义距离。二十、为什么DeViSE是一篇重要的多模态论文DeViSE并没有直接使用完整句子描述图像也没有进行视觉问答或图像生成。它的多模态连接来自两种独立数据源带有类别名称的图像没有图像配对的大规模文本。两种数据通过“类别名称”连接起来图像 → 类别名称 → 文本语义因此DeViSE并不是今天意义上的大规模图文配对预训练模型但它提出了一个非常关键的思想视觉模型不必把语言仅仅当作类别编号而可以把语言语义本身作为视觉学习的目标空间。从这个角度看DeViSE是视觉—语言基础模型发展过程中非常重要的一步。二十一、论文的局限性1. 视觉和文本并不是通过真实图文对直接训练DeViSE的视觉模型使用ImageNet类别标签训练语言模型使用独立Wikipedia文本训练。二者之间的桥梁只有类别名称。因此模型主要学习对象级语义难以处理对象属性动作空间关系场景描述多对象组合完整自然语言句子。例如它可以学习“dog”与“cat”的关系但很难理解“一个孩子正在给狗喂食”这种组合语义。2. 文本相似性不一定等于视觉相似性语言中接近的两个词外观不一定相似视觉上相似的物体在文本中也不一定经常共同出现。例如“keyboard”和“computer”在语言中高度相关但视觉外观不同某些不同物种可能外观接近但在文本语义中距离较远。DeViSE直接使用文本语义空间作为视觉输出空间因此不可避免地受到视觉语义与语言语义不一致的影响。3. 一词多义问题语言模型为一个词或短语分配一个固定向量但同一个词可能表示多个概念。论文附录中特别讨论了“crane”crane可以表示鹤crane也可以表示起重机。ImageNet可以通过不同Synset区分这两个概念但当时的词向量模型只有一个“crane”向量无法根据图像语境选择不同词义。类似问题还包括bat蝙蝠或球棒seal海豹或印章mouse动物或电脑鼠标。这会直接影响视觉—语言匹配的准确性。4. 类别名称表示较为粗糙训练时作者通常将ImageNet Synset中的第一个词语作为目标词向量。但一个Synset可能包含多个同义词而且不同词语的语言使用频率和语义范围并不完全一致。因此类别向量的选择会影响训练结果。5. 图像到语义空间的连接仍然较简单视觉网络顶部的4096维特征通过一个线性层映射到500维或1000维语义空间。虽然作者后续微调了视觉编码器使整体映射具有非线性能力但视觉与语义空间之间的直接连接仍然相对简单。对于属性、关系和复杂场景仅靠一个全局图像向量难以表达完整语义。6. 零样本准确率仍然较低在完整ImageNet 21K零样本任务中DeViSE-0的Hit1只有0.8%Hit5为2.5%。这说明从语言语义关系向视觉类别迁移是可行的但远没有解决。尤其当候选集合同时包含已见和未见类别时模型会明显偏向训练类别。7. 文本嵌入保持固定DeViSE在主要实验中固定词向量只训练图像到语义空间的映射。这样能够保护语言模型的全局语义结构但也意味着语义空间不会根据视觉任务进行调整。如果直接更新类别词向量它们可能更适合视觉分类却又可能破坏从大规模文本中学习到的整体结构。论文也意识到了这一问题并指出若要更新文本表示就应继续联合训练语言模型。二十二、DeViSE与《Multimodal Deep Learning》的区别上一篇《Multimodal Deep Learning》主要研究音频和嘴部视频之间的联合表示其特点是音频与视频严格同步两种模态共同描述同一个发音通过重构学习共享表示关注模态融合、跨模态辅助和模态缺失。DeViSE则转向图像与语言语义对比维度Multimodal Deep LearningDeViSE模态音频视频图像文本语义数据关系同步音视频对图像标签与独立文本语料对齐目标跨模态重构图像—标签排序共享空间自编码器隐藏层预训练词向量空间主要任务视听语音识别图像分类与零样本识别主要贡献多模态共享表示视觉—语义嵌入与未见类别迁移两篇论文共同体现了一个发展趋势多模态学习开始从简单的特征拼接转向显式构建不同模态之间的共享表示空间。二十三、DeViSE与CLIP有什么关系DeViSE和CLIP都希望利用语言扩大视觉模型能够理解的概念范围但二者的训练方式存在明显不同。对比维度DeViSECLIP发表时间20132021视觉数据带类别标签的ImageNet图像大规模图文配对数据文本输入类别名称自然语言标题或描述文本编码器独立预训练的Skip-gram与视觉编码器共同训练的文本Transformer视觉模型监督预训练CNN从图文监督中训练的CNN或ViT对齐方法排序损失图文对比学习文本空间预先固定与视觉空间联合优化适用语义以对象类别为主对象、属性、动作和场景描述零样本方式比较图像与类别词向量比较图像与文本提示向量CLIP在4亿组互联网图文对上联合训练图像编码器和文本编码器通过对比学习判断哪段文字与哪张图像匹配。与DeViSE相比CLIP不再只使用单个类别名称作为语言监督而是能够利用更加丰富的自然语言描述。(Proceedings of Machine Learning Research)可以把二者的发展关系概括为DeViSE证明了视觉特征可以映射到语言语义空间CLIP进一步证明了图像空间和语言空间可以通过大规模图文对联合学习。因此DeViSE可以看作CLIP式视觉语言对齐的重要早期思想来源之一。二十四、这篇论文最值得学习的三个思想1. 输出空间的设计非常重要传统模型只关注如何设计更强的视觉编码器但DeViSE说明改变模型的输出空间也可以改变模型具备的能力。把输出从离散类别概率改为连续语义向量后模型自然获得了类别关系建模和零样本迁移的可能性。2. 标签不只是编号也是知识载体在普通分类器中“cat”可以被替换成类别编号17对模型没有影响。但在DeViSE中“cat”这个词本身携带语义。它与dog、kitten、animal等词之间的关系可以帮助模型理解类别之间的联系。因此自然语言不只是标注工具也是一种可以向视觉模型传递知识的监督信号。3. 零样本能力来自共享中间空间模型能够预测未见类别并不是因为它直接学会了未见类别的外观而是因为已见类别帮助模型学习视觉结构文本语料提供类别之间的语义结构共享语义空间把两种结构连接起来模型通过语义邻近关系将知识迁移到未见类别。这也是后来大量零样本、多模态和开放词汇方法的共同基础。二十五、总结DeViSE针对传统固定类别分类器的局限提出了一种深度视觉—语义嵌入模型。它首先使用大规模无标注文本训练Skip-gram语言模型为类别名称建立连续语义向量然后使用CNN提取图像特征并通过线性投影将图像映射到同一个语义空间最后利用排序损失使图像与正确类别的相似度高于错误类别。实验表明DeViSE在ImageNet 1000类分类上能够接近Softmax基线它在类别层级指标上能够产生更加合理的预测它可以预测视觉训练中从未出现过的新类别语言语义结构能够为视觉识别提供可迁移知识。这篇论文最核心的思想是图像分类不一定要在固定的离散类别中进行也可以通过把图像映射到语言语义空间让视觉模型利用类别之间的关系并将知识迁移到未见概念。从DeViSE开始语言不再只是图像类别的名称而逐渐成为构建通用视觉模型的重要知识来源。