VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记

VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记

  • 论文
  • 背景介绍
    • 基于评论的情感分析
    • 问题和想法
  • VistaNet 方法
    • 层级注意力网络(HAN)
    • 词编码层
    • 句子编码层
    • 文档情感分类
  • 实验
    • Q1:与多模态基线相比,这种视觉信息建模作为注意力的表现如何?
    • Q2:该模型的各种架构组件的贡献是什么?
    • Q3:增量添加图像有什么影响?
  • 贡献和结论

VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记_第1张图片

论文

VistaNet

背景介绍

VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记_第2张图片

现在人手都有智能终端,随时随地都可以用来发布自己的信息,而人人也都可以随时随地获取自己感兴趣的信息。Web3.0最大的特征应当是信息爆炸,与以往不同,信息的发布是网站进行主要的发布,而现在是人人都参与发布,产生了大量的数据信息。

基于评论的情感分析

VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记_第3张图片

检测评论表达的情感是许多应用程序的关键任务,如建模用户偏好、监控消费者行为、评估产品质量等。传统的情感分析工作主要依赖于文本内容。随着移动互联网的到来,网络上的文档(例如,评论、博客文章、推文)自然就越来越多,除了文本内容外,还有照片。
深度学习针对这几种模态的信息产生了几个分支:自然语言处理、计算机视觉、语音识别等,采用不同特点的模型处理不同模态的信息。

多模态就是同时利用文本、图像、语音等信息以及它们之间的交互,而不是只利用一种信息去做下游任务。只要能够转换成数字形式并且保留语义信息的数据,都能被机器加以利用。
VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记_第4张图片

现在许多文件都是多模态的,包括视频,图像或音频,但这里我们专注于图像。

多模态数据带来更多的有效信息的同时也带来了更多的无效信息.如何从这些信息中挖掘出对情感分类有用的信息,如何对齐来自不同模态的情感信息。

问题和想法

评论的图像和文本成分之间有协同作用。图显示了Yelp关于蛋奶酥的评论,其中有两张图片和几句描述马卡龙的句子。我们做了一些观察。首先,评论中的一句话往往集中在一件事上(如“beignets”、“macaroon”),以及带有感情色彩的词汇(如“best”、“delectable”)。
尤其是在情感上,传达信息的主要手段,仍然是文本。照片起着一种增强作用,而不是独立角色;他们自己并不能讲述整个故事。有了这种洞察力,与其将照片直接作为特征加入到情绪分类中,因此这篇论文更推荐将视觉作为一种注意力引导到评论中最突出的句子或“方面”。
VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记_第5张图片

在这项工作中,论文提出视觉方面注意网络或VistaNet,利用文本和视觉组件。
不使用视觉信息作为特征,而是依靠视觉信息作为对齐方式,使用注意力来指出文档中的重要句子。对餐馆评论的实验展示了视觉方面注意、面对面的视觉特征或文本注意的有效性。

VistaNet 方法

先在预训练的CNN上提取图像并输入分类器或由端到端网络进行训练 {图片作为特征}
:计算机视觉其实很通常的方法就是在一个大的数据集,比如说ImageNet上面训练好一个比较深的CNN的模型,然后这个模型就可以用来帮助一大片的计算机视觉的任务,来提升他们的性能

通过组合从各个组成部分得到的表示,得出一个联合表示

VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记_第6张图片

如图所示,VistaNet具有三层结构,分别是词编码层(bottom)、句子编码层(middle)和分类层(top)。词编码层对一个句子中的词语进行编码,再经过soft-attention得到句子的表示。句子编码层对上一层得到的句子表示进行编码,再通过视觉注意力机制(visual aspect attention)得到文档表示。文档表示作为分类层的输入,输出分类结果。

与图像和文本之间有强1至1对齐的那些问题不同,在该问题中,文档可能与多个图像相关联,每个图像都与文档的特定部分相关,并且没有ground truth的对齐

层级注意力网络(HAN)

Hierarchical Attention Network模型是由word sequence layer和sentence sequence layer组成的一个简单的层级的sequence模型。
VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记_第7张图片
从结构上来看,VistaNet和Hierarchical Attention Network基本相似,都是用于文档级情感分类,都有三层结构,且前两层都是GRUEncoder+Attention的结构,二者的不同点在于VistaNet使用了视觉注意力机制。

VistaNet 利用 Attention 机制进行图像与文本信息的融合,巧妙的解决了不同模态数据的向量空间不一致问题,增强了模型针对评论的情感分析的能力。

词编码层

使用循环神经网络时所要处理的序列较长时,就会导致网络容易忘记之前的东西
因此采用层级注意力模型结合双向RNN实现对文本的分类
整个网络通过将一个句子分割为几部分,对于每部分,都使用双向RNN结合“注意力”机制将小句子映射为一个向量,然后对于映射得到的一组序列向量,我们再通过一层双向RNN结合“注意力”机制实现对文本的分类。
VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记_第8张图片
用双向GRU总结单词两个方向的信息来获得单词的注解,这样就将上下文信息合并到注解中

最后通过对双向RNN的输出进行加权平均得到每个句子的表示

句子编码层

这里的V和U都是上下文向量(context vector), 要点如下

1.context vector是人工引入的,它不属于task的一部分。它是随机初始化的。

2.它代替了inter-attention中目标语言/句子,能够和task中的原文产生相互作用,计算出原文各个部分的相关程度,也就是我们关心的attention。

3.它是jointly learned得来的 !!
VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记_第9张图片
由于经过VGG-16 得到的mj是一个4096维度的向量, 而由于输入的词嵌入是50维度, 双向RNN得100维, 然后句表示再次双向GRU得200维.

维度不一致, 采取tanh非线性激活函数将其投影到相同的注意力空间.

个人觉得 vj,i 有点像LSTM里的单元状态与遗忘门(Sigmod)逐点相乘后和输入门(Sigmod和Tanh相乘)结果相加。前者决定保留什么,后者决定添加哪些重要信息.
就是一个element-wise来整合视觉信息和文本信息, 但由于视觉信息的高维度和稀疏性会一定程度降低文本信息对于情感分类的影响, 因此还得加一个qi(文本表示)

文档情感分类

它只有原文,没有目标语言/文章, 再比如sentiment analysis(也可以看做是最简单的一种document classification),它也只有原文。
VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记_第10张图片
每个document由多个句子组成,而在决定文章的类型时,每个句子有不同的重要性。有的更相关一些,有的用处不大。比如说在一篇有关动物科学的文章中,某些句子和文章的主题相关性就很高。比如包含类似于“斑马”或者“猎食者”,“伪装”这样词语的句子。我们在建造模型时,最好能够给这样的句子更多的“attention”。 同样的,对于每个句子而言,它所包含的每个词语的重要性也不一样

所以,在分类任务中,如果我们给模型一篇文章,我们想问模型的问题是:1. 在这篇文章中,哪些句子更重要,能够决定它的分类? 2. 在这篇文章的某个句子中,哪些词语最重要,能够影响句子在文章里的重要性?

那么,如何向模型提出这样的问题呢? 或者说如何让模型理解我们的意图呢? 作者是通过引入context vector做到的。

实验

Yelp数据集来自Yelp.com评论网站,收集的是波士顿,芝加哥,洛杉矶,纽约,旧金山五个城市关于餐厅和食品的Yelp上的评论。一共有44305条评论,244569张图片(每条评论的图片有多张),平均每条评论有13个句子,230个单词。数据集的情感标注是对每条评论的情感倾向打1,2,3,4,5五个分值。

该模型针对 Yelp.com 上的评论数据进行五级评分预测,即五分类任务。每条评论数据包含数量不一的图片,以及多个句子的文本。
VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记_第11张图片

结合Yelp数据集的特点,提出“图片并不独立于文字表达情感,而是作为辅助部分提示文本中的显著性内容”。VistaNet用图片指导文本进行attention,用来决定文档中不同句子对于文档情感分类的重要性程度。

在实验前, 自然而然会想到以下3个问题

• Q1:与多模态基线相比,这种视觉信息建模作为注意力的表现如何?

• Q2:该模型的各种架构组件的贡献是什么?

• Q3:增量添加图像有什么影响?

Q1:与多模态基线相比,这种视觉信息建模作为注意力的表现如何?

aVGG采取平均池化层, mVGG采用最大池化.
VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记_第12张图片
TFN是当时最先进(2017)的多模态情感分析模型, 但表现最差, 因此作为基线; 作者认为可能是TFN通过复杂的融合矩阵组合特征使模型难以为情感找到有用的文本-视觉对齐,因为它们不携带相同的情感驱动信息。

这强调了一点,即视觉信息在评论中的价值在于吸引人们对突出的句子的注意,而不是直接表达情感。

Q2:该模型的各种架构组件的贡献是什么?

VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记_第13张图片
可以见得每一个组件都是十分重要的

Q3:增量添加图像有什么影响?

VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记_第14张图片
尽管选择的数据集图片较多, 但不可能全部覆盖所有的情感极性和方面词, 因此论文提出了一个全局Mean图像的概念来进行补充
数据集中3个图像以上的文档(评论)只占据40%, 为不影响整体性能, 只选择3个image图像的Mean
VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记_第15张图片

注意力权重由单词重要性热图反映。情感相关性越强,热图中的颜色就越深。每个词的权重一开始就初始化为0。然后,与图像内容相关的情感词随着增量迭代逐渐突出。

清晰可见只有Mean图像对齐了正确的评论, 而单独根据某一图像是得不出正确句

贡献和结论

论文提出了一种利用视觉信息进行情感分析的新方法,称为视觉方面注意网(VistaNet)。该模型具有三层架构,将表示从单词到句子,再到特定于图像的文档表示,最后到最终的文档表示。根据观察,一个句子倾向于关注特定的东西,就像每个图像一样,VistaNet设计的模型使用图像作为对齐,以指出文档中的重要句子。对美国5个主要城市的评论数据集进行的实验表明,VistaNet在情感分析中表现优于同时使用文本和视觉特征的多模态基线,这支持了其假设,即视觉成分更具有增强性而非代表性,并且作为一种注意力机制更有效

Vistenet利用注意来实现文本和图像信息的融合,而不引起向量空间中的任何矛盾。可以研究文本与图像的直接相关信息,提高融合效果。
通过阅读这篇文章,从中得到了很多启发。这种利用注意机制进行信息融合的方法值得借鉴。

你可能感兴趣的:(paper,深度学习,人工智能,计算机视觉,VistaNet,nlp)