詳解 1x1 卷積核

ViatorSun發表於2020-11-17

表面看來,1x1 卷積核似乎並不是真正的濾波器,它只是將影像的每個點都乘以 1 個權重,再加上 1個偏置;因此,通過 N個 1x1 卷積核,只需少量引數,就能將 M張影像變為 N張影像;


應用場景

  1. 如需將影像分為 N類,可在最後用 1x1 卷積層 將 M張影像轉換為 N張影像,在通過全域性池化變為 N個數字,送入 Softmax計算輸出;

  1. 可用 1x1 卷積層作為 瓶頸層。假設輸入通道是 256個,要求經過 3x3卷積,最後輸出通道也是 256個,那麼有 2種實現方式:
    • 直接送入3x3 卷積層,忽略偏置,引數量是 256 × 3 × 3 × 256 = 589824 256\times3\times3\times256 = 589824 256×3×3×256=589824

    • 先送入 1x1 卷積層變為 64 個通道,在送入 3x3 卷積層維持為 64 個通道,在送入 1x1 卷積層變為 256 個通道;

      • 忽略偏置,引數量如下,僅為此前的 11.8 % 11.8\% 11.8%
        256 × 1 × 1 × 64 + 64 × 3 × 3 × 64 + 64 × 1 × 1 × 256 = 69632 256\times1\times1\times64 + 64\times3\times3\times64 + 64\times1\times1\times256 = 69632 256×1×1×64+64×3×3×64+64×1×1×256=69632

      • 而且,由於網路更深(由3層變為5層),可在各層之間插入更多的非線性啟用函式,網路的表達能力仍然很強;

      可見,我們可靈活的在通道數很多的卷積層之間,插入通道數更少的 1x1 卷積層,作為瓶頸層;


  1. 只要希望該表通道數 or 影像尺寸,簡單的方法就是使用 1x1 卷積層;

  1. 通過連續使用多個 1x1 卷積層,可在影像的每個點上實現一個小型的 MLP 網路,詳情請參考《Network In Network》

相關文章