2019_ACL_Multimodal Transformer for Unaligned Multimodal Language Sequences
Multimodal Transformer for Unaligned Multimodal Language Sequences
論文地址:https://arxiv.org/abs/1906.00295
對多模態人類語言序列數據進行建模的主要挑戰:
1.每種模態的序列的采樣方法不同,因此不同數據是未對齊的(就是一段文字,采樣后與之相匹配的視頻片段或音頻片段與之并未對其)
2.跨模態的元素之間的長期依賴關系(哭泣可能與之前所說過的話有關系)
本文提出MulT來解決上述問題。
通過電影評論的實例視頻剪輯對比對齊與跨模態注意。
對于詞對齊,視頻和音頻特征在每個口語單詞的時間間隔內被平均化。而在本文提出的方法中不需要將它們進行對齊,而是每個詞與所有的視頻和音頻片段計算注意力權重。
本模型的核心是跨模態注意模塊,它關注話語(一段話)規模上的跨模態交互作用。無論是否需要對齊,該模塊都會通過重復強化一種模態的特征與其他模態的特征來潛在地將數據流從一種模態調整到另一種模態。
模型整體結構
該圖素MulT模型的整體結構,按照輸入到輸出的順序該模型主要由時間卷積(Conv1D)、位置嵌入(Positional Embedding)、跨模態Transformer(Crossmodal Transformers)、自注意力Transformer組成(Self-Attention Transformer)和結果預測組成。
1、時間卷積
一維時間卷積的作用是為了確保輸入序列的每個元素對其相鄰元素有足夠的感知:
X^{L,V,A}=Conv1D(X{L,V,A},k{L,V,A})∈RT{L,V,A}×d\hat{X}_{\{L,V,A\}}=Conv1D(X_{\{L,V,A\}},k_{\{L,V,A\}})\in R^{T_{\{L,V,A\}}\times d} X^{L,V,A}?=Conv1D(X{L,V,A}?,k{L,V,A}?)∈RT{L,V,A}?×d
三種模態的輸入特征序列為X{L,V,A}∈RT{L,V,A}×d{L,V,A}X_{\{L,V,A\}}\in R^{T_{\{L,V,A\}} \times d_{\{L,V,A\}}}X{L,V,A}?∈RT{L,V,A}?×d{L,V,A}?,在此 每個模態的維度是不同的,因此在后續的跨模態注意塊中無法進行運算。而時間卷積可以將不同模態的特征投影到相同的維度d,因此可以在后續的跨模態注意模塊中執行點積運算。
2、位置嵌入
與原始的Transformer一樣,為了使序列能夠攜帶時間信息,將位置嵌入(PE)添加到卷積層的輸出X^{L,V,A}\hat{X}_{\{L,V,A\}}X^{L,V,A}?上,使得輸入到跨模態Transformer的信息是具有時間順序的。
Z{L,V,A}[0]=X^{L,V,A}+PE(T{L,V,A},d)Z^{[0]}_{\{L,V,A\}}=\hat{X}_{\{L,V,A\}}+PE(T_{\{L,V,A\}},d) Z{L,V,A}[0]?=X^{L,V,A}?+PE(T{L,V,A}?,d)
3、跨模態Transformer(Crossmodal Transformers)
跨模態Transformer使一種模態能夠接受來自另一種模態的信息。下面演示將視覺(VVV)信息傳遞給語言(LLL)信息的例子,用V→LV\to LV→L表示,由于前面輸入信息經過了時間卷積的處理,因此每個模態的所有的維度都是固定的ddd。跨模態Transformer的作用可以理解為使用源模態VVV對目標模態LLL的信息進行重構,以學習到跨模態關聯的有意義的信息。
每個跨模態Transformers由D層跨模態注意塊組成,如下圖所示。
形式上,跨模態transformer按照i=1,...,Di=1,...,Di=1,...,D層進行前饋計算的公式為:
ZV→L[0]=ZL[0]Z^V→L[i]=CMV→L[i],mul(LN(ZV→L[i?1]),LN(ZV[0]))+LN(ZV→L[i?1])ZV→L[i]=fθV→L[i](LN(Z^V→L[i]))+LN(Z^V→L[i])Z^{[0]}_{V\to L}=Z^{[0]}_L\\ \hat{Z}_{V\to L}^{[i]}=CM_{V\to L}^{[i],mul}(LN(Z_{V\to L}^{[i-1]}),LN(Z^{[0]}_V))+LN(Z_{V\to L}^{[i-1]})\\ Z_{V\to L}^{[i]}=f_{\theta^{[i]}_{V\to L}}(LN(\hat{Z}_{V\to L}^{[i]}))+LN(\hat{Z}_{V\to L}^{[i]}) ZV→L[0]?=ZL[0]?Z^V→L[i]?=CMV→L[i],mul?(LN(ZV→L[i?1]?),LN(ZV[0]?))+LN(ZV→L[i?1]?)ZV→L[i]?=fθV→L[i]??(LN(Z^V→L[i]?))+LN(Z^V→L[i]?)
其中CMV→L[i],mulCM_{V\to L}^{[i],mul}CMV→L[i],mul?位于第iii層的CMV→LCM_{V\to L}CMV→L?的多頭版本,CMV→LCM_{V\to L}CMV→L?為計算不同模態之間的跨模態注意。融合跨模態信息的一個好的辦法是提供一種跨模態的潛在適應,即β\betaβ到α\alphaα。其中α\alphaα代表視覺信息(VVV),β\betaβ代表語言信息(LLL)。
在第iii層跨模態注意塊中,跨模態注意計算的輸入Xα∈RTα×dαX_{\alpha}\in R^{T_\alpha \times d_ \alpha}Xα?∈RTα?×dα?為第i?1i-1i?1層跨模態注意塊的輸出然后再經過層歸一化得到的,即LN(ZV→L[i?1])LN(Z_{V\to L}^{[i-1]})LN(ZV→L[i?1]?),輸入Xβ∈RTβ×dβX_{\beta}\in R^{T_\beta \times d_ \beta}Xβ?∈RTβ?×dβ?為源模態經過層歸一化得到,即LN(ZV[0]))LN(Z^{[0]}_V))LN(ZV[0]?))。從β\betaβ到α\alphaα的潛在適應表示為跨模態注意為:
Yα=CMβ→α(Xα,Xβ)=softmax(QαKβTdk)Vβ=softmax(XαWQαWKβTXβTdk)XβWVβY_\alpha=CM_{\beta\to\alpha}(X_\alpha,X_\beta)\\ =softmax(\frac{Q_\alpha K^T_\beta}{\sqrt{d_k}})V_{\beta}\\ =softmax(\frac{X_\alpha W_{Q_\alpha}W^T_{K_\beta}X^T_{\beta}}{\sqrt{d_k}})X_\beta W_{V_\beta} Yα?=CMβ→α?(Xα?,Xβ?)=softmax(dk??Qα?KβT??)Vβ?=softmax(dk??Xα?WQα??WKβ?T?XβT??)Xβ?WVβ??
其中查詢(Query)Qα=XαWQαQ_{\alpha}=X_{\alpha}W_{Q_{\alpha}}Qα?=Xα?WQα??來自模態α\alphaα,鍵(key)Kβ=XβWKβK_{\beta}=X_{\beta}W_{K_{\beta}}Kβ?=Xβ?WKβ??和值(value)Vβ=XβWVβV_{\beta}=X_{\beta}W_{V_{\beta}}Vβ?=Xβ?WVβ??來自模態β\betaβ。
具體的說,上式中按比例(dk\sqrt{d_k}dk??)縮放的softmaxsoftmaxsoftmax計算分數矩陣softmax(?)∈RTα×Tβsoftmax(\cdot)\in R^{T_\alpha \times T_\beta}softmax(?)∈RTα?×Tβ?,其第(i,j)(i,j)(i,j)項測量由模態α\alphaα的第iii個時間步長對模態β\betaβ的第jjj個時間步長給予的關注度。因此,YαY_\alphaYα?的第iii個時間步長是VβV_\betaVβ?的加權總和,其權重由softmax(?)softmax(\cdot)softmax(?)中的第iii行確定。上式為單頭跨模態注意,其計算過程為:
在計算完跨模態注意之后,然后進入Positionwise feed-forward(相當于全連接層\color{red}{相當于全連接層}相當于全連接層),基于先前關于transformer的工作,在跨模態注意塊中添加了殘差連接以及在跨模態注意計算的前后添加層歸一化操作,以組成完整的跨模態注意塊。
每個模態通過多頭跨模態注意模塊(multi-head cross-modal attention module)其他模態的底層信息進行交互不斷更新其序列。在跨模態注意的級別上看,來自源模態(β\betaβ)的低級信號被變換成一組不同的鍵/值對以與目標模態(α\alphaα)進行交互。跨模態transformer學習跨模態關聯的有意義的信息。
MulT是基于對每對跨模態交互進行建模的。因此,考慮到3種模態(即L、V、A),一共有六個跨模態transformer。
4、自注意力Transformer和預測(Self-Attention Transformer and Prediction)
作為最后一步,我們將來自共享相同目標模態的跨模態transformers的輸出連接起來,以產生Z{L,V,A}∈RT{L,V,A}×2dZ_{\{L,V,A\}}\in R^{T_{\{L,V,A\}}\times2d}Z{L,V,A}?∈RT{L,V,A}?×2d。例如,ZL=[ZV→L[D];ZA→L[D]]Z_L=[Z^{[D]}_{V\to L};Z^{[D]}_{A\to L}]ZL?=[ZV→L[D]?;ZA→L[D]?]。然后,它們中的每一個都通過self-attention transformer模型來收集時間信息以進行預測。最后,提取self-attention transformer模型輸出的最后一個元素并將其連接起來,然后通過全連接層進行預測。
注意力矩陣
在先前的工作中,多模態序列被手動進行對齊,因此不同模態在對齊的位置具有較強的注意力,其注意力矩陣呈階梯對角線。
而對于MulT來說,多個模態元素之間的相關性純粹基于注意力,MulT不會通過(簡單地)對齊來處理模態不對齊。跨模態注意鼓勵模型直接關注存在強信號或相關信息的其他模態中的元素。因此,MulT能夠以一種常規對齊不容易揭示的方式捕捉遠處不同模態的相關信息,其注意力矩陣是通過MulT模型學習到的不同模態之間每個位置之間相關聯的程度。
實驗
CMU-MOSI數據集
自己運行的結果:
| 35.4 | 81.0 | 80.6 | 0.975 | 0.673 |
CMU-MOSEI數據集
自己運行的結果:
| 48.2 | 80.6 | 80.7 | 0.620 | 0.666 |
IEMOCAP數據集
自己運行的結果:
| Happy | Sad | Angry | Neutral | ||||
| Acc | F1 | Acc | F1 | Acc | F1 | Acc | F1 |
| 85.6 | 79.0 | 79.4 | 70.3 | 75.8 | 65.4 | 60.0 | 48.3 |
總結
以上是生活随笔為你收集整理的2019_ACL_Multimodal Transformer for Unaligned Multimodal Language Sequences的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux下轻量级数据库-SQLite3
- 下一篇: 使用@media实现网页字体大小自适应