在之前的文章中(卷積神經(jīng)網(wǎng)絡中為什么會有矩陣乘法?),我們提到的情形是只有一個通道的輸入數(shù)據(jù),相應的,也就只有一個與之對應的Kernel。如果是多通道輸入數(shù)據(jù),是否依然存在矩陣乘法呢?我們看下面的例子。
在這個例子中,有3個輸入通道(RGB),每個通道有與之對應的Kernel,此時的卷積運算并沒有本質(zhì)的變化,就每個通道而言,仍然是二維濾波器。將每個通道的輸出結(jié)果對應元素相加即為多通道情形下的卷積結(jié)果。這里可以設置偏置(Bias)。圖中的偏置值為1。此時,輸入為多通道,輸出為單通道。
進一步擴展,如果每個通道有多個與之對應的Kernel,會是什么情形呢?如下圖所示。圖中,每個通道有4個Kernel。從而,最終輸出有4個通道。輸出每個通道的計算方式與上圖保持一致。
基于以上兩圖,我們不難得出如下結(jié)論:
輸入通道與Kernel通道保持一致,例如上圖中有3個輸入通道和3個Kernel通道。
輸出通道個數(shù)與每個Kernel通道內(nèi)的濾波器個數(shù)一致,例如上圖中每個Kernel通道內(nèi)有4個濾波器,故輸出通道個數(shù)為4。
每個輸出通道所包含的元素個數(shù)與滑窗個數(shù)一致。這再次證明多通道本質(zhì)上與單通道的卷積運算是一致的。
現(xiàn)在,我們對輸入通道數(shù)據(jù)進行重組,如下圖所示方式。取出每個通道滑窗內(nèi)的數(shù)據(jù),排成一列,最終構(gòu)成一個矩陣。
緊接著,將每個通道對應的Kernel也進行重組,如下圖所示方式。最終形成Kernel矩陣。與輸入通道數(shù)據(jù)重組不同的是這里將Kernel系數(shù)按行排列,每個Kernel通道內(nèi)濾波器的個數(shù)決定了行數(shù)。
至此,輸入數(shù)據(jù)和Kernel系數(shù)都被重組為矩陣,重組的目的就是為了滿足矩陣運算的需求,這樣就可以按照矩陣乘法計算卷積運算了。
責任編輯:lq
-
濾波器
+關注
關注
162文章
8276瀏覽量
184453 -
神經(jīng)網(wǎng)絡
+關注
關注
42文章
4821瀏覽量
106449 -
矩陣
+關注
關注
1文章
441瀏覽量
35749
原文標題:再談卷積神經(jīng)網(wǎng)絡中為什么會有矩陣乘法
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術驛站】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
STM32多通道FFT運算異常的原因?怎么解決?

如果是多通道輸入數(shù)據(jù),是否依然存在矩陣乘法呢?
評論