「Kaggle 實戰分享」谷歌 YouTube-8M 大規模視頻理解競賽技術剖析

機器學習 Kaggle Google YouTube 新智元 新智元 2017-08-06
「Kaggle 實戰分享」谷歌 YouTube-8M 大規模視頻理解競賽技術剖析

1 新智元原創

  • 論文地址:https://arxiv.org/abs/1706.05150

  • 代碼地址:https://github.com/wangheda/youtube-8m

「Kaggle 實戰分享」谷歌 YouTube-8M 大規模視頻理解競賽技術剖析

理解和識別視頻內容是計算機視覺中的一大主要挑戰。理解視頻也有很多的應用,包括安防監控、智能家居、自動駕駛,還有影視素材搜索和體育視頻分析。今年 2 月,谷歌更新了此前開源的大規模視頻數據集 YouTube-8M,新的數據集除了標籤升級,還包含了預計算的音頻特徵,音頻和視覺特徵以 1 秒的時間粒度同步,有助於進行聯合視聽(時間)建模。

谷歌還同時宣佈了與 Kaggle 平臺聯合舉辦視頻理解競賽,邀請參與者使用 Youtube-8M 作為訓練數據,利用谷歌雲機器學習,構建視聽內容分類模型。表現最佳的參賽隊伍將獲得 10 萬美元的獎金。

「Kaggle 實戰分享」谷歌 YouTube-8M 大規模視頻理解競賽技術剖析

更新後的 YouTube-8M 數據集的 tree-map可視化,分為 24 個高級垂直類別,包括前 200 個最常見的實體,以及每個類別的前5個實體。

「Kaggle 實戰分享」谷歌 YouTube-8M 大規模視頻理解競賽技術剖析

YouTube-8M 數據集中前 18 個高級類別裡的視頻示例。

6 月 30 日,比賽公佈了結果。在剛剛結束的 CVPR 2017 YouTube-8M 大規模視頻理解挑戰賽 Workshop 上,主辦方與各參賽團隊就各自使用的方法進行了交流探討。

下文是獲得第二名的 monkeytyping 團隊所做的賽後總結。團隊成員王鶴達與張騰均來自清華大學電子系多媒體信號與信息處理實驗室,導師為吳及副教授。張騰目前正在攻讀博士學位,研究方向為多媒體事件檢測;王鶴達於今年 7 月碩士畢業,他的研究興趣為推薦系統、自然語言處理與計算機視覺。

競賽結果:法國第一,中國團隊包攬第二、三、四名

Youtube-8M 大規模視頻理解挑戰賽由 Google Cloud 與數據科學競賽網站 Kaggle 共同主辦,從今年 2 月開始,到 6 月初結束,在四個月的時間裡吸引了超過 600 個團隊參加比賽。最終,來自法國國立計算機及自動化研究院(INRIA)的 WILLOW 團隊奪得第一名,第二名的 monkeytyping 團隊來自於清華大學電子系,第三名的 offline 團隊來自於百度深度學習實驗室和清華大學,第四名的 FDT 團隊來自於復旦大學、中山大學和武漢大學。

「Kaggle 實戰分享」谷歌 YouTube-8M 大規模視頻理解競賽技術剖析

谷歌 YouTube-8M 大規模視頻理解競賽結果:來自法國國立計算機及自動化研究院(INRIA)的 WILLOW 團隊奪得第一名,第二名的 monkeytyping 團隊來自於清華大學電子系,第三名的 offline 團隊來自於百度深度學習實驗室和清華大學,第四名的 FDT 團隊來自於復旦大學、中山大學和武漢大學。

比賽中所採用的數據集是由 Google 在去年公佈的 Youtube-8M 多標籤視頻分類數據集。該數據集有 700 萬樣本,是迄今為止最大的視頻分類數據集,遠超之前被普遍使用的 ActivityNet 和 UCF101 數據集。另外,這個新的數據集的領域也更加多樣,共有 4716 個不同的分類標籤,平均每個視頻的標籤數量為 3-4 個。這些標籤取自 Knowledge Graph 中的實體,是由標註程序根據視頻的文本和視覺信息進行標註,並經人工檢驗和過濾得到的。

儘管在多樣性和數據規模上具有優勢,Youtube-8M 數據集也存在著一些限制。首先,為了減少計算上的門檻,Google 對視頻數據進行了每秒 1 幀的採樣,並使用在 ImageNet 上預訓練的網絡對每幀圖像提取特徵。由於數據集中僅包括預提取的特徵,這使得參賽者所能使用的手段變得較為有限。其次,數據集中僅包括視頻級別的類別標註,沒有細粒度的其他種類標註,這限制了數據集應用的場景。第三,數據集中的標籤是由機器生成的,在召回率方面具有一定的缺陷。

我們最終提交的結果是 74 個模型組成的 Ensemble,在最終測試集上取得了 0.8459 的全局平均準確率。我們主要從三個方面對視頻進行建模:標籤相關性,視頻的多層次信息,以及時間上的注意力模型。在標籤相關性建模中,我們採取一種不斷對分類結果進行降維並用於後續預測的網絡結構,這種結構可以有效提升多種模型的分類性能。我們使用一種深層卷積神經網絡結合循環神經網絡的結構,在多個時間尺度上對視頻的幀特徵序列進行建模。另外,我們採取注意力模型對序列模型的輸出進行 Attention pooling 取得了較好的效果。

我們的方法:標籤相關性+時間多尺度信息+注意力模型

1、標籤相關性

我們提出一種鏈式神經網絡結構來建模多標籤分類時的標籤相關性。如下圖所示,當輸入是視頻級別特徵時,該結構將單個網絡的預測輸出進行降維,並將降維結果與視頻表示層合併成一個表示並再經過一個網絡進行預測。網絡中最後一級的預測結果為最終分類結果,中間幾級的預測結果也會作為損失函數的一部分。鏈式結構可以重複數級,在視頻級別特徵和專家混合網絡上的實驗表明,在控制參數數量相同的條件下,鏈式結構的層級越多,分類性能越好。

「Kaggle 實戰分享」谷歌 YouTube-8M 大規模視頻理解競賽技術剖析

不僅視頻級別特徵可以使用鏈式結構,通過如 LSTM、CNN 和注意力網絡等視頻表示網絡,同樣也可以對幀級別特徵使用鏈式結構網絡。在對該網絡進行實驗時,我們發現,對其中不同層級的視頻表示網絡使用不共享的權重,可以獲得更好的性能。

「Kaggle 實戰分享」谷歌 YouTube-8M 大規模視頻理解競賽技術剖析

2、利用時間多尺度信息

由於不同的語義信息在視頻中所佔據的時長不同,在一個時間尺度上進行建模可能會對某些分類較為不利。因此,我們採取一種在時間上進行 pooling 的方式來利用在更大的時間尺度上的語義信息。我們採用 1D-CNN 對幀序列提取特徵,通過時間上 pooling 來降低特徵序列的長度,再通過 1D-CNN 再次提取特徵,如此反覆得到多個不同長度的特徵序列,對每個特徵序列,我們採用一個 LSTM 模型進行建模,將最終得到的預測結果進行合併。通過這種方式,我們利用了多個不同時間尺度上的信息,該模型也是我們性能最好的單模型。

「Kaggle 實戰分享」谷歌 YouTube-8M 大規模視頻理解競賽技術剖析

3、注意力模型

我們使用的另一模型是對幀序列的表示採用 Attention Pooling 的方式進行聚合,由於原始序列只反映每幀的局部信息,而我們希望聚合具有一定的序列語義的信息,因此我們對 LSTM 模型的輸出序列進行 Attention Pooling。實驗表明,這種 Attention Pooling 的方式可以提高模型的預測效果。另外,在注意力網絡中使用位置 Embedding 可以進一步改善模型性能。

「Kaggle 實戰分享」谷歌 YouTube-8M 大規模視頻理解競賽技術剖析

我們對注意力網絡輸出的權重進行了可視化,我們發現,注意力網絡傾向於給予呈現完整的、可視的物體的畫面更高的權重,而對於沒有明顯前景的、較暗的或呈現字幕的畫面更低的權重。

「Kaggle 實戰分享」谷歌 YouTube-8M 大規模視頻理解競賽技術剖析

思考:大規模深度學習中硬件架構,以及視頻分析中算法效率十分重要

在本次比賽中我們感受非常深的一點是大規模深度學習中硬件架構的重要性。由於我們的服務器之間僅以千兆網相連,我們無法做到高效的梯度同步,因而無法利用多機集群來加速運算。我們全部的算法都是在單卡上運行的,其結果是驗證性實驗的迭代週期變長了,並進行了很多目的性不明確的探索。而在工業界的深度學習集群中,萬兆以上的機房網絡已經是主流,架構的落後給我們帶來了很多困難。

另外,我們也認識到視頻分析中算法效率的重要性,在 Youtube-8M 數據集中,預處理階段需要數千小時的 GPU 時間,而各隊所提交的方案又各需要一千至數千小時的 GPU 時間來訓練。在實際應用中,這樣的運行效率常常是無法接受的,這也是為什麼我們認為 Attention Pooling 相關的方法會更加流行的原因。

其他參賽團隊的亮點總結

1. WILLOW 團隊:可學習的Pooling + Context Gating

來自INRIA的WILLOW 團隊使用了基於聚類的 NetVLAD 網絡對特徵進行 pooling。他們同時改造了 NetVLAD 網絡並融入了對二階統計特性的建模,使網絡可以學習 Fisher Vector 表示,並稱之為 NetFV。這兩個網絡的優點在於計算量小,可以使用幀採樣,易於並行。他們對門控線性單元 GLU 進行了簡化,將簡化的模塊稱為 Context Gating,通過這個門控單元捕獲特徵之間的相關性。Gated NetVLAD 也是本次比賽中單模型性能最佳的幀級別分類網絡。

「Kaggle 實戰分享」谷歌 YouTube-8M 大規模視頻理解競賽技術剖析
  • 報告:https://arxiv.org/abs/1706.06905

  • 代碼:https://github.com/antoine77340/Youtube-8M-WILLOW

2. offline 團隊:Fast-forward 序列模型

來自百度IDL與清華大學的 offline 團隊對視頻的時間序列模型進行了探索,他們使用一個多達7層的 LSTM/GRU 網絡建模視頻特徵,如此之深的循環神經網絡通常難以訓練,他們引入了 Fast Forward 連接,有效緩解了訓練的困難。該模型是本次比賽中單模型性能最佳的時間序列模型。

「Kaggle 實戰分享」谷歌 YouTube-8M 大規模視頻理解競賽技術剖析
  • 報告:https://arxiv.org/abs/1707.04555

  • 代碼:https://github.com/baidu/Youtube-8M

點擊閱讀原文可查看職位詳情,期待你的加入~

相關推薦

推薦中...