ECCV的全稱是European Conference on Computer Vision(歐洲計算機視覺國際會議),兩年一次,是計算機視覺三大會議(另外兩個是ICCV和CVPR)之一。YouTube8M是一個大規模視頻標籤數據集,裏面包含了大概8百萬視頻和3800左右的類別標籤。爲了推動視頻領域的研究,Google
AI每一年會在這個數據集上舉辦比賽。node
阿里安全圖靈實驗室今年參加了ECCV2018的2個workshop和YouTube8M比賽,咱們提出的「Hierarchical Video Frame Sequence Representation with Deep Convolutional Graph Network」 文章被「2nd Workshop on Youtube-8M Large-Scale Video Understanding」接收,並在「First Workshop on Computer Vision For Fashion, Art and Design」的比賽中得到冠軍,已受邀在研討會上進行poster和oral。
經過本文進行分享,但願能有所幫助。算法
今年ECCV的workshop/tutorial有60多個,有些辦了幾屆,有些今年是第一屆,所涵蓋的主題不論給學術界,也給工業界帶來了很大啓發。下面介紹咱們參加的其中一個workshop----「2nd Workshop on Youtube-8M Large-Scale Video Understanding」
下圖爲大名鼎鼎的VGG發明人Andrew Zisserman和google視頻分析團隊負責人Paul Natsev安全
下圖爲咱們的poster現場網絡
比賽在YouTube8M數據集上進行,爲了使數據集體積減少,官方使用一些網絡對圖片和音頻提取特徵並pca降維後存儲,整個數據集大小爲1.5T左右。數據集統計數據以下圖所示:機器學習
通過pca降維後圖片爲1024維,音頻爲128維,視頻時長大概分佈在120到500秒之間,平均每一個視頻3個標籤左右。
比賽要求在這樣的數據集上訓練一個不超過1GB大小的模型,而且不容許在test數據集上作任何處理。ide
咱們首先分析了去年獲勝隊伍的作法。今年的數據集有所變化,對標籤作了一些調整,因此去年的一些獲勝隊伍的作法仍然有參考價值。
去年第一名採用了改進的netVlad[1]做爲參賽模型,使用netVLAD和Gate Context來代替傳統RNN模型作temporal aggregation。該模型在測試集上效果比較好,可是模型體積太大,大概4GB左右。去年第二名採用了77個模型進行ensemble,模型體積也比較大。下圖爲VLAD(左)和netVLAD(右)函數
去年第三名採用了改進的7層的Bi-direction LSTM,加入了Fast-forward爲了能讓7層LSTM能夠訓練,以下圖所示:post
咱們從如下幾個方面進行序列建模,來完成視頻標籤的任務,分別是:RNN系列、CNN替代RNN系列、Graph建模、VLAD建模。性能
RNN系列學習
時間序列建模最早想到的就是RNN模型,經過RNN的計算可以作到temporal aggregation,以後進行多標籤分類。
RNN Base Line
直接使用LSTM對視頻進行temporal aggregation,而後使用Logistic進行多標籤分類,咱們獲得GAP:76.5%
RNN+Attention
原始的LSTM效果比較弱,咱們考慮使用Attention對模型進行改進,LSTM+Attention獲得GAP:83.9%,相比較單純使用LSTM提高了6個點左右,隨後咱們對Attention進行了分析,獲得的中間結果顯示,Attention在temporal aggregation的過程當中起了很重要的做用,讓模型更關注一些重要的能表達內容的視頻幀畫面。Attention的具體實現以下圖所示:
GRU+Attention+Two Stream
考慮到有些視頻可能聲音比較重要,好比靜態畫面的MTV,對於這種視頻若是隻看畫面,網絡可能很難分辨視頻屬於哪一個類別。因此咱們考慮將畫面特徵與音頻特徵分別建模,最後作融合,下文把這種分別建模再融合的辦法稱爲Two Stream Model。跟傳統的視頻Two stream(運動+內容)概念不一樣,這樣作是由於數據集裏面只有預先提取的特徵,而且通過了PCA降維,因此咱們沒法很好的得到運動信息。
通過分別對視頻和音頻建模再融合,Two Stream Model取得了比以前更好的效果,GRU+Attention+Two Stream的模型獲得GAP:84.6%。模型結構和訓練曲線以下圖所示:
SRU+Attention+Two Stream
GRU減小了LSTM的門數量,同時又保證了模型效果,雖然GRU減小了兩個門,可是依然訓練緩慢。SRU經過使用hadamard product來代替矩陣乘法,並經過將大量計算放在能夠並行的步驟,加速了訓練和推理過程。咱們嘗試使用SRU替換GRU,獲得GAP:85.4%。SRU結構和訓練曲線以下圖所示:
IndRNN+Attention+Two Stream
IndRNN對LSTM的優化更極端,去掉了所有的門,而且使用hadamard product。咱們使用IndRNN改進模型後獲得GAP:83.4% 模型結構和訓練曲線以下:
RNN和其改進的模型一般被用在序列建模,大量的序列建模任務也證明了RNN系列模型有很好的擬合能力。RNN系列經過BPTT來進行反向傳播訓練模型,對於時間的依賴致使RNN系列模型相比CNN不能並行計算,從而影響了訓練速度和推理速度。RNN系列裏LSTM、GRU、SRU雖然經過門的改進解決了gradient vanish,可是sigmoid函數的使用使得RNN系列層數一旦加深,依然會產生gradient decay,最終難以訓練。
CNN在最近的一些序列建模任務中也表現出不錯的結果,CNN天生能夠並行化計算,經過對層數的堆疊依然能夠達到擴大時間尺度上視野的效果,而且CNN能夠加深不少層依然容易訓練。
因此咱們嘗試使用CNN代替RNN進行建模。
CNN+Attention+Residual+Two Stream
咱們嘗試使用簡單的CNN來替代RNN對時間維度進行卷積,爲了加速訓練咱們使用了Residual結構。同時咱們使用GLU激活函數帶替代ReLU,GLU使用gate思想添加了gate unit,GLU對比ReLU會產生更高的精度。該模型最後獲得GAP:85.9%,模型大小138MB,這是本次比勝過程中咱們獲得的性價比(性能/體積)最高的模型。
網絡結構和GLU結構以下:
訓練曲線以下:
TCN+Attention+Residual+Two Stream
TCN是一個最近在NLP上取得不錯結果的模型,咱們使用TCN改進基礎的CNN,而且使用了空洞卷積來擴大時間尺度上的視野。最後獲得GAP:85.5%網絡結構以下圖:
Graph建模(accepted as post by ECCV2018)
咱們認爲視頻是一種含有多級結構的數據(hierarchical data structure),即一個視頻包含幀、鏡頭、場景、事件等。並且幀與幀、鏡頭與鏡頭間的關係十分複雜,不只僅是先後幀的順序關係,經過通常的序列建模方法,如LSTM,沒法表達如此複雜的關係,建模效果較差。舉個例子,如圖1所示,包含同一個目標物的幀或鏡頭並不都是連續的,它們分佈在不一樣的時間點上。本文經過深度卷積圖神經網絡(DCGN)對視頻的幀、鏡頭、事件進行多級的建模,逐漸地從幀級、鏡頭級,一直到視頻級進行抽象,從而得到視頻全局的表達,進而進行分類,如圖2所示。
節點被邊連接在一塊兒。經過該圖,最終得到視頻級的表達(video level embedding),進而進行分類(video classification)。
DCGN的核心模塊包括1)節點卷積(node convolution);2)圖池化(graph pooling);3)特徵傳播(propagate)。 而且經過堆疊模塊造成了一個深度的圖神經網絡。圖3展現了網絡中的一個3層的子結構。
此項工做能夠做爲序列建模的通用方法,在其它如語音識別、文本分類等場景都有潛在應用價值。
咱們使用基礎的deep convolutional graph neural network(DCGN)結構來建模,獲得GAP:84.5%
原始的netVLAD體積有4GB左右,沒法直接拿來用在本屆比賽中,因此咱們考慮減少netVLAD的體積,經過對網絡的剪枝,咱們獲得400MB左右的模型。最終GAP:86%
Ensemble
經過Ensemble,咱們最終模型大小980MB獲得的GAP:88.3%
此外,咱們還關注了一些和安全AI相關的workshop和tutorial,主要包括
Workshop on Objectionable Content and Misinformation
隨着互聯網的出現,特別是搜索引擎和社交網絡的出現,天天都會建立和共享大量的圖像和視頻,從而致使數十億的信息呈現給大衆。然而依然存在以下兩大問題:
不良內容:使人反感的內容或敏感圖像,如裸露,色情,暴力,血腥,兒童欺凌和恐怖主義等。
誤導信息:如假鏡頭、PS等可能損壞圖像和視頻信息的準確性,破壞了信息(新聞,博客,帖子等)的不偏不倚和信任。
本次研討會的組織者來自Google,Facebook和一些相關領域的企業和學術機構,目的是探索由使人反感的內容和錯誤信息引發的計算機視覺領域的具體挑戰,並圍繞這一研究領域創建一個聯合討論論壇。研討會的研究主題包括
本次研討會的大部分時間是對misinformation進行了討論,即Image Splicing and localization
機器學習和數據驅動的AI技術,包括深度網絡,目前用於多種應用,從計算機視覺到網絡安全。 在大多數這些應用程序中,包括垃圾郵件和惡意軟件檢測,學習算法必須面對智能的和自適應的攻擊者,他們能夠精細地操縱數據,從而故意破壞學習過程。 因爲這些算法最初並未在這樣的場景下設計,所以它們被證實易受精心設計的複雜攻擊,包括測試期間的規避(evasion)和訓練期間的中毒(poisoning)攻擊(也稱爲對抗性樣本)。 所以,在對抗環境中應對這些威脅並學習安全分類器和AI系統的問題已經成爲機器學習和人工智能安全領域中一個新興的相關研究領域的主題,稱爲對抗性機器學習。
如何設計一個Adversary-aware 的機器學習系統呢?這個tutorial提出了3個黃金法則
本文做者:爲易.wx
本文爲雲棲社區原創內容,未經容許不得轉載。