0

問題完全連接層在卷積神經網絡的數學細節。假定該網的結構(目標其中是圖像分類)是這樣尺寸的輸入,以從卷積層中的CNN

  • 輸入圖像的32×32
  • 第一隱藏層3x28x28(通過與 大小5x5的,步幅長度的3個濾波器進行卷積而形成= 0和沒有填充),其次是 活化
  • 池層(彙集在2×2的區域)產生 3x14x14
  • 第二隱藏層6x10x10的輸出(通過用6個過濾器尺寸5×5的 ,步幅長度= 0卷積形成並沒有填充) ,隨後 活化
  • 池層(超過2×2區域彙集)產生 6x5x5
  • 完全連接層(FCN)-1的輸出與100層的神經元
  • 完全連接層(FCN)-2用10神經元

從我到目前爲止的讀數中,我瞭解到每個6x5x5矩陣都連接到FCN-1。我有兩個問題,這兩個問題都與從一層輸出到另一層的方式有關。

  1. 第二個池化層的輸出是6x5x5。這些如何饋送到FCN-1?我的意思是FCN-1中的每個神經元都可以看作是一個標量作爲輸入(或1x1矩陣)的節點。那麼我們如何爲它提供6x5x5的輸入?我最初認爲我們會將6x5x5矩陣變平並將其轉換爲150x1陣列,然後將其饋送到神經元,就好像我們有150個訓練點。但是,功能地圖並沒有打破圖像空間結構的論點?
  2. 從第一個池中我們得到3個大小爲14x14的特徵地圖。第二層中的特徵映射如何生成?假設我從第一個卷積圖層得到的3個特徵映射看同一區域(從特徵映射左上角開始的5x5區域)。這三個5x5補丁是否被用作單獨的訓練樣例來在下一組特徵映射中生成相應的區域?如果是這樣,那麼如果三個特徵映射是輸入圖像的RGB值,那該怎麼辦?我們仍將它們作爲單獨的訓練實例嗎?

回答

2

一般什麼一些CNN(如VGG 16,VGG 19)做的是,他們拉平從MAX_POOL層張量輸出的3D,所以在你的榜樣輸入到FC層將成爲(None,150),但其他細胞神經網絡(如ResNet50)使用全局最大值函數獲取6x1x1(輸出張量的維數),然後將其平滑(將變爲(None,6))並饋送到FC層。

This link has an image to a popular CNN architecture called VGG19

回答您的查詢,其中扁平化失敗的空間佈置,當你拼合圖像,可以說一個像素的位置是X IJ(我。第i行,第j列= n*i+j,其中n是圖像的寬度),那麼基於矩陣表示,我們可以說它的上鄰居是X i-1,j(n*(i-1)+j)等等其他鄰居,因爲存在像素及其相鄰像素的相關關係,FC層將自動調整權重以反映該信息。

因此,您可以將convo->activation->pooling圖層組視爲特徵提取圖層,其輸出張量(類似於矢量中的尺寸/特徵)將被饋送到網絡末端的標準ANN中。

+1

請使用換行符和段落以及粗體,斜體,代碼特徵以使答案更清晰 – Subaz