什麼是摺積(卷積)

把兩個序列的其中一個做時間反轉並逐步平移,與另一個相乘後相加的運算。在離散時間中為 y[n] = Σx[k]h[n − k],LTI系統的輸出就是輸入與脈衝響應的摺積。長度 L 與 M 的序列做摺積,長度為 L + M − 1。時間側的摺積在頻率側成為乘法,因此長的摺積可用FFT快速計算。卷積神經網路的「卷積」在許多實作中是以不反轉濾波器的互相關來計算,但權重是透過學習決定的,因此不論採用哪種定義,學習後的效果都相同。

日文名稱: 畳み込み

「摺積(卷積)」出現在3領域的6道練習題中(AI硬體與軟體堆疊, 機器學習基礎, 數位訊號處理基礎等)。

這個名詞所屬的領域: 數位訊號處理基礎

練習摺積(卷積)的題目

在卷積神經網路中,有時會用im2col等方法將卷積計算轉換為矩陣相乘來計算,其原因下列何者正確?

  1. A因為轉換後運算次數會變為十分之一
  2. B因為可以使用高度最佳化的矩陣相乘函式庫,以及張量核心等矩陣運算單元
  3. C因為轉換後記憶體使用量必定減少
查看答案與解析

正確答案:B. 因為可以使用高度最佳化的矩陣相乘函式庫,以及張量核心等矩陣運算單元

im2col是建立一個大矩陣,把進入卷積各個視窗的輸入值排成一欄,再以與排列濾波器的矩陣相乘來計算卷積的方法。雖然視窗重疊的部分會使輸入重複而增加記憶體,但可以直接使用數十年來持續最佳化的矩陣相乘函式庫,以及張量核心這類矩陣運算單元,因此整體而言通常會變快。也有不產生重複而達成相同效果的實作。

對28×28的單通道影像,以5×5的濾波器進行卷積(步幅1、不填充),接著進行2×2的最大池化(步幅2)。輸出的高與寬為何者?

  1. A12×12
  2. B14×14
  3. C24×24
查看答案與解析

正確答案:A. 12×12

卷積輸出的大小,以輸入大小為N、濾波器大小為F、填充為P、步幅為S,可由 (N + 2P − F) ÷ S + 1 求得。(28 + 0 − 5) ÷ 1 + 1 = 24,因此卷積後為24×24。以步幅2進行2×2的最大池化時,每個2×2區域只保留一個最大值,因此高與寬減半,成為12×12。池化沒有可訓練的參數,具有縮小資料以減少計算量,並使網路不易受位置微小偏移影響的作用。

解析中的「摺積(卷積)」

出現「摺積(卷積)」的題目(6題)

  1. 在卷積神經網路中,有時會用im2col等方法將卷積計算轉換為矩陣相乘來計算,其原因下列何者正確?
  2. 對28×28的單通道影像,以5×5的濾波器進行卷積(步幅1、不填充),接著進行2×2的最大池化(步幅2)。輸出的高與寬為何者?
  3. 把 x[n] = {1, 2, 3}(n = 0, 1, 2)輸入脈衝響應為 h[n] = {1, −1}(n = 0, 1)的LTI系統。輸出 y[0]~y[3] 為下列何者?
  4. 關於AI加速器資料流方式之一的「權重固定(weight stationary)」,下列說明何者正確?
  5. 將AI的軟體堆疊從貼近使用者的上層,依序排列到貼近硬體的下層,下列何者正確?
  6. 輸入為64個、輸出為32個的全連接層(每個輸出各有1個偏差),可訓練的參數數量為何者?

相關名詞

卷積神經網路(CNN) 張量核心(Tensor core) 脈衝響應 AI 編譯器(AI compiler) 計算圖(Computational graph) GPU NPU(神經網路處理單元) 有限脈衝響應濾波器(FIR) 快速傅立葉轉換(FFT) 降取樣

前往名詞解釋列表