Tuesday, July 25, 2017

Fully Connected vs 1*1 Convolution

Fully Connected vs 1*1 Convolution, 兩個是一樣的嗎

  • 完全不一樣!!!!!!
  • 參考2015年Yann LeCun在臉書上的分享,Fully Connected 和 1*1 Convolution 只有在某種特殊情況下才會相當!
    • training時,最後一層ConV輸出1*1的feature map,此時flatten後接上Fully Connect
    • testing時,輸入是原本的數倍放大,導致在最後一層的feature map會產生空間上的擴展,此時的Fully Connect(原本的連接方式),可相當於1*1的ConV,(因為擴展的部份是共用同一個1*1 ConV Kernel!)

常搞混的點

  • ConV過程如何計算使用到的weights數量?
    • (last channels amount) * (kernel size) * (kernel amount)
    • 每個channel都會有一個獨立的filter進行Convolution
  • ConV只能輸入固定大小的input?
    • Nooo, 沒有人規定這樣,只是不同的input size會產生不同大小的feature map,如此而已。

REF:

No comments:

Post a Comment