天天看點

用語言直接檢索百萬視訊,這是阿裡TRECVID 視訊檢索冠軍算法

利用自然語言檢索百萬視訊,人物、場景、事件都不能放過,這就是既困難又吸引了衆多研究者的視訊檢索任務。

緊随圖像模組化技術的提升,機器學習已經不再滿足圖像識别與檢索了,它的「進階版」視訊了解通常不僅需要了解圖像内容,同時還需要了解圖像之間的聯系。而視訊目前是最形象與生動的資訊載體,如果機器學習能了解視訊,那麼很多應用都會變得智能化。

例如這篇文章介紹的視訊檢索,我們隻需要輸入「Find shots of a person lying on a bed」這樣的查詢語句,模型就能在海量視訊庫中檢索到對應的視訊片段。這種任務的難度可比基于預輸入标簽的視訊搜尋難多了,因為視訊片段的檢索隻能依靠視訊内容。

近日,阿裡安全圖靈實驗室視訊了解團隊獲得了 TRECVID 2019 視訊檢索任務冠軍。TRECVID 源自 NIST 等機構在 2003 年組織的視訊檢索項目,這麼多年已經是非常成熟的挑戰項目。每年 TRECVID 都吸引了 CMU 和微軟等頂級研究機構,它代表着跨模态視訊檢索領域最前沿的研究方向。

用語言直接檢索百萬視訊,這是阿裡TRECVID 視訊檢索冠軍算法

阿裡安全圖靈實驗室視訊了解團隊 ATL 獲得的評分最高,人民大學、軟銀等團隊也有很好的成績。選自:

https://www-nlpir.nist.gov/projects/tvpubs/tv19.slides/tv19.avs.slides.pdf

本文将讨論這種困難的視訊檢索任務該怎麼處理,并介紹阿裡的冠軍解決方案。這種跨模态模型不僅在視訊檢索領域,同時在更廣泛的視訊了解領域起着支柱作用。

阿裡安全算法專家表示,這些經驗累積能有效處理更多的視訊業務,例如視訊排查,即搜尋并排查某類不合規的視訊;視訊分類,識别視訊風險類型或者某些特性;視訊标簽與屬性,了解視訊以輸出視訊片段的各種标簽,用于後續處理。

TRECVID 跨模态視訊檢索該怎麼解

對于一項挑戰任務,我們該做的第一件事就是了解資料集,了解它的輸入與輸出,了解它的種類與覆寫情況。後面才是根據資料調制解決模型,并驗證效果。TRECVID Ad-hoc Video Search(AVS)任務給人的第一印象是,它的測試資料很難、很多;TRECVID AVS 模型給人的第一印象是,它的整體思路很容易想到,但要做到卻很難。

模組化第一步:了解資料

TRECVID AVS 任務的資料真的很難,它的測試資料集有 1.3TB 大小、108 萬+的視訊片段。這樣看起來它的測試集應該很公平,但問題在于挑戰賽并沒有提供對應量級的訓練集。是以我們需要找額外的開放視訊資料集,并盡可能提高模型的泛化性。

因為缺少訓練集,這已經近似于 Zero-shot video search 任務了,它的難度非常高。阿裡安全算法專家說:「從比較基本的角度來說,訓練資料集在整個業界都比較匮乏,這是視訊檢索任務的難點。」

用語言直接檢索百萬視訊,這是阿裡TRECVID 視訊檢索冠軍算法

我們隻能已知測試集的領域或來源大概可以分為四種,找開源資料也需要以這四類視訊為目标。圖像來源:

https://www-nlpir.nist.gov/projects/tv2019/avs.html

雖然 TRECVID AVS 的資料很難,但它的輸入與輸出還是相對好了解的。該任務使用一句英文來搜尋相關視訊,例如「Find shots of exactly two men at a conference or meeting table talking in a room」,該語句可能包含物體、時間、動作、位置、人物等的組合。這樣的任務要求算法不僅了解開放詞彙的英文語句,還要準确搜尋出其描述的視訊。

研究者表示:「視訊檢索其實是業界的老問題,給定一個查詢意圖 Query,我們需要在相當規模的視訊資料庫中查找滿足意圖的視訊。這樣的 Query 可以是一個視訊片段、一張圖像,也可以是一個單詞或完整的句子。因為查詢意圖可以是不同的模态,是以整個過程可以視為跨模态的視訊檢索問題。」

對于本次的視訊檢索挑戰,與傳統的基于内容檢索的問題不同,後者需要預定義語義标簽,而前者旨在模組化使用者的查詢意圖,查詢的輸入是任意意圖自然語言,是以阿裡算法專家說:「AVS 可以了解為相似度比對問題,但模型不僅需要解決視覺方面的模組化問題,還需要解決自然語言了解問題,并建立視覺與自然語言之間的映射關系,這就是它的另一個難點。」

模組化第二步:思路

視訊檢索任務是一個相似度比對問題,業界已經有了廣泛的研究。視訊檢索本身的難點在于大規模特征抽取、語義的泛化性,以及索引和查詢的性能。這些都與模型架構的選取相關,我們希望以最少的成本搜尋到最準确的結果。

目前跨模态視訊檢索比較主流的架構是找到一個新的共同空間,我們隻有将各種輸入資料都映射到同一空間,這樣才能進行比對與對比。

用語言直接檢索百萬視訊,這是阿裡TRECVID 視訊檢索冠軍算法

當然除了這種架構,也有其它一些解決思路,阿裡安全算法專家說:「我們也可以将視訊這種視覺資訊轉化為文本,而不是轉化為隐藏空間的特征向量。這就意味着我們先給視訊打上不同的标簽,然後将視訊檢索問題轉化為文字檢索任務,這也是比較有效的方法。」  第一種思路将視覺資訊與自然語言資訊映射到相同空間,是一種聯合模組化方法。而第二種思路相當于分别模組化,即先模組化視覺到自然語言這樣的任務,再模組化一個自然語言任務,它們從出發點就有一些不同。而且第二種方法是需要預定義标簽,而第一種減少了這樣的限制。

阿裡的冠軍解決方案

因為 TRECVID AVS 更傾向于探索跨模态前沿模型,是以阿裡安全圖靈實驗室并沒有在收集訓練資料集上花很多時間,他們采用已有的公開資料集,期待測試方法的有效性。總體來說,訓練集主要包含微軟的 MSR-VTT 和雅虎的 Tumblr GIF 資料集,它們一共有 11 萬視訊片段、32 萬條對應的自然語句。

這樣的資料量其實并不大,研究者說:「測試集視訊是百萬級的,我們訓練完的模型需要在這種大規模資料中完成檢索,是以整個任務是非常困難的,盡管我們排名第一,但效果上還有很大的提升空間。」

亮眼的序列模組化

阿裡安全圖靈實驗室采用的思路是将視訊與文本映射到相同的高維空間,進而學習它們之間的關系。研究者說:「因為視訊和文本都是序列資料,是以我們特别優化了序列模組化。這種序列模組化不僅包括循環神經網絡這種依時間步傳遞的方法,同時還包含圖這種模組化更遠距離的方法。」

總體而言,研究者的混合序列模型可以分為視覺子產品與文本子產品兩部分,它們能應用到圖像幀與自然語句,并抽取嵌入向量。因為兩類嵌入向量在公共的空間中,是以通過學習方法可以學習到它們之間的關系。

用語言直接檢索百萬視訊,這是阿裡TRECVID 視訊檢索冠軍算法

圖 1:最終送出版的整體模型流程。

如上在研究者的工作中,他們主要關注優化視覺和文本序列模組化方法。即采用了三種子子產品來加強效果,圖卷積模型、序列模型和聚合模型三者會通過一個控制門來确定它們各自對最終嵌入向量的貢獻,控制門是一種自動調整政策。

兩個子產品都可以分為三級編碼,首先第一級都是預訓練模型,視訊子產品使用在 ImageNet-11k 上預訓練的模型抽取視訊圖像特征,文本子產品使用預訓練的 Word2vec 對文本進行編碼。

第二階段的編碼分别由圖卷積、循環神經網絡、聚合模型得出,它們相當于從不同的角度擷取視訊幀之間或詞之間的互相依賴關系。最後第三階段的編碼則通過門控卷積網絡挑戰三類特征的重要性,并輸出最終的嵌入向量。

「我們的創新點在于,優化了序列資訊的抽取,例如我們使用基于圖的這種序清單征方法,它不隻關注視訊幀或單詞之間的關系,同時還能挖掘距離較遠的依賴性關系。特别是視訊資料,它的情節或鏡頭是互相交替的,鏡頭會來回切換,隻有這樣的圖模型才能很好地捕捉序列資訊。」研究者說。 序列的圖模組化

前面介紹過視訊除了用 LSTM 等循環網絡模組化,也可以用圖神經網絡模組化,甚至它的模組化效果還要更好。讀者可能會想到,視訊不就是圖像幀按時間組成的序列麼,為什麼能模組化成圖?

假設現在輸入資料是由預訓練模型編碼的一系列特征圖(Feature Map),視訊圖模組化的目的是将它們視為圖(Graph),并用圖卷積進行處理。具體而言,每一幀的特征圖都是一個節點,我們可以根據「時間」建構邊,同時也可以根據視訊幀之間的相似性建構邊。

用語言直接檢索百萬視訊,這是阿裡TRECVID 視訊檢索冠軍算法

圖注:視訊幀序列依次建構視訊幀級别、鏡頭級别和事件級别的圖。選自 arxiv: 1906.00377。

視訊幀序列是多級結構,是以圖應該逐漸被抽象到更高層的拓撲。阿裡用節點卷積和 3 種池化方法不斷聚合視訊幀圖。每次節點卷積後,拓撲結構獲得一次抽象,并且在新的拓撲上,模型可以傳播新的節點特征,進而獲得下一層級的圖表達。最終的結果,阿裡的方法比傳統 RNN 效果要好,而且速度非常快,該技術可以用于其它序列模組化問題上。

最後的比對

通過三大序列模型,抽取的特征并不能直接用于最後的計算,因為有一些視訊并不需要利用全部三種特征。為此,研究者設計了一種門控卷積網絡,它會自動調整不同視訊對不同特征類型的需求。

阿裡安全算法專家表示:「前面架構會把視訊與自然語言映射到同一空間,并通過對比損失拉近相似視訊與自然語言的距離,推遠不相似視訊與自然語言間的距離。」簡單來說,最後抽取的兩個特征向量可以通過餘弦相似性計算距離,并迫使正确的視訊-語言對彼此靠近。

雖然聽起來很簡單,但别忘了視訊片段的量級達到了百萬,即使簡單算一個矩陣乘法,根據餘弦相似性找到好的視訊片段,這種大規模矩陣運算的計算量也不會小。是以說,對于最後的比對或檢索,計算效率也是非常重要的一件事。 

視訊檢索需要沉澱

對于視訊檢索任務,我們最初的印象可能是它的計算量很大。阿裡安全算法專家表示,在實際使用場景中,檢索問題是非常細粒度的任務,例如我們不會說「找到一輛車」,反而會精确到「找到一輛寶馬」。這種細粒度問題對于特征提取的計算要求非常高,與此同時,分辨率、碼率等因素都影響着計算量。

盡管視訊檢索這個問題很難、算力要求很大,但阿裡安全部門一直在積累經驗,并嘗試挖掘一種強有力的算法。

對于視訊檢索領域的未來發展,算法專家說:「不論是特征提取架構上的創新,還是視訊與語言預訓練模型的提升,它們肯定會共同發展。首先在架構方面,我們要解決的是跨模态的語義鴻溝,它的本質在于視覺特征空間與自然語言特征空間的聯合模組化問題,我認為目前架構會逐漸到達瓶頸,亟待出現一些新的架構創新。其次對于預訓練,其目的在于提高下遊任務的性能,這是非常重要的一個方向。」

不論是這兩年新提出來的 Transformer 序列模組化架構,還是 BERT 這種自監督預訓練機制,視訊檢索需要沉澱更多的技術與思想,這樣才能讓大規模檢索變得既經濟又準确。

挑戰賽的收獲

這樣的挑戰賽對阿裡視訊了解團隊是非常有意義的,整個團隊都可以通過挑戰賽得到鍛煉。阿裡安全算法專家說:「整個團隊首先會接觸一些更前沿的技術,比如圖卷積或自監督等技術,這些都會提升團隊的技術前沿性。畢竟業務比較偏向成熟的方法,而比賽可以探索更新的技術。」

相信很多讀者都參加過一些挑戰賽,我們查閱基線模型代碼、閱讀更多前沿論文、嘗試更多可能的思路,如果一個團隊共同完成這些工作,那麼提升還會大一些。「我們估計花了兩個月的時間來完成這個挑戰賽,幾乎一周到兩周一次研讨會。因為每個人都會負責不同的子產品,是以也會有不懂的論文,這些都會在研讨會上讨論。」算法專家說。

除了這些正常操作,阿裡安全圖靈實驗室視訊了解團隊還會邀請相關領域的研究者,特别是高校老師來做一些分享。這樣不僅能了解最前沿的一些研究成果,本身也能學到非常多的視訊領域知識。

用語言直接檢索百萬視訊,這是阿裡TRECVID 視訊檢索冠軍算法

圖注:本次參賽成員。

通過比賽與業務,整個實驗室在過去的四五年中已經累積了很多成果。這些技術很多都應用在内容安全方面,例如視訊不良場景識别、視訊違禁品識别、視訊公衆人物識别等等。除此之外,在視訊特征方面,相似度比對、場景了解、目标檢測等技術都有實際落地場景。因為整個團隊以安全業務為主,是以也就有視訊稽核、視訊版權保護等具體業務。

整個挑戰賽能帶來很多沉澱,「我們不隻是重新整理一個成績,我們更想做一些創新,摸索出一套實用的新方法」,阿裡安全算法專家最後總結道。雖然挑戰賽已經落幕,但對于跨模态視訊檢索這種複雜任務,新架構與新思路的創新也許就誕生于下一次累積。