Thursday, August 03, 2017

AI從頭學(三一):Inception

AI從頭學(三一):Inception

2017/08/03

前言:

知其然,也要知其所以然!

-----

Summary:

GoogLeNet [1] 主要的靈感來自 [2],實務上的應用則參考 Network in Network [3]。

之前寫的幾篇文章主要是 GoogLeNet 如何運作 [4]-[6],但它設計的原理,雖然看了好幾次 [2],無奈並不容易看懂,一直到最近重新查詢 [2] 的標題,找到相關的中文文獻 [7],才得以徹底瞭解 [1] 的設計原理。

-----

圖1.1是Inception 3a 與 3b。

圖1.2則是 3a 與 3b 綠色的部分:DepthContact。

作者把圖1.1重點的部分加上紅框,在原理講解完後再講解這三個紅框作用為何。


Fig. 1.1. Inception 3, p, 6 [1].



Fig. 1.2. DepthConcat [5].

-----

首先是 GoogLeNet 的靈感來源 [2] 的靈感來源:Hebbian rule。

其大意是:相關性高的節點應該要綁在一起。參考圖2.1。

根據這個原理,[2] 藉著觀察特徵之間的相關性,一層一層地重新建造網路。參考圖2.2。

這一段跟 GoogLeNet 關係為何?很難理解,什麼叫做「特徵的相關性」?如何計算?

不過沒關係,隨著資料的開展,我們會知道什麼叫做「特徵的相關性」。



Fig. 2.1. Hebbian rule, p. 3 [2].



Fig. 2.2. Observing correlations, p. 1 [2].

-----

[2] 的主要結果說明:如果資料集的機率分布可以表現為一個大型的極稀疏網路(CNN結構上就很稀疏,全連接層則很稠密),那麼最佳的網路拓樸可以藉著分析前一層作用的關連統計與高相關輸出的群聚神經元一層一層重新建造。參考圖3.1。

很像繞口令吧,這幾段話我看了很多次,一點都無法理解這個跟 GoogLeNet 關係在哪?

不過 GoogLeNet 毫不客氣地引用 [2] 的結果,試著用一個稠密的現成單元來近似 [2] 的稀疏結構,這個單元也就是 Inception。



Fig. 3.1. Analyzing the correlation statistics, p. 2 [1].



Fig. 3.2. Dense, readily available components, p. 3 [1].

-----

這裡直接引用一段話(圖4.1) :

「因此一個「好」的稀疏結構,應該是符合Hebbian原理的,我們應該把相關性高的一簇神經元節點連接在一起。在普通的數據集中,這可能需要對神經元節點聚類,但是在圖片數據中,天然的就是臨近區域的數據相關性高,因此相鄰的像素點被卷積操作連接在一起。而我們可能有多個卷積核,在同一空間位置但在不同通道的卷積核的輸出結果相關性極高。因此,一個1´1的卷積就可以很自然地把這些相關性很高的、在同一個空間位置但是不同通道的特徵連接在一起,這就是為什麼1´1卷積這麼頻繁地被應用到Inception Net中的原因。 」[7]

重點就是:臨近區域的數據相關性高。

這個鄰近區域,被卷積核把高相關性萃取出來,3x3 視野較小,5x5 視野較大,另外還有 max pooling 也是一種參考來源。至於平面上的同一位置、不同通道的,相關性也極大,則由 1x1 綁在一起,這就是上面圖1.1紅框代表的 1x1 跨通道作用。

另外 3x3 與 5x5 前面的 1x1 作用則是降維。

Conv1 的作用在於把 圖1.2的DepthCancat 以及 Maxpooling 作 「fire together」,另一個作用是 Conv3 與 Conv5 前面的降維。



Fig. 4.1. 鄰近區域的數據相關性高 [7].

-----

藉由以上的說明,我們就可以讀懂圖4.2這一大段話,以及圖3.2,GoogLeNet 用 Inception 這個架構重覆構築圖片分類的網路。

FB網友對 [7] 的觀點,與圖4.2相同。

許傅鈞:這一篇的確主要是參考Provable那篇,但Googlenet並沒有先去找高度相關的節點做clustering,而是直接設定一個網路結構然後開始訓練。



Fig. 4.2. Implementing Hebbian rule with 1x1 convolutions, p. 3 [1].

-----

結論:

重點就是:臨近區域的數據相關性高。不管是平面上,還是通道之間。

這段話或許是影像處理的「常識」,因為論文中並未提到。

-----

許傅鈞:相鄰影像的相關性是從神經科學對眼睛reception field的特性得來的。的確近代文章已經把它當作不用推導的特性

-----

References

[1] 2015_Going deeper with convolutions

[2] 2014_Provable bounds for learning some deep representations

[3] 2014_Network in network

[4] AI從頭學(二八):Network in Network
http://hemingwang.blogspot.tw/2017/06/ainetwork-in-network.html

[5] AI從頭學(二九):GoogLeNet
http://hemingwang.blogspot.tw/2017/06/aigooglenet.html

[6] AI從頭學(三0):Conv1
http://hemingwang.blogspot.tw/2017/06/aiconv1.html

[7] 深度學習之四大經典CNN技術淺析 硬創公開課 香港矽谷
https://www.hksilicon.com/articles/1280725

No comments: