0. 前言
- 相關資料:
- 論文基本信息
- 領域:視頻理解,包括行爲識別、Temporal Action Detection
- 作者單位:FAIR
- 發表時間:2020.4
1. 要解決什麼問題
- 當前視頻理解相關的模型基本都是在2D卷積神經網絡的基礎上進行一些擴展。
- 輸入數據從
N, C, H, W
增加時間尺度N, T, C, H, W
。 - 將2D卷積操作轉換爲3D卷積操作,增加對時間尺度的處理。
- 這種擴展一般來說會提高性能,但計算量也會大大增加。
- 輸入數據從
- 如果在多個尺度上進行擴展,模型效果會如何呢?
2. 用了什麼方法
- X3D,是Expand 3D的縮寫。
- 主要思路:
- 之前的網絡主要是在時間維度上擴展2D卷積神經網絡。
- 但時間尺度上擴展不一定是最佳選擇,還可以在別的尺度上擴展。
- 這種設計的靈感主要來源於之前設計卷積網絡都是在depth/resolution/width上進行擴展,另外還借鑑了機器學習中特徵選擇的方法。
- 需要擴展的axis(這幾個axis可以理解爲網絡的幾個基本參數……)
- 輸入數據的總幀長度。
- 輸入數據的幀率。
- 輸入幀的尺寸。
- 網絡寬度(其實就是每個conv的的通道數量)
- bottlenet層寬度(即bottlenet中前兩個conv的通道數量)
- 網絡深度(其實就是bottlenet的數量)
- 模型訓練過程(好像就叫做Coordinate Descent):
- 首先,給定一個初始狀態,如下表所示,認爲所有參數取值爲1。
- 然後,每次改變一個參數,控制參數量與算力、訓練模型,選擇性能最後的模型作爲下一步的輸入。
- 以此類推,直到達到所需要的算力爲止。
- 一次模型訓練的實例
- 上面訓練過程中所謂的
改變一個參數
,好像也是預先定義了幾種,沒細看,應該就是對幾個參數的改變。
3. 效果如何
- 太666了,在比之前的模型少4.8倍multiply-adds、少5.5倍參數的情況下,達到了差不多的精度……
- 尼瑪太233了。
- 不同尺寸的X3D模型
- 在各種數據集上的效果,2333
- 最666的圖,跟當時看到yolo論文的感覺差不多,性能碾壓(沒把自己放到第二象限就已經很給面子了)
4. 還存在什麼問題
-
效果這麼6,但很難復現,主要是訓練代碼吧。坐等開源。
-
不知道放到手機上運行會如何。
-
我沒看過 EfficientNet3D的論文,可能跟本文很相關,後續要補看一下。