Learning deep representations of fine-grained visual descriptions

Abstract

最先进的zero-shot视觉识别将学习视为图像和补充信息的联合问题。其中对视觉特征来说最有效的补充信息是属性-描述类与类之间的共享特征的手动编码向量。尽管算法表现很好,但是属性任然是有局限的:

  • 更细粒度的识别需要相当多的属性
  • 属性不提供自然语言界面(attributes do not provide a natural language interface)(不能显式的表示?)

作者通过从头开始训练一个没有预先训练,只考虑文字和字符的自然语言模型来打破这些局限。作者提出一个使得细粒度和特定类别相一致的端到端的模型(Our proposed models train end-to-end to align with the fine-grained and category-specific content of images. )。自然语言提供了一种灵活而紧凑的方式来编码能显著区分类别的视觉特征。该模型在zero-shot的基于文本的图像检索方面展现了强大的性能,并且在Caltech-UCSD Birds200-2011数据集上的zero-shot分类方面明显优于基于属性的最新技术。


Introduction

图像理解的一个关键问题就是如何正确的将自然语言和图像的视觉内容联系起来。尽管近些年有很多进展,但是这个问题还远没有被解决,特别是当图像类只有细微的差别时,或许是由于缺少足够的高质量的训练数据,精细的语言模型还没有被应用。
要训练更精细的语言模型就需要更多的训练数据,特别是针对每个细粒度类别的每个图像和图像对齐的多个视觉描述。
作者收集了两个细粒度数据描述数据集,一个针对Caltech-UCSD birds dataset,另一个针对Oxford-102 flowers dataset。然后提出了提出了一个新的结构联合嵌入的扩展,表明它可以用于深度神经语言模型的端到端训练。之后评估了基于字和字符的神经语言模型的几种变体,包括我们的用于文本建模的卷积和循环网络的新颖混合体。
作者的贡献建立在以前的特性语言模型和细粒度zero-shot学习的基础上,从零开始训练高容量的文本编码器,共同嵌入细粒度的视觉描述和图像。


Deep Structured Joint Embedding

和以前的多模式结构学习方法一样,我们学习了图像和文本的兼容性功能。但是,我们不使用双线性兼容函数,而是使用由深度神经编码器生成的特征的内积。我们使用字级LSTM的模型实例化如图1所示。直观地说,我们最大化了描述和匹配图像之间的兼容性,并最大限度地减少了与其他类图像的兼容性。

1107940-1820dc58801301a6.png

1107940-906b516fbf9246a8.png

和之前的结构化联合嵌入方法相比,我们的目标是关于图像和文本的对称,这有一个好处,就是通过优化公式

1107940-4a743652f9413b42.png

1515827044998_4.png

单个模型可以通过对图像和文本进行调节来学习预测。因此将上述目标命名为deep symmetric structured joint embedding(DS-SJE)仅使用上述公式中两项中的一项也是可以的。
例如只使用第一项来训练一个zero-shot图像分类模型(只训练图像编码器fv),在本文中将这种方式称为deep asymmetric structured joint embedding(DA-SJE)

1107940-2f3d01bbaa256417.png

1107940-c8d585b2a05f536e.png

由于兼容性函数由ft和fv共享,因此在对称目标中必须学习对两个分类器进行准确预测。 从文本编码器的角度来看,这意味着文本特征必须对匹配图像产生比以下两种情况更高的兼容性得分

  1. 不与任何文本匹配的图像
  2. 不与任何图像匹配的文本

1107940-3b921ea8d0f25e0c.png

1107940-18e7291105fa0912.png


Text encoder models

Text-based ConvNet (CNN)

基于文本的CNN可以被看作是图像的标准CNN,除了图像宽度是1像素并且通道数量等于字母大小。 二维卷积和空间最大汇集(spatial max-pooling)由时间(1D)卷积和时间最大汇集(temporal max-pooling)取代。 在每个卷积层之后,我们使用整流线性激活单元(ReLU),

1107940-1b4a1f2280d577e8.png

整个网络使用卷积层,池化层,激活函数,全连接层来投影到嵌入空间。因此这个文本嵌入函数可以被简单的定义为

1107940-10b6c618ede7890d.png

这个网络中字符的最大输入长度受网络结构约束,小于最大长度使用零填充。
除了Char-CNN的字母表被替换为Word-CNN的词汇之外,Word-CNN与Char-CNN完全相同。 当然,词汇量要大得多,通常至少有几千字,而字母表中只有几十个字符。序列长度显著减少。

Convolutional Recurrent Net (CNN-RNN)

1107940-77c9d97b35dd3cfe.png

纯卷积文本模型的一个潜在缺陷是它们缺少沿着输入文本序列的强烈的时间依赖性。
为了结合RNN和CNN的优点,我们在一个中等时间(mid-level temporal)CNN隐藏层之上叠加一个RNN
直观上,CNN隐藏激活沿着时间维度(在我们的情况下,当维度减少到8)被分割并且被当作输入向量序列
Intuitively, the CNN hidden activation is split along the time dimension (in our case when the dimension was reduced to 8) and treated as an input sequence of vectors.
这种方法的优点是可以利用快速卷积网络有效地学习低层次的时间特征,而时间结构仍然可以在更为抽象的中层特征层次上被利用
从上图可以看出,最终的编码特征是序列上的隐藏激活单元的平均值[图片上传失败...(image-61edff-1532677492100)]
hi是第i帧的隐藏激活矢量,L是序列长度。

Long Short-Term Memory (LSTM)

与CNN模型相反,LSTM明确地考虑了从文字或字符开始的时间结构。为了从LSTM文本编码器中提取文本嵌入,我们取最后一层隐藏单元的时间平均值
[图片上传失败...(image-c48e52-1532677492100)]
和Convolutional Recurrent Net (CNN-RNN)中定义相同

Result

1107940-16f123ed06cd80d2.png

思考

该文章主要是构建了一个兼容性函数来判别文本输入和图像的兼容性(匹配程度)来检索与输入文本最匹配的图像。那是不是可以反过来?通过训练输入图像得到最匹配的文字,做到看图说话?

猜你喜欢

转载自blog.csdn.net/sinat_29963957/article/details/81256165