1樓:
因為在卷積神經網路中,卷積核通常是對稱的,是否旋轉卷積核對結果沒有影響。
就算卷積核不是對稱的,為了得到更好的結果,在訓練的過程中,卷積核的引數也會自己進行學習,所以是否旋轉對結果也沒什麼影響。
以下網頁對卷積運算的結果進行了視覺化,演示了不同影象尺寸,卷積核尺寸,是否填充,不同步長對最終結果的影響。
Convolution Visualizer
2樓:Kuiper
CNN中的卷積和數學中的離散卷積是一致的,這樣一來,CNN中常說的卷積核實際上是「真正的卷積核的180度旋轉」。
拿一維卷積為例,設卷積核g的尺寸為3(座標分別為-1,0,1)則對影象中x位置的卷積結果為:f(x-1)g(1) + f(x)g(0) + f(x+1)g(-1)
即為方便起見,工程實現可以只考慮旋轉後的卷積核 [g(1),g(0),g(-1)] ,無需關心旋轉前的真正的卷積核。
3樓:superbrother
這是個很好的問題,如果是功底好,熟悉數學中卷積運算的朋友應該都會有這個疑惑
本質原因是:數學中的卷積和卷積神經網路中的卷積嚴格意義上是兩種不同的運算
(1)數學中的二維離散卷積
因為卷積神經網路中都是離散卷積,這裡就不提連續卷積的問題了。
二維離散卷積的定義是:
這裡, 指輸入的資料矩陣, 是權重係數矩陣,即通常所說的卷積核。
舉個栗子,看看具體是怎麼算的
是乙個m*n的畫素矩陣
f矩陣g是乙個定義好的3*3的卷積核
現在計算
也就是如下兩個矩陣做卷積
注意為了實現卷積運算,卷積核的下標與矩陣是不相同的
卷積運算示意
按照上面的定義,就是計算九個加權和了,如上圖同色塊中的元素相乘再對各項相加(部分參考自馬同學:如何通俗易懂地解釋卷積?)
在上圖中可以清晰地看到數學中卷積運算的特點:
卷積核與原始的矩陣乘積,是圍繞著中心元素進行180度旋轉後,才是對應的元素
(2)卷積神經網路的「卷積」是這麼算的
其本質上是一種互相關函式計算或者說影象處理中的spatial filter
CNN運算示意
(2.1)為什麼說是互相關函式呢?把上述的運算寫成公式
可以概括為:第乙個函式依次作復共軛(這裡是實數,不用取共軛)和平移後與第二個函式相乘的無窮積分(離散情形為求和)
這正是互相關計算的定義()
所以說CNN是在提取影象的每個區域性(感受野)範圍和卷積核的互相關函式
(2.2)為什麼說是spatial filter呢?我們來看兩種影象空間濾波的常見操作
a)平滑濾波
b)邊緣提取
這兩種件事情,很容易通過設計特定的「卷積核」,然後將其與畫素矩陣的對應元素(不進行上述的旋轉)相乘得到
同樣舉個栗子
我們對下述的影象進行平滑濾波和邊緣提取處理
原始影象
使用下面的卷積核,就可以得到預期的效果
兩種卷積核
實現效果
實現的原理也很簡單:
a)就是將中心畫素值與周圍臨近的畫素進行平均,自然就能「削峰填谷」,實現平滑處理
b)就是將中心畫素值複製n份,然後減去周圍的n個臨近畫素值。所以如果是在區域位置(四周畫素值都很相近),畫素值肯定就「減」為0;只有在邊緣位置(與周圍的畫素值差別比較大),相減後才能留下。
(3)此「卷積」與彼「卷積」的聯絡與區別
最直觀的就是:是否進行翻轉,然後再進行對應元素的加權求和
其實本質上來說是兩者的用途不同
數學中卷積,主要是為了諸如訊號處理、求兩個隨機變數和的分布等而定義的運算,所以需要「翻轉」是根據問題的需要而確定的
卷積神經網路中「卷積」,是為了提取影象的特徵,其實只借鑑了「加權求和」的特點還有一點一定要說的是:數學中的「卷積核」都是已知的或者給定的,卷積神經網路中「卷積核」本來就是trainable的引數,不是給定的,根據資料訓練學習的,那麼翻不翻轉還有什麼關係呢?因為無論翻轉與否對應的都是未知引數!
4樓:Dr.Shiki
是B喲,而不是flipped B(雖然也可以),但在dl裡大家都是用B,在signal.processing之類的,會進行flipping operation是因為需要保持associativity的property (A*B)*C=A*(B*C),而在CNN中不需要這個所以就不需要flipping啦
好啦,要睡午覺了,=_=困
5樓:王康康
我認為這個問題是因為這裡的應用情景與我們之前學的不一樣。(假設你懂一點點訊號處理)本科學過的是標準的訊號卷積,(我舉個不恰當的例子)其含義為訊號延時的疊加,舉個例子的話,加入有個訊號是1 2 3 4 5 6,但是這個訊號經過多徑影響,會疊加多次,我們將前後補0,比如是 0 0 0 0 1 2 3 4 5 6 0 0 0 0,「第乙個徑」由於反射次數最少,最先傳回來,所以強度也高,我們將其強度定義為1,第二個徑反射次數多,回來的慢,強度有低,所以就是0 0 0 0 0 1 2 3 4 5 6 0 0 0,強度假設為0.9,那麼你收到的訊號是發射時是同乙個訊號,接收時是疊加後的訊號,我們簡單描述一下疊加的情形
0 0 0 0 1 2 3 4 5 6 0 0 0 0
0 0 0 0 0 1 2 3 4 5 6 0 0 0
0 0 0 0 0 0 1 2 3 4 5 6 0 0
0 0 0 0 0 0 0 1 2 3 4 5 6 0
接收到的四個訊號的強度分別是1 0.9 0.8 0.7,
那麼你如何計算最終收到的訊號?就是(0 0 0 0 1 2 3 4 5 6 0 0 0 0)卷積(1 0.9 0.8 0.7)
假設你要計算第六個位置的訊號強度(我在上面用箭頭指示了一下),很明顯應該是0*0.7+0*0.8+1*0.
9+2*1,這個過程總結成低智商的規律,就是把(1 0.9 0.8 0.
7)翻轉,在找對位置和源訊號相乘。這個規律在很多地方都有講的。怎樣通俗易懂地解釋卷積?
- 數學 - 知乎
然後再說影象的。影象卷積的目的是比對兩幅影象是否相同。最簡單的方法是求均方差,就是兩幅影象相減,平方,再求和。假設我們有三幅影象,大小均為2*2,看後兩幅哪個跟前乙個更相似,其畫素為
1 202 20 45 87
0 5 | 0 578 3
第一幅圖跟第二幅圖相差 sqrt(((1-2)^2+(20-20)^2+(0-0)^2+(5-5)^2))/4=0.25,第一幅圖跟第三幅圖也是同理。我們處理影象常用的過程是在一幅較大的影象中搜尋乙個目標,我們使用的方法中最基礎的就是這個均方差,再舉例子,有個小的目標圖和大的搜尋範圍圖
5 6
11 12
----
1 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18
那麼我們用什麼辦法搜尋呢?就是掃窗法,原圖的(5 6 11 12)和(1 2 7 8)比對,(5 6 11 12)和(2 3 8 9)比對,原圖的(5 6 11 12)和(3 4 9 10)比對(原諒我橫著寫了。。)。
很明顯,在這種應用情景下,確實也大致符合卷積的概念,但是不需要翻轉了,翻轉了反而導致不夠直觀。
那麼假如強行套用卷積的概念,翻轉後再相乘會怎麼樣?比如你要在乙個有一堆公式的截圖中搜尋出數字3所在的位置,那麼你看到的你的濾波器就是ε(意會),這樣做沒這個必要。。。。。
再想一下為什麼會有這個區別?原來的卷積應用情形是訊號的疊加,描述方式是先說第乙個訊號的強度。現在的情形是影象訊號的提取,不是乙個東西。
假如說我改成原來訊號的提取,就是在(0 0 0 0 1 2 3 4 5 6 0 0 0 0)中找出訊號(3 4 5)所在的位置,用的辦法肯定是不用翻轉的這種卷積。假如我在(0 0 0 0 1 2 3 4 5 6 0 0 0 0)中找出訊號(1 0.9 0.
8 0.7)所在的位置,用的辦法肯定還是現在的這種不用翻轉的卷積。只不過最終肯定是找不出來這個訊號罷了
6樓:張旭
對於這個問題,我的理解是,如果正規說起卷積操作,確實要把卷積核旋轉180度才算是真正的卷積。但是在CNN網路中,貌似沒有進行旋轉操作的,原因是這個卷積核只不過是乙個特徵提取器,說白了就是最後經過學習得到的權重引數,是否旋轉無關大礙。
正常來講,對應到數字訊號處理領域,CNN中的這個操作應該稱之為「相關」,由於數字訊號處理中的卷積對應著一些有關於時序問題(具體有點忘了,但應該是這樣的),因此需要翻轉,但是這裡只是借用了這一加權疊加的概念,所以也就無所謂了。
一點淺見,希望大牛指正!
你能解釋一下愛嗎?
輝輝 倆個人吵架了,不管是誰對誰錯,都沒有說分手分開的氣話出來傷人,雖然吵架的時候是衝動的,但是仔細的想,如果是愛,無論怎麼吵怎麼鬧,不管男方哄回女方多麼的麵皮厚的哄,女方就一定能原諒!有時候吵吵鬧鬧有助於感情美好!愛沒有捷徑 需要用心去經營 noriko 乙個人穩定的世界觀,帶來穩定的關係,這種人...
能解釋一下這些公式嗎
我來給乙個視覺化,比較好理解的解釋。首先,我們把積分區域翻一倍,變成整個實軸,由於函式全是偶函式,所以結果只是翻了一倍。但是我們就可以利用 乙個函式在實軸上的積分是其傅利葉變換在0點處的值 然後,眾所周知,卷積定理 乘積的傅利葉變換等於傅利葉變換的卷積。下面,利用 和 a k end eeimg 1...
誰能解釋一下 靈異現象 ?
JumpTheMing 說到底,全都是只是沒有找到合理解釋的事情而已,哪怕真的有鬼,一旦弄清楚鬼產生的原因,照樣可以歸到科學的範疇,甚至誕生一門 靈異學 將其化為生產力,用其特質來為人類搞生產建設做貢獻 greatmatch 我們肉眼通常能看到的只是完整世界的一部分。還有很大一部分叫無形的世界。這是...