特徵工程也能達到深度學習的表現,是深度學習太弱還是任務太簡單?

雷鋒網 AI 科技評論按:日前,一篇關於 BagNet 的 ICLR 論文引起了機器學習 Twitter 社區的廣泛討論。針對這篇論文,谷歌大腦工程師 Eric Jang 發佈了一篇博客進行了解讀。雷鋒網 AI 科技評論編譯如下。

聲明:我並非這篇論文在 ICLR 中的審稿人,但我認為它非常值得被收錄,並希望它能通過研究社區進一步推動研究者對該領域的研究。大家如果在這篇博客中發現任何錯誤或誤解,請隨時給我發送郵件進行指正。

論文概要

卷積神經網絡(CNN)通過學習卷積來彙集局部特徵,並進行空間上的池化來實現非深度學習圖像識別。這些「卷積層」的連續應用能產生在廣泛空間內聚合低級語義信息並擴展形成更高級信息的「層次化的特徵」。

至於算法的解,那些熱衷於深度學習的研究者相信,目前的卷積神經網絡能聚合全局信息。不過也有另外一種觀點認為,智能視覺理解要求「看到森林中的樹木」。

在這篇 BagNet 論文中,作者發現對於 ImageNet 分類任務,與深度 AlexNet 模型(準確率為 84.7%)相比,BagNet 算法的表現出人意料地好:實現了 86% 的準確率(Top-5 準確率)。BagNet 的實現方法為:

  • 將輸入圖像切分為 33×33 像素的圖像塊;

  • 在每一個圖像塊上運行一個深度網絡(1×1 卷積),從而獲得類別向量;

  • 根據空間對輸出的類別向量進行求和(在所有的圖像塊上);

  • 使用類別向量的最大值來預測類別。


深度 BagNet 的實現方法:A) 模型從小圖像塊中提取特徵,其中每一個圖像塊都會餵養到一個線性分類器中,並為每個類別產生一個分對數熱力圖。之後求取特徵空間內這些熱力圖的均值,並傳送到 Softmax 函數得到最終的類別概率;B) ImageNet Top-5 準確率隨圖像塊大小的變化而變化;C) VGG-16 分對數的相關性。

這一類比表明了,圖像分類並不一定需要非線性模型來將一群局部特徵聚合到全局表徵中,而只需要「確認這是一群樹木從而推斷出這是一片森林」

同時,該論文還有其他的一些實驗結論:

  • 相比於使用 17×17 像素的圖像塊(80%),BagNet 在使用 33×33 像素的圖像塊時表現要稍微好些。因此深度網絡確實能夠提取有用的空間信息(9x9 vs. 17x17 vs. 33x33),不過這可能並非是我們此前所預想的的全局空間範圍(例如 112×112 或 224×224)。

  • BagNet 模型的空間分佈特徵在 bagging 步驟以外不會相互作用,這就帶來了一個問題:深度網絡大部分「能力」是否僅來自於對局部特徵的檢查。深度網絡僅僅就是 BagNet 嗎?如果是的話,BagNet 還是比較令人擔憂的。

  • VGG 的做法看起來非常接近 BagNet(雖然我有點質疑作者實驗中所用到的方法),而 DenseNet 和 ResNet 則似乎與 BagNet 的做法完全不同(作者在 rebuttal 中解釋道,該結果可能因為模型在局部特徵頂部採用了更加非線性的分類器或更大的局部特徵大小)。

想法&問題

不管你是否認為 CNN 能夠/應該將我們帶入通用人工智能時代,本論文都以一些清晰的證據表明了,我們僅通過檢查局部特徵就可以構建異常強大的圖像分類模型。一般而言,使用更具可解釋性的模型來解決應用問題幫助會更大,我也很高興看到這類模型在某些問題上表現得這麼好。

在原理上,BagNet 與比深度學習早出現很久的廣義加性模型(Generalized Additive Models)非常相似。GAM 的基本思想是,將非線性單變量特徵(例如 f(xi),其中每個 xi 都為一個像素、 f 為一個神經網絡)組合成一個簡單的、可解釋的特徵,從而查詢到每個變量所對應的邊際預測分佈。我尤其對 Lou 等人在論文(論文閱讀地址:https://www.microsoft.com/en-us/research/wp-content/uploads/2017/06/kdd13.pdf)中提出的想法感到興奮,他們提出將 GAM 鬆弛化以支持單變量特徵提取器間的成對交互(2D 邊際依舊可被人類理解)。

作者沒有清晰地闡述這一點,不過快速瀏覽一遍論文後很容易得出這樣的結論:「DNN 糟糕透了,它們不過就是 BagNets 罷了」。然而實際情況並非如此(作者的實驗也表明了這一點)。

舉一個反例:一個明顯的反例就是,局部修改(有時單個像素)可能改變全局特徵表徵。因此很明顯地,測試輸入實際上是進行了全局形狀集成的。而剩下的問題在於,全局形狀集成是否發生在我們認為其應該發生的地方以及發生在哪個任務中。作為一個對 AGI 非常感興趣的人,我現在對 ImageNet 的興趣度下降了不少,恰恰就是因為它可以使用對圖像缺乏全局理解的模型來解決。

作者們自己也多次提到了這點:我們需要比要求全局形狀集成這類任務更加困難的任務。

在圖像生成建模(如 GAN)這一任務中,patch 特徵間的線性交互明顯不足以對像素間的無條件聯合分佈進行建模。或者不妨考慮一下我最看好的強化學習任務——在自然環境中生存,這一任務中的智能體顯然需要進行空間推理來解決追逐獵物或逃離捕食者等問題。設計一個人工生命體設置並看該生物體能否使用 bag-of-features 感知來真實地與使用非線性全局集成的生物體競爭(對此,我持懷疑態度),是非常有趣的。

如果我們訓練出一個能夠通過集成全局信息來提高性能(如分類任務),並最終僅在局部特徵上過擬合的模型,那這將是一個非常有趣的結果——這意味着我們需要一個不允許模型以這種方式作弊的優化目標。對此,我認為「在自然環境中生存」是一項非常合適的任務,儘管我希望還能夠找到另外一個對計算資源要求較低的任務。

最後是關於對可解釋性與因果推理的探討。在短期內,我可以看到 BagNet 在自動駕駛汽車領域所發揮的作用,該領域分別對於每個圖像塊的考慮可以實現計算的并行化,從而能夠更好地加速對大型圖像的處理。我們每一個人都希望自動駕駛汽車上的機器學習模型能夠具有可解釋性,不是嗎?但是現在有一個心理學上的問題就是,人類更偏向於坐進使用黑盒子 CNN(「準確的、不可解釋的以及可能錯誤的」)進行駕駛操作的汽車,還是使用 Bag-of-Features(「準確的、可解釋的以及肯定錯誤的」)做決策的汽車。BagNet 的可解釋性似乎與要求通過實現更好的泛化性機器學習方法來進行「因果推理」和「程序歸納」並不一致。我好奇社區中的成員認為我們應該怎樣調和這兩者間的差異。

為了實現更好的因果推斷,現在有一種更積極的方式來看待這些方法。在設計端到端系統(如機械人、自動駕駛汽車)時,BagNet 這類方法可以作為其非常有用的健全檢查:如果比起僅檢查本地統計規律的方法(如 BagNet),你的深度網絡的表現並沒有好多少的話,就表明了你的模型依舊需要從更好的全局信息集成中獲益。研究者甚至可以考慮對 BagNet 和 Advantage(DeepNet、BagNet)進行聯合優化,從而讓深度網絡明確地提取出比 BagNet 所提取的更好的信息。我也一直在思考如何更好地為機械人驗證我們的機器學習系統,而構建這種「零假設」模型則或許是核查機器沒有採用愚蠢的方式去學習的正確方法。

via:https://blog.evjang.com/2019/02/bagnet.html 雷鋒網


想在手機閱讀更多電腦與科技資訊?下載【香港矽谷】Android應用
分享到Facebook
技術平台: Nasthon Systems