在卷積神經網路中卷積核為什麼都是方形的?如果做成近似於圓形,也就是邊緣處的權重更低或者乾脆不要對角那裡的直觀感覺會更好?比如下面這樣 ,本來是卷積核是3

111

111

111

變成這樣

x 1 x

1 1 1

x 1 x

卷積核為5的話同樣去掉四個角


方形是形式,設置某些權重為小的值實質是改變了核的形狀。


卷積運算包含大量矩陣運算和點積運算。卷積核是方的,可以用矩陣存儲,處理起來就更方便。從效果上來說,方的卷積核不一定是最好的,但是大多數情況下用起來都足夠了。你提的問題很好,其實,不光是你說的圓的卷積核,更一般的形狀不規則的卷積核也有人研究,下面這個例子是中科院自動化所對不規則卷積核的研究 http://www.cas.cn/syky/201707/t20170712_4608245.shtml


只是實現起來方便而已 你完全可以讓其中某些元素強製為零來限制它的實際形狀


卷積核為什麼都是方形的?確切的說,常見的卷積核是 奇數*奇數 如 3*3、5*5 。經典的卷積網路都使用 奇數*奇數 的卷積核 原因如下:

1、這樣的卷積更容易找到卷積中心點。圖像的卷積運算是卷積核在圖片上進行滑動,然後進行相乘相加計算,最終得到一個值,如果不是 奇數 型的卷積核,那麼把哪個點作為中心點都不合適。

圖片來源網路 侵刪

2、有時候,我們需要使圖片進行卷積前後圖片大小保持不變,故需要進行 padding 操作。卷積操作使得圖片大小保持不變的表達式如下: (n-k+2p)/1+1=n,n 代表原圖的大小,k 代表卷積核大小,p 代表 padding 大小。 運算得 k=2p+1 故卷積核選擇 奇數*奇數 比較合適

因為圖像全是方形的


Why convolutions always use odd-numbers as filter_size?

datascience.stackexchange.com圖標

卷積運算,簡單地說,是兩個矩陣的元素乘積的組合。只要這兩個矩陣在維度上是一致的,就不應該有問題,所以我可以理解你的查詢背後的動機。

A.1

然而,卷積的意圖是根據濾波器或內核對源數據矩陣(整個圖像)進行編碼。更具體地說,我們正在嘗試對錨/源像素附近的像素進行編碼。

通常,我們考慮源圖像的每個像素作為錨/源像素,我們可以這麼做。事實上,包含一個步幅stride很常見,錨/源像素中,由特定數目的像素分隔。

好,那麼源像素是什麼?它是以內核為中心的錨定點,我們對所有相鄰像素進行編碼,包括錨/源像素。由於核是對稱形狀的(在內核值中不是對稱的),所以錨像素的所有邊(4連通)的像素數相等(n)。因此,不管這個像素的數目是多少,我們對稱形狀的內核的每邊的長度是2×n+1(錨的每一邊+錨像素),因此過濾器/內核總是奇數大小的。

如果我們決定打破傳統,使用非對稱內核呢?你會遭受混疊錯誤,所以我們不這樣做。我們認為像素是最小的實體,即這裡沒有子像素的概念。

解讀:主要是從像素編碼的角度看,奇數似乎正好強調了此像素點,而偶數就會引起平衡或者抵消,消除此點的特點。

A2

邊界問題用不同的方法處理:一些忽略它,一些零墊它,一些鏡子反映它。如果你不打算計算一個逆運算,即反褶積,並且對原始圖像的完全重建不感興趣,那麼你就不關心由於邊界問題引起的信息丟失或雜訊注入。通常,池操作(平均池或最大池)將移除您的邊界偽影。所以,自由地忽略你的「輸入欄位」的一部分,你的彙集操作會為你這樣做。

解讀:這裡對池化操作的丟失信息進行了解釋,池化丟失的信息是邊界信息。對於最大值池化,只要有一個像素是最大值,那麼池化過程中就會忽略他周圍的影響,而只取他的值。從這邊看,是丟失了一部分的信息,但是對於丟失的邊界信息,沒看出來,歡迎思考補充!

A3

在舊的信號處理域中,當輸入信號卷積或通過濾波器時,無法判斷A-先驗的卷積/濾波響應的哪些分量是相關的/信息的,而不是。因此,其目的是在這些變換中保存信號分量(全部)。

這些信號分量是信息。有些組件比其他組件更具信息性。唯一的原因是,我們有興趣提取更高層次的信息;信息相關的一些語義類。因此,不提供我們特別感興趣的信息的那些信號分量可以被修剪掉。因此,不同於舊的關於卷積/濾波的教條,我們可以自由地彙集/修剪卷積響應。我們這樣做的目的是嚴格刪除所有對改進我們的統計模型沒有貢獻的數據組件。

有GPU需求的朋友在智星雲租用GPU,性價比很高。


卷積弄成圓形的並不會帶來什麼好處,反正卷積就是權重,最後都會根據樣本分佈學出來卷積核的參數的,你那圓形不就是角上參數為0嗎?如果圖片確實適合用這種圓形卷積核,那拿矩形卷積核出來就是角點接近0.


為什麼CNN中的卷積核一般都是正方形,沒有長方形??

www.zhihu.com圖標

這個問題已經存在,但是我想說兩句。卷積核並非都是正方形的,還可以是矩形,比如3*5,在文本檢測和車牌檢測當中就有應用,這種設計主要針對文本行或者車牌的形狀,能更好的學習特徵。其實我覺得方形矩形影響不大,網路的學習能力是非常強的。


也不一定,DCN就是一種另類


其實沒有這種限制,是根據問題來定的。個人理解,如果輸入的圖片、數據是長方形的,我們可以採用長方形的卷積核進行卷積,達到正方形的特徵圖。 或者,索性直接長方形的卷積核卷積到底。


語音上會用到矩陣


推薦閱讀:
相關文章