當前位置:網站首頁>2019_AAAI_ICCN
2019_AAAI_ICCN
2022-07-23 06:07:49【CityD】
Learning Relationships between Text, Audio, and Video via Deep Canonical Correlation for Multimodal Language Analysis
文本提出的模型-交互典型相關網絡(ICCN),該模型使用特征對的外積以及深度典型相關分析(DCCA)來生成有用的多模態嵌入特征。
文本特征在情感分析或情感識別任務中通常優於非文本特征,有以下幾個原因:
文本本身包含更多與情緒相關的信息。
視覺或聽覺信息有時可能會混淆情感分析任務。例如,“憤怒”和“興奮”可能有類似地聲音錶現(高音量和高音調),盡管他們屬於相反的情緒。同樣的,“悲傷”和“厭惡”可能有不同的視覺特征,盡管他們都屬於負面情緒。
文本分析的算法有更豐富的曆史,並得到了很好的研究。
基於這一觀察,學習語言信息和非語言信息之間的隱藏關系是多模式語言分析的一個關鍵點。這可以通過研究結合多模態特征的不同方式來實現。
將音頻和視頻特征同時附加到同一文本信息上,可以使非文本信息得到更好的理解,反過來,非文本信息也可以給文本信息帶來更大的意義。因此研究基於文本的音頻和基於文本的視頻特征之間的深層關聯是合理的。其中基於文本的音頻和基於文本的視頻分別是文本與音頻的外積和文本與視頻的外積。
為了更好的關聯基於文本的視頻和基於文本的音頻,使用典型相關分析(CCA)。然而CCA只能學習線性變化,而深度典型相關分析(DCCA)使用一個深度神經網絡來允許CCA處理非線性關系。基於此,本文使用DCCA對基於文本的音頻和基於文本的視頻進行關聯。
在本文提出的模型中,DCCA由兩個CNN和CCA層組成,其中CCA層由兩個投影和一個CCA損失函數組成。基於文本的音頻和基於文本的視頻特征經過CNN的處理後輸入到CCA層,CNN和投影的權重通過CCA損失函數進行優化。通過訓練,兩個CNN就可以從外積矩陣中提取有用的特征。
最後,兩個CNN的輸出的投影與原始文本句子的詞嵌入相連接,作為最終的多模態嵌入,可用於情感分析等下遊任務。
下面介紹下CCA和DCCA,然後再介紹本文提出的ICCN模型
1、典型相關分析CCA&深度典型相關分析DCCA
CCA是利用綜合變量對之間的相關關系來反映兩組指標之間的整體相關性的多元統計方法。CCA用於尋找兩個輸入具有最大關聯性的線性子空間。
給定兩組向量 X ∈ R n 1 × m X\in R^{n_1\times m} X∈Rn1×m和 Y ∈ R n 2 × m Y\in R^{n_2\times m} Y∈Rn2×m,其中 m m m錶示向量的數量,CAA學習兩個線性變換 A ∈ R n 1 × r A\in R^{n_1\times r} A∈Rn1×r和 B ∈ R n 2 × r B\in R^{n_2 \times r} B∈Rn2×r,使得 A T X A^TX ATX和 B T Y B^TY BTY的相關性達到最大。將 X X X和 Y Y Y的協方差錶示為 S 11 S_{11} S11和 S 22 S_{22} S22, X X X和 Y Y Y的交叉協方差錶示為 S 12 S_{12} S12。CCA的目標為:
A ∗ , B ∗ = arg max A , B c o r r ( A T X , B T Y ) = arg max A , B A T S 12 B A T S 11 A B T S 22 B A^*,B^*=\mathop{\arg\max}\limits_{A,B}\;corr(A^TX,B^TY)\\=\mathop{\arg\max}\limits_{A,B}\;\frac{A^TS_{12}B}{\sqrt{A^TS_{11}A}\sqrt{B^TS_{22}B}} A∗,B∗=A,Bargmaxcorr(ATX,BTY)=A,BargmaxATS11ABTS22BATS12B
上述方程的解是固定的,可以用多種方法解决。其中一種方法是讓 U , S , V T U,S,V^T U,S,VT成為矩陣 Z = S 11 − 1 2 S 12 S 22 − 1 2 Z=S_{11}^{-\frac{1}{2}}S_{12}S_{22}^{-\frac{1}{2}} Z=S11−21S12S22−21的奇异值分解(SVD)。那麼, A ∗ , B ∗ A^*,B^* A∗,B∗和總的最大典型相關度為:
A ∗ = S 11 − 1 2 U B ∗ = S 22 − 1 2 V c o r r ( A ∗ T X , B ∗ T Y ) = t r a c e ( Z T Z ) 1 2 A^*=S_{11}^{-\frac{1}{2}}U\\B^*=S_{22}^{-\frac{1}{2}}V\\ corr(A^{*T}X,B^{*T}Y)=trace(Z^TZ)^{\frac{1}{2}} A∗=S11−21UB∗=S22−21Vcorr(A∗TX,B∗TY)=trace(ZTZ)21
CCA的一個限制是它只考慮線性變換。DCCA使用一對神經網絡學習非線性變換。讓 f , g f,g f,g錶示兩個獨立的神經網絡,DCCA的目標是最優化 f , g f,g f,g的參數 θ f , θ g \theta_f,\theta_g θf,θg,使 f f f和 g g g的輸出之間的典型相關性,錶示為 F X = f ( X ; θ 1 ) F_X=f(X;\theta_1) FX=f(X;θ1)和 F Y = g ( Y ; θ 2 ) F_Y=g(Y;\theta_2) FY=g(Y;θ2),可以通過尋找兩個線性變換 C ∗ , D ∗ C^*,D^* C∗,D∗使其達到最大化。DCCA的目標是:
θ f ∗ , θ g ∗ = arg max θ f , θ g C C A ( F X , F Y ) = arg max θ f , θ g c o r r ( C ∗ T F X , D ∗ T F Y ) \theta_f^*,\theta_g^*=\mathop{\arg\max}\limits_{\theta_f,\theta_g}\;CCA(F_X,F_Y)\\=\mathop{\arg\max}\limits_{\theta_f,\theta_g}\;corr(C^{*T}F_X,D^{*T}F_Y) θf∗,θg∗=θf,θgargmaxCCA(FX,FY)=θf,θgargmaxcorr(C∗TFX,D∗TFY)
為了更新 f , g f,g f,g的參數,必須計算出測量典型相關的損失並進行反向傳播。設 R 11 , R 22 R_{11},R_{22} R11,R22為 F X , F Y F_X,F_Y FX,FY的協方差, F X , F Y F_X,F_Y FX,FY的交叉協方差為 R 12 R_{12} R12。設 E = R 11 − 1 2 R 12 R 22 − 1 2 E=R_{11}^{-\frac{1}{2}}R_{12}R_{22}^{-\frac{1}{2}} E=R11−21R12R22−21。則更新 F X , F Y F_X,F_Y FX,FY的典型相關損失可以定義為:
C C A L o s s = − t r a c e ( E T E ) 1 2 CCA\;Loss=-trace(E^TE)^{\frac{1}{2}} CCALoss=−trace(ETE)21
網絡 f ( X ; θ f ) , g ( Y ; θ g ) f(X;\theta_f),g(Y;\theta_g) f(X;θf),g(Y;θg)的參數可以通過最小化CCA損失來更新(即最大化總的典型相關)。
2、交互典型相關網絡Interaction Canonical Correlation Network(ICCN)
上圖為ICCN模型的整體結構,下面介紹該模型的整流流程。
設 H t ∈ R d t H_t\in R^{d_t} Ht∈Rdt為語料級文本特征嵌入(使用BERT和InferSent獲得), H v ∈ R d v × l v , H a ∈ R d a × l a H_v\in R^{d_v \times l_v},H_a \in R^{d_a \times l_a} Hv∈Rdv×lv,Ha∈Rda×la為音頻和視頻的輸入序列(使用COVAREP和Facet)。
音頻和視頻序列傳入一維卷積神經網絡用於提取音頻和視頻序列的局部結構,一維卷積神經網絡的輸出錶示為 H a 1 ∈ R d a 1 × l a , H v 1 ∈ R d v 1 × l v H_{a1}\in R^{d_{a1}\times l_a},H_{v1}\in R^{d_{v1}\times l_v} Ha1∈Rda1×la,Hv1∈Rdv1×lv。
然後一維卷積神經網絡的輸出傳入LSTM用於處理音頻視頻序列,每個LSTM的最終隱藏狀態被用作語料級音頻和視頻特征,錶示為 H a 2 ∈ R d a 2 , H v 2 ∈ R d v 2 H_{a2}\in R^{d_{a2}},H_{v2}\in R^{d_{v2}} Ha2∈Rda2,Hv2∈Rdv2。
獲得每個模態語料級別的特征後,基於文本的音頻特征矩陣和基於文本的視頻特征矩陣就可以使用 H t , H v 2 , H a 2 H_t,H_{v2},H_{a2} Ht,Hv2,Ha2的外積計算得到:
H t a = H t ⊗ H a 2 , H t a ∈ R d t × d a 2 H t v = H t ⊗ H v 2 , H t v ∈ R d t × d v 2 H_{ta}=H_t \otimes H_{a2},H_{ta}\in R^{d_t \times d_{a2}}\\H_{tv}=H_t\otimes H_{v2},H_{tv}\in R^{d_t \times d_{v2}} Hta=Ht⊗Ha2,Hta∈Rdt×da2Htv=Ht⊗Hv2,Htv∈Rdt×dv2
為了從外積矩陣中 H t a , H t v H_{ta},H_{tv} Hta,Htv中提取有用的特征,使用卷積神經網絡作為特征提取器,外積矩陣作為輸入傳入二維卷積神經網絡提取特征,外積矩陣被卷積神經網絡重塑為一維向量。然後傳入CCA層計算損失,其損失函數為上面定義的典型相關損失:
C C A L o s s = − t r a c e ( E T E ) 1 2 CCA\;Loss=-trace(E^TE)^{\frac{1}{2}} CCALoss=−trace(ETE)21
1D-CNN、LSTM和2D-CNN的權重再次使用CCA損失的反向傳播進行更新。兩個2D-CNNs學習從 H t v H_{tv} Htv和 H t a H_{ta} Hta中提取特征,從而使它們的典型相關度達到最大。下面是整個交互典型相關網絡(ICCN)的偽代碼。
ICCN方法是一個特征提取器。為了測試其性能,還需要一個額外的下遊分類器。獲得了文本、視頻和音頻的單模態特征,就可以用ICCN用來學習基於文本的音頻特征 K t a K_{ta} Kta和基於文本的視頻特征 K t v K_{tv} Ktv。最終的多模態嵌入為基於文本的音頻、原始文本和基於文本的視頻特征的串聯,錶示為 [ K t a ; H t ; k t v ] [K_{ta};H_t;k_{tv}] [Kta;Ht;ktv]。 [ K t a ; H t ; K t v ] [K_{ta};H_t;K_{tv}] [Kta;Ht;Ktv]就可以作為下遊分類器的輸入,如邏輯回歸或多層感知器,進而完成多模態情感分析的任務。
實驗
在CMU-MOSI和CMU-MOSEI的結果(情感分析):
在IEMOCAP的結果(情緒識別):
版權聲明
本文為[CityD]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/204/202207221757347404.html
邊欄推薦
猜你喜歡
隨機推薦
- TypeScript
- 開源工具 SAP UI5 Tools 介紹
- Lark教程指南
- 網絡安全——使用Evil Maid物理訪問安全漏洞進行滲透
- 網絡安全—使用Ubuntu本地提權漏洞進行滲透及加固
- JWT工具類編寫
- Day1 Running Sum of 1d Array/Find Pivot Index/用兩個棧實現隊列
- socket編程之常用api介紹與socket、select、poll、epoll高並發服務器模型代碼實現
- 深入研究容器隊列
- Bean的初始化回調方法和釋放資源的回調方法
- 爬蟲數據保存到mysql數據庫
- 通過SQL進行數據分發
- Redis 分布式鎖如何自動續期(經典解决方案)
- 虹科動態 | cippe2022即將舉辦,報名火熱進行中
- Kotlin之匿名內部類(object: xxxx)
- 面試突擊:truncate、delete和drop的6大區別
- Ubuntu安裝Docker及Docker的基本命令 安裝MySQL
- LeetCode--棧和隊列篇
- etcd 集群部署
- TCP/IP協議族中需要必知必會的十大問題
- 【STM32學習】(21)STM32實現步進電機
- 繪制帶有查詢條件變量的table【grafana】
- 認識接口
- LABVIEW:創建一個VI
- 界面開發框架DevExtreme Gantt控件——可導出PDF、排序任務
- MySQL命令行導出導入數據庫和數據錶
- 有數大數據基礎平臺之智能運維平臺EasyEagle介紹:集群隊列篇
- 你記住JS中offsetWidth、clientWidth、width、scrollWidth、clientX、screenX、offsetX、pageX嗎?
- 【Azure 事件中心】Azure Event Hub 新功能嘗試 -- 异地灾難恢複 (Geo-Disaster Recovery)
- unity 照片牆
- 影響持續交付的因素有哪些?
- 【快速上手教程7】瘋殼·開源編隊無人機-地面站上比特機的使用和介紹
- Redis配置詳解
- docker安裝MySQL、redis
- 【嵌入式】限幅電路和鉗比特電路 利用二極管的單向導電性
- [知識圖譜]cql與py2neo學習筆記
- C語言學習
- 列轉行與數據集連接在業務場景的組合應用
- MySQL5.6/ 5.7 SSL配置
- 【深度學習】損失函數(平均絕對誤差,均方誤差,平滑損失,交叉熵,帶權值的交叉熵,骰子損失,FocalLoss)