AOGNet:基於深度 AND-OR 語法網路的目標識別方法

PaperWeekly發表於2017-12-19

本期推薦的論文筆記來自 PaperWeekly 社群使用者 @duinodu本文研究的問題是深度學習中的網路工程問題。如何設計更好的網路結構,是目前的一個研究熱點。這樣的網路結構一旦被設計出來,可以馬上用於很多其他任務。


本文貢獻主要有兩點:

1. 把語法模型和深度神經網路模型結合起來,設計的模型同時兼顧特徵的 exploration and exploitation(探索和利用),並在網路的深度和寬度上保持平衡;

2. 設計的網路結構,在分類任務和目標檢測任務上,都比基於殘差結構的方法要好。

如果你對本文工作感興趣,點選底部的閱讀原文即可檢視原論文。

關於作者:杜敏,華中科技大學碩士生,研究方向為模式識別與智慧系統。

■ 論文 | AOGNets: Deep AND-OR Grammar Networks for Visual Recognition

■ 連結 | https://www.paperweekly.site/papers/1315

■ 作者 | duinodu

論文亮點

網路工程問題,屬於深度學習中比較基礎的問題。網路工程的最大難點在於,由於缺乏對深度神經網路的理論理解,無法根據某種理論來設計網路結構,實際中更多的不斷地嘗試,根據實驗反饋來確定某種結構是不是好。

而使用像增強學習、進化演算法等自動學習網路結構的方法,搜尋空間巨大。有兩個子空間,一個是結構連線子空間,一個是運算子子空間,搜尋空間是這兩個空間的乘積,自動學習網路結構的演算法需要昂貴的計算資源。 

本文的解決辦法是,把語法模型(grammer model)放到神經網路的設計中來,在分類和目標檢測任務中,均取得比基於殘差結構的模型更好的效果

模型介紹


整個模型概覽圖如下:


AOGNet:基於深度 AND-OR 語法網路的目標識別方法

中間有 4 個 AOG 構建塊,每個 AOG 塊的結構如下圖所示:

AOGNet:基於深度 AND-OR 語法網路的目標識別方法

AOG 的全稱叫 AND-OR graph,是一種語法模型(grammer model)。在人工智慧的發展歷程中,大體有兩種解決辦法:一種是自底向上,即目前非常流形的深度神經網路方法,另一種方法是自頂向下,語法模型可以認為是一種自頂向下的方法。

所謂的語法模型,即規定 3-4 條規則,構建 graph,graph 可以認為是一種特徵表達的正規化,它沒有具體規定特徵表達是什麼形式,但是如果遵循這種規則構建特徵表達,卻能達到比較好的效果。本文使用如下三條語法規則:

AOGNet:基於深度 AND-OR 語法網路的目標識別方法

AOGNet 的構建流程如下:


AOGNet:基於深度 AND-OR 語法網路的目標識別方法

可以配合視訊[1],看這個流程圖。 

網路工程分為兩個部分:設計連線結構和設計運算操作符(structure space 和 operator space)。

整個的 CNN 發展歷程,都可以歸結到這兩點。論文的相關工作部分,很好地對 CNN 網路結構的演變,梳理了一番,有如下網路結構:

  • LeNet-5(20 年前)

  • AlexNet(8 層,在 operator space 提出兩種新的操作符:ReLU 和 Dropout))

  • VGG Net(19 層,多個連續的重複的小卷積核,且卷積的 stride 很小)

  • network-in-network(用 1x1 的卷積,在層層之間,增大或者較少特徵的維數)

  • GoogleNet(inception, bottleneck)

  • Highway network(skip connection)

  • Residual Network(Residual connection)

  • Fractal Net(another short path without residual)

  • DenseNet(concatenation scheme)

  • Dual Path Network SE-Net(channel-wise encoding)

  • Hourglass(subsampling & upsampling)

使用三條語法規則構建了網路連線方式,網路中每個節點的運算操作符采用 Bottleneck + Conv_BN_ReLU 的方式。

AOGNet:基於深度 AND-OR 語法網路的目標識別方法

其實可以不同的節點,設計不同的運算子,作者這裡都統一成一樣的。處理上面統一的運算子,各個不同的節點還要分別做下面的運算。

AOGNet:基於深度 AND-OR 語法網路的目標識別方法

實驗結果

在 CIFAR 和 ImageNet-1k 上做了分類的實驗,在 VOC0712 做了目標檢測的實驗(使用 fasterRCNN 框架)。

AOGNet:基於深度 AND-OR 語法網路的目標識別方法

AOGNet:基於深度 AND-OR 語法網路的目標識別方法

AOGNet:基於深度 AND-OR 語法網路的目標識別方法

文章評價

本文作者團隊是朱鬆純教授[2]組的,他們組一直在做語法模型。之前讀過他寫的《人工智慧的現狀、任務、架構和統一》[3],看到這篇文章以及瞭解了語法模型,才算是瞭解朱鬆純組到底要做什麼樣的事情。 

語法模型和深度神經網路,是可以相互融合的方法,前者基於規則,後者基於大量資料擬合。本文只是語法模型的冰山一角,另一篇論文 Interpretable R-CNN [4],也用到了語法模型,和 RFCN 方法結合,獲得一種目標的 part configuration。

這種語法模型目前還在探索之中,尤其是和深度神經網路結合的工作,以及和 GAN、RL 等不同正規化的深度學習方法結合,應該會有有趣的工作。

相關連結

[1] AOGNet 構建流程視訊

http://v.youku.com/v_show/id_XMzIxNDU4MTQ4NA

[2] 朱鬆純教授主頁

http://www.stat.ucla.edu/~sczhu/

[3] 人工智慧的現狀、任務、架構和統一

http://www.stat.ucla.edu/~sczhu/Blog_articles/淺談人工智慧.pdf

[4] Interpretable R-CNN

https://www.paperweekly.site/papers/1215


相關文章