论文笔记 Memory Fusion Network for Multi-view Sequential Learning (AAAI2018)

这是卡内基梅隆大学与新加坡南洋理工大学在AAAI上发表的一篇利用memory network来处理序列建模的文章。

文章中的multi view其实指代可以很广泛,许多地方也叫做multi modal,对于多模态序列学习而言,模态往往存在两种形式的交互(1)模态内关联(view-specific interactions),(2)模态间关联(cross-view interactions),这篇文章提出了Memory Fusion Network(MFN)方法来处理这种多模态序列建模,处于对模态内与模态间的不同处理,本文可将方法划分为三个部分(1)LSTM对各自模态单独建模(2)Delta-memory Attention Network(DMAN)(3)Multi-view Gated Memory,后两者致力于处理模态间的交互。
这里写图片描述

Input:

比如对语言,视频,音频序列进行建模, N = { l , v , a } N = \left\{l,v,a\right\} N={l,v,a},the input data of the n n nth view is denoted as: x n = { x n t : t < = T , x n t ∈ R d x n } x_n = \left\{x_n^t:t<=T,x_n^t \in R^{d_{x_n}}\right\} xn={xnt:t<=T,xntRdxn},where d x n d_{x_n} dxn is the input dimensionality of n n nth view input x n x_n xn.

System of LSTMs:

使用常规的LSTM, 对于每个输入 x n x_n xn,每一个step的memory表示为 c n = { c n t : t < = T , c n t ∈ R d c n } c_n= \left\{c_n^t:t<=T,c_n^t \in R^{d_{c_n}}\right\} cn={cnt:t<=T,cntRdcn},每个step的output表示为 h n = { h n t : t < = T , h n t ∈ R d c n } h_n= \left\{h_n^t:t<=T,h_n^t \in R^{d_{c_n}}\right\} hn={hnt:t<=T,hntRdcn},where d c n d_{c_n} dcn denotes the dimensionality of n n nth LSTM memory c n c_n cn.

Delta-memory Attention Network

a [ t − 1 , t ] = D α ( c [ t − 1 , t ] ) a^{[t-1,t]} = D_\alpha(c^{[t-1,t]}) a[t1,t]=Dα(c[t1,t])
Delta顾名思义,考虑了LSTM前后两个step,输入到DMAN的是 t − 1 t - 1 t1 t t t的memory拼接,其中 D α : R 2 d c ↦ R 2 d c , d c = ∑ n d c n D_\alpha: R^{2d_c}\mapsto R^{2d_c},d_c= \sum_{n}d_{c_n} Dα:R2dcR2dcdc=ndcn, 通过上式来获得attention系数, a [ t − 1 , t ] a^{[t-1,t]} a[t1,t]是对于时刻 t − 1 t-1 t1 t t t的softmax score。
DMAN的输出定义如下
c ^ [ t − 1 , t ] = c [ t − 1 , t ] ⨀ a [ t − 1 , t ] \hat c^{[t-1,t]}= c^{[t-1,t] \bigodot {a^{[t-1,t]}}} c^[t1,t]=c[t1,t]a[t1,t]
c ^ [ t − 1 , t ] \hat c^{[t-1,t]} c^[t1,t]是分配权重之后的memories, ⨀ \bigodot 是element product.

Multi-view Gated Memory

(1)首先以上面的 c ^ [ t − 1 , t ] \hat c^{[t-1,t]} c^[t1,t]为输入,生成update proposal u ^ t \hat u^t u^t
u ^ t = D u ( c ^ [ t − 1 , t ] ) \hat u^t = D_u(\hat c^{[t-1,t]}) u^t=Du(c^[t1,t])

其中 D u : R 2 d c ↦ R d m e m D_u:R^{2d_c}\mapsto R^{d_{mem}} Du:R2dcRdmem
(2)然后引入了两个gate, γ 1 \gamma_{1} γ1:(retain gates) γ 2 \gamma_{2} γ2(update gates),前者主要控制记忆当前状态的信息,后者主要用于控制前面所算update proposal $\hat u^t $的更新。
γ 1 t = D γ 1 ( c ^ [ t − 1 , t ] ) \gamma _{1}^t=D_{\gamma_{1}}(\hat c^{[t-1,t]}) γ1t=Dγ1(c^[t1,t]), γ 2 t = D γ 2 ( c ^ [ t − 1 , t ] ) \gamma _{2}^t=D_{\gamma_{2}}(\hat c^{[t-1,t]}) γ2t=Dγ2(c^[t1,t])
其中 D γ 1 , D γ 2 : R 2 d c ↦ R d m e m D_{\gamma_{1}}, D_{\gamma_{2}}:R^{2d_c}\mapsto R^{d_{mem}} Dγ1,Dγ2:R2dcRdmem
(3)所以updated u t u^t ut可以如下得到:
u t = γ 1 t ⨀ u t − 1 + γ 2 t ⨀ t a n h ( u ^ t ) u^t=\gamma_{1}^t \bigodot u^{t-1}+\gamma_{2}^t \bigodot tanh(\hat u^t) ut=γ1tut1+γ2ttanh(u^t)

Output

The output of the MFN are the final state of the Multi-view Gated Memory u T u^T uT and the output of each of the n n n LSTMs.
h T = ⨁ n ∈ N h n T h^T=\underset{n\in N}{\bigoplus} h_n^T hT=nNhnT
representing idividual sequence information. ⨁ \bigoplus denotes vector concatenation.

实验

主要是三个任务:Sentiment Analysis, Emotion Recognition, Speaker Traits Analysis
其数据类型是演讲者的视频,其中包含字幕,视频帧与音频,根据词的发声来划分文本,视频与音频,这样能够保证彼此的对齐,最后Language view特征:T300, Visual view 特征 T35, Acoustic view特征 T*74,本文在多个数据集上超越了state of the art 结果,并且进行自身ablation实验,分析其方法部件的有效性。

思考

与我以前常接触的跨模态不同的是,这儿等于是在时间维度上将多个模态(文本,图像,音频)非常严丝合缝地对齐(因为数据是根据同一段视频中,提取不同的view信息),因为LSTM天然的时间建模特性,作者所提出的Delta Memory Network就比较顺利成章地引入,但是如果是其它跨模态问题,比如Image caption, Cross-modal retrieval, visual question answering,不同模态之间虽然彼此联系,但是不存在时间维度上片段一一对齐,不知道这个框架是否能迁移过来,或者如何进行改造?

原始论文链接:Memory Fusion Network for Multi-view Sequential Learning

Github复现:MFN_keras

Github开源(作者目前还没公布源码):MFN

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猴猴猪猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值