論文瀏覽(5) X3D: Expanding Architectures for Efficient Video Recognition


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的數量)
    • image_1ea1i3fkbpplc2k1m3sg81rvt9.png-189.8kB
  • 模型訓練過程(好像就叫做Coordinate Descent):
    • 首先,給定一個初始狀態,如下表所示,認爲所有參數取值爲1。
    • 然後,每次改變一個參數,控制參數量與算力、訓練模型,選擇性能最後的模型作爲下一步的輸入。
    • 以此類推,直到達到所需要的算力爲止。
    • image_1ea1k2cbl1sc4pjf1pki6na1ivqm.png-244.1kB
  • 一次模型訓練的實例
    • image_1ea1n13ms8d7j9mg73jpm1nod1g.png-204kB
  • 上面訓練過程中所謂的改變一個參數,好像也是預先定義了幾種,沒細看,應該就是對幾個參數的改變。
    image_1ea1mpq7j1i6s1pms1m1ntsi1jl513.png-200.8kB

3. 效果如何

  • 太666了,在比之前的模型少4.8倍multiply-adds、少5.5倍參數的情況下,達到了差不多的精度……
    • 尼瑪太233了。
  • 不同尺寸的X3D模型
    image_1ea1n95buqff1r5n91k1ro3s61t.png-163.5kB
  • 在各種數據集上的效果,2333
    image_1ea1nnso61j8si5p3fc15ra3r02a.png-255.7kB
    image_1ea1noanom44mkn15da1ovo1rdr2n.png-80.2kB
    image_1ea1nohk01vqu1jhvpe11dtc3v634.png-271.8kB
  • 最666的圖,跟當時看到yolo論文的感覺差不多,性能碾壓(沒把自己放到第二象限就已經很給面子了)
    image_1ea1nqgr0b2dc761so3149bpal3h.png-368.6kB

4. 還存在什麼問題

  • 效果這麼6,但很難復現,主要是訓練代碼吧。坐等開源。

  • 不知道放到手機上運行會如何。

  • 我沒看過 EfficientNet3D的論文,可能跟本文很相關,後續要補看一下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章