03.03 如何看懂神經網絡圖?

visionstory


神經網絡的圖還是比較容易看懂的,比電路圖什麼的要好懂多了。只是剛開始接觸有些不習慣罷了,多看一些就好了。

下面舉幾張神經網絡圖作為例子(由簡單到複雜)。

簡單的3層網絡

下圖是一個非常簡單的3層網絡。

首先,我們注意到有一些圓形,它們表示神經元。然後,豎著看,這些神經元組成的“列”稱為網絡層。灰色的神經元構成輸入層輸出層,中間黑色的神經元構成隱藏層

然後,神經元之間有一些線互相連接,這些線稱為連接。在上圖中,每層中的每個神經元都和下一層中的每個神經元連接,這稱為全連接層(Full Connected,FC)。準確地說,這些線是一些箭頭,這些箭頭指示前向傳播的方向。

VGG

當然了,實際的神經網絡包含成千上萬的神經元,不可能在神經網絡圖中把這些神經元和連接都畫出來。因此,往往是用方塊表示一個神經網絡層(而不是像上圖一樣把每層中的神經元都畫出來)。

er the entire ImageNet training set).

上圖中,黑色方塊表示使用ReLU激活的卷積層,紅色表示最大池化,藍色表示使用ReLU激活的全連接層,黃色表示softmax層。

Inception和ResNet

有的時候,整個網絡很複雜,或者,有的神經網絡可以作為組件堆疊起來,或者嵌入更大、更復雜的神經網絡,這時候,往往只畫出網絡的一部分。比如,下圖為Google在2014年提出的Inception模塊:

上圖中,每個方塊都表示一個網絡層,比如,紅色是3x3最大池化層,黃色是1x1卷積層,同樣,用箭頭表示連接(只不過不再是神經元中的連接,而是網絡層間的連接)。

下圖為ResNet的網絡結構圖,同樣,只畫出一個組件,方塊表示網絡層,箭頭表示連接。


MSDNet

下圖是MSDNet(多尺度密集網絡)的神經網絡圖。相對而言,這個神經網絡圖比較複雜,不過,一般這種比較複雜的神經網絡圖,都會有相應的圖例和說明。

看這種比較複雜的網絡圖,首先要搞明白圖例,比如,綠色橢圓表示分類器,黃色方塊表示特徵映射,紅線表示卷積,藍線表示步進卷積,淺黃色虛框表示層。

然後,盯住輸入和輸出。上圖輸入(貓圖)傳給第一層(l = 1),輸出為綠色的分類器。從輸入和輸出兩頭分別往中間推,比較容易看清流向,搞明白整個網絡的架構。

(思考題:你有沒有發現上圖中有些地方有點浪費,或者說,這個圖可不可簡化一下?評論告訴我你的想法。)


論智


神經網絡很簡單,只需要瞭解一下y=kx+b在神經網絡圖上是怎麼表達的就行了,如果還想了解怎麼求k、b,那麼就用五個樣本,按照公式帶進去,就知道k、b是怎麼迭代計算出來了。所有知識都是這樣,從最簡單舉例開始。


分享到:


相關文章: