前言
信息的来源与形态具有多样性,每种形态的数据都称为一种模态。就像人可以通过听觉、视觉、触觉来感知语音、图像、文本等多模态信息。深度学习针对这几种模态的信息产生了几个分支:自然语言处理、计算机视觉、语音识别等,采用不同特点的模型处理不同模态的信息。
多模态机器学习旨在让机器能够处理和理解多模态信息的能力,也就是同时利用文本、图像、语音等信息以及它们之间的交互,而不是只利用一种信息去做下游任务。只要能够转换成数字形式并且保留语义信息的数据,都能被机器加以利用。
1 介绍
本文介绍一种基于多模态数据的情感分析模型——VistaNet
论文:VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis
VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysiswww.aaai.org
该模型针对 http://Yelp.com 上的评论数据进行五级评分预测,即五分类任务。每条评论数据包含数量不一的图片,以及多个句子的文本。
VistaNet 利用 Attention 机制进行图像与文本信息的融合,巧妙的解决了不同模态数据的向量空间不一致问题,增强了模型针对评论的情感分析的能力。
模型结构图如下:
2 原理
模型从下往上可分为三层:
- Word Encoder + Attention
该层用于对每段评论文本中的各个句子
进行嵌入,输入数据为每个句子的各个单词的词向量
(最大单词个数为
,词向量是使用预训练模型得到的词向量表示)。
输入单词
经过双向的 RNN(GRU cell)得到每个 RNN cell 两个方向的隐状态,拼接作为该 time step 的输出
。然后使用 Attention 计算每个
的重要性权重
,对权重softmax 归一化之后,对
加权求和得到句子的向量表示
。
(
与
是线性映射矩阵,通过学习得到)
到此第一层就结束了,根据输入的词向量得到了评论文本中每个句子的嵌入向量表示。
- Sentence Encoder + Attention
该层输入一段文本的各个句子向量(最多
个句子),输出该文本的嵌入向量表示。
输入的句子
经过双向的 RNN(GRU cell)得到每个 RNN cell 两个方向的隐状态,拼接得到每个句子的隐状态
。使用 VGG-16 提取每个图像的特征向量
,然后使用
对
作 Attention,得到每个
对应的重要性权重
,最后对
加权求和得到针对图
的该评论的文本表示
。
(
与
是线性映射矩阵,通过学习得到)
到此第二层就结束了,根据输入的句向量,利用一条评论中的多个图像对其进行 Attention,得到了针对每个图像生成的文本嵌入向量。(有几个图像就有几个文本表示
)
- Document Encoder + Attention
最后一层输入针对不同图像生成的多个文本
,使用 Attention 计算得到对应的权重
,然后进行加权求和得到最终的文本表示
。最后是任务层,根据得到的文本向量
作五分类任务,预测该评论的评分。
3 总结
VistaNet 的使用 Attention 的方式实现了文本与图像信息的融合,不会产生向量空间不一致问题,无形中还能学到文本与图像直接的关联信息,融合效果更佳。
读完此文,启发很大,这种利用注意力机制进行信息融合的方式,很值得借鉴。
看完再赞,年薪百万~