文章題目:多模態域自適應的細粒度動作識別
1、引言
首先明確幾個名詞含義。
Multi-Modal(多模態):每種信息來源可以稱作一個模態,多模態就是同時處理兩種或兩種以上的信息來源。例如一個視頻有視覺、聽覺、字幕等,同時考慮視覺,聽覺就是多模態方法。
Domain Adaptation(域自適應):這是一種遷移學習的方法,它主要利用有着豐富監督信息的source域樣本,來提升target域模型的性能。換句話說其解決的問題就是源域與目標域分布不一樣的時候怎么樣使在源域訓練的模型放在目標域模型進行使用時性能更好或者持平。其主要有三種方向:樣本層面,加權重采樣即源域相對於目標域比較接近的數據權重的增大;特征層面,找到他們的公共特征子空間;模型層面,修改loss加入目標域模型的考量。
Fine-Grained(細粒度):舉個例子,貓狗大戰;牧羊犬和哈士奇大戰。前者屬於粗粒度后者屬於細粒度。
Action Recognition(動作識別):理解多媒體中人體的動作信息。
綜上,大致看完題目可以知道文章是在一個視頻上采用多模態(例如采用幀和語音信息兩者)並在學習方法上采用域自適應方法進行細粒度上的動作識別,即識別你是在切菜還是在攪拌。
2、Abstract
由於數據集之間都存在environmental bias,所以訓練的模型在部署的時候可能表現會變差。使用對抗學習(Adversarial Training)的UDA(Unsupervised Domain Adaptation)無監督域自適應方法大部分人已經在使用了,但是本文作者發現這些方法沒有考量每個域的多模態性質(the multi-modal nature of video within each domain.),即假如我使用其他模態進行協同學習時這種environmental bias會不會變小,或許一種模態下學習的特征與另一個模態下學習的特征融合之后有助於任務。
本文作者利用模態的對應關系(只關注於動作)創建偽標簽來作為自監督的對齊方式,作者在 EPIC-Kitchens數據集上使用RGB與Optical Flow(光流)兩種模態進行測試。結果比只使用源域訓練的方法平均提高2.4%,接着又結合了多模態自監督與對抗學習比其他UDA方法提高了3%。
總結:提出考量每個域的多模態性質,展示了多模態自監督可以應用於域自適應(遷移學習),再結合對抗學習(source與target)可以提升模型再target上的表現。最主要的貢獻在於加入多模態的自監督對於域的自適應有幫助.
3、Introduction
使用監督的方法進行細粒度學習主要由於數據的搜集和標注工作太大,且采集的數據場景單一,導致在學習表征的時候模型並不能表現很好。
UDA的方法可以解決上述數據搜集與標注的問題,且采用對抗學習又可解決場景不一時域自適應的問題。作者列舉前人工作提出一種多模態自監督的對抗學習UDA方式。(多模態表現在Flow與RGB,自監督表現在Flow與RGB的alignment,對抗學習表現在source與target的域自適應。由於加入考量了多種模態下的source與target域的自適應,所以比原來只加入對抗學習准確率高)
作者做出的貢獻:
- 展示了多模態自監督可以用於域自適應
- 提出了MM-SADA,使用了對抗學習和多模態自監督
- 在EPIC-Kitchen數據集上進行訓練,提供了UDA的benchmark(基准),並與source-only的方法做對比
4、Related Works
4.1UDA of Action recognition
基於神經網絡的UDA的一般方法為minimising a discrepancy measure(最小化差異方法),匹配兩個域的mid-level表征。
2014年,Muhammad Ghifary等人采用MMD(Maximum Mean Discrepancy)
2016年,Yaroslav Ganin等人加入了對抗學習,使用GRL來反向傳播。
2018年,Fan Qi,等人研究多模態(image and video)來識別鳥的種類。
2019年,Yu Sun,等人把自監督學習也引進入了域自適應,在目標檢測任務上展示自監督學習可以替代對抗學習,在同一批工作中,自監督學習與對抗學習結合用於語義分割。以上兩個工作都是基於單張圖像
作者的工作是基於視頻的多模態,展示了自監督學習可以應用於目標域的行為識別。
4.2Supervised Action Recognition
Simonyan and Zisserman等人解決了two-stream late fusion兩流后期融合(RGB和Optical-Flow)
Joao Carreira and Andrew Zisserman提出了I3D
4.3Self-supervision for Action Recognition
Relja Arandjelovic and Andrew Zisserman將自監督應用到audio和RGB的多模態任務上,預測模態是否同步或者對應。
4.4Domain Adaptation for Action Recognition
Foucus on one significant problem.cross-viewpoint(or viewpoint-invariant) action recognition(交叉視點或者不變視點)
Recent works have used GRLs to create a view-invariantrepresentation [27]. Though several modalities (RGB, flowand depth) have been investigated, these were aligned andevaluated independently.
剩下就是一些deeplearning之前的了。反正歸結為一句話,綜上得知,我做的方法前人沒有做過:)
5、Proposed Method
圖中左邊分為兩個stream,一個是RGB,另一個是Optical-Flow。兩個模態的數據分別經過I3D卷積模型$F^{RGB} \quad and \quad F^{Flow}$提取特征,生成一個向量,一方面將該向量通過GRL層(起到一個反向傳播的作用,方便訓練)到達域判別器,一方面將該向量輸入到Classification部分(FC+softmax)。我們的目標是拉近source與target域,且將視頻盡量分類正確,所以最大化$L_{d}^{Flow} \quad and \quad L_{d}^{RGB}$ 和最小化$L_y$,對於$self-supervised$部分,它用來判斷模態是否同步和模態樣本是否來自同一樣本。
5.1Classification部分(即Action Recognition最后的判別部分)
先上損失函數
\begin{equation}
L_y=\sum_{x\in\{S\}}-ylogP(x) \\
where:P(x)=\sigma(\sum_{m=1}^M G^m(F^m(x^m)))
\end{equation}
input is multi-modal:$X=(X^1,...X^M)$,$X^m$ is $m^{th}$ modality of input
$G^m$ is the modality's task classifiter
$F^m$ is the modality's learnt feature extractor
$\sigma$ is defined as softmax
為什么這樣構建損失函數:https://blog.csdn.net/huwenxing0801/article/details/82791879
5.2Adversarial Alignment 部分(即經過I3D提取特征后生成的特征向量,一方面經過GRL送入域判別器,一方面送入Classification部分,這部分為對抗學習)
損失函數如下:
\begin{equation}
L_d^{m}=\sum_{x\in\{S,T\}}-dlog(D^m(F^m(x)))-(1-d)log(1-D^m(F^m(x)))
\end{equation}
$D(\cdot)$ is the discriminator to predict the domain of an input($i.e.\quad$source or target) from the input feature $F(\cdot)$
Given a binary domain label $d$ 來指出數據$x$是來自$S\quad or \quad T$,for per modality
為了maximising判別器的loss,網絡會學習兩個域中invariant的特征表征部分,為了更好的匹配兩個域的距離,作者提出了可以對每個模態進行懲罰如果這個模態表現出Specific features的話
5.3Self-Supervised Alignment部分(即學習模態之間的action對應)
對於positive的樣本(即模態對應正確的樣本,)我們從同一動作中采樣,可能樣本來自同一時間或者同一動作的不同時間;
對於negative的樣本,每個模態從不同的動作中采樣。
由於我們的任務是動作識別,所以我們只關注Action即可
因此,就可以構建損失函數描述采樣是否正確來達到自監督的模態之間的時序對齊。
對於自監督匹配判別器$C$來說,越淺越好,因為其自監督信息都是在$F^m$中學習到的
\begin{equation}
L_c=\sum_{x\in\{S,T\}}-clogC(F^0(x),...,F^M(x))
\end{equation}
5.4、MM-SADA損失函數
\begin{equation}
L=L_y+\lambda_d\sum_{m}L_d^{m}+\lambda_cL_c
\end{equation}
$L_y$使用源標記數據進行訓練
$L_d^m$和$L_c$都使用源無標記數據和目標域數據訓練
6、Experiments
6.1、dataset
EPIC Kitchens,32種環境。采用了P01,P22,P08三種環境,分別叫D1,D2,D3.識別八種動作,train和test二八分,segment是一個動作起始時間、結束時間和動作類別標簽
6.2、Architecture
$F$是一個I3D模型,最后是一個平均池化層,dropout=0.5,lr=1e-7
$G$是一個全連接層加一個softmax
$D$是一個兩層全連接(1000)加上ReLU
Baseline的結構略
6.3、Training and Hyper-parameter Choice
Adam 優化器,先訓練3000輪分類和自監督,lr=1e-2;再訓練對抗學習部分6000輪,lr=2e-4
監督學習作為准確率的上限;
$\lambda_{c}=5$,觀察source domain only得來的;
$\lambda_{d}=1$;Batch_size=128;8個V100 GPUs跑了9個小時
6.4、Baseline
AdaBN;MMD:MCD
結果如圖:
訓練過程種准確率變化
6.5、Ablation Study
看哪個改動對結果准確率影響較大
結果如圖:
觀察D3-->D2的結果,發現自監督學習-only較好,則我們采用只有對抗學習來驗證一下是不是自監督學習的加入帶來的提升,同時調整自監督的比重
接着我們來驗證一下相同時間對齊的模態效果好還是動作相同對齊的模態效果好
不同方法訓練過后兩個空間的feature map分布(越重合越好)
7、總結
- 作者提出了一個多模態自適應的方法,利用多模式自我監督和每個模式的對抗性訓練進行細粒度的動作識別。表明多模態的對應的自監督是一個有效的域適應方法。
- 實驗表明,在進行源域與目標域自我監督任務的同時,進行多模態的自監督可以提高動作識別模型的准確率.