-
權值共享
鎖定
- 中文名
- 權值共享
- 外文名
- Weight sharing
權值共享簡介
權值共享意味着每一個過濾器在遍歷整個圖像的時候,過濾器的參數(即過濾器的參數的值)是固定不變的,比如我有3個特徵過濾器,每個過濾器都會掃描整個圖像,在掃描的過程中,過濾器的參數值是固定不變的,即整個圖像的所有元素都“共享”了相同的權值。
另外,換個角度理解為什麼權值要固定,比如我有個曲線的特徵過濾器,那麼這個過濾器在掃描全圖的時候,我們想要提取出所有的曲線區域,是不是這個過濾器不能變?如果在上半部分過濾器是曲線,到下半部分變成了直線,那麼在圖像上下區域內提取出來的曲線特徵是真正的曲線嗎?個人認為從這個直白的角度更容易理解。
[1]
權值共享舉例
對於一張輸入圖片,大小為
,如果使用全連接網絡,生成一張
的feature map,需要
個參數,如果原圖長寬是10^2級別的,而且
大小和
差不多的話,那麼這樣一層網絡需要的參數個數是108~1012級別。這麼多參數肯定是不行的,那麼我們就想辦法減少參數的個數對於輸出層feature map上的每一個像素,他與原圖片的每一個像素都有連接,每一個鏈接都需要一個參數。但注意到圖像一般都是局部相關的,那麼如果輸出層的每一個像素只和輸入層圖片的一個局部相連,那麼需要參數的個數就會大大減少。假設輸出層每個像素只與輸入圖片上
的一個小方塊有連接,也就是説輸出層的這個像素值,只是通過原圖的這個
的小方形中的像素值計算而來,那麼對於輸出層的每個像素,需要的參數個數就從原來的
減小到了
。如果對於原圖片的每一個
的方框都需要計算這樣一個輸出值,那麼需要的參數只是
,如果原圖長寬是102級別,而F在10以內的話,那麼需要的參數的個數只有105~106級別,相比於原來的108~1012小了很多很多。
這還不夠。圖片還有另外一個特性:圖片的底層特徵是與特徵在圖片中的位置無關的。比如説邊緣,無論是在圖片中間的邊緣特徵,還是在圖片邊角處的邊緣特徵,都可以用過類似於微分的特稱提取器提取。那麼對於主要用於提取底層特稱的前幾層網絡,把上述局部全連接層中每一個
方形對應的權值共享,就可以進一步減少網絡中參數的個數。也就是説,輸出層的每一個像素,是由輸入層對應位置的
的局部圖片,與相同的一組
的參數(或稱權值)做內積,再經過非線性單元計算而來的。這樣的話無論圖片原大小如何,只用F*F個參數就夠了,也就是幾個幾十個的樣子。當然一組
的參數只能得到一張特徵圖,一般會有多組參數,分別經過卷積後就可以有好幾層特徵圖。順帶一提,高級特徵一般是與位置有關的,比如一張人臉圖片,眼睛和嘴位置不同,那麼處理到高層,不同位置就需要用不同的神經網絡權重,這時候卷積層就不能勝任了,就需要用局部全連接層和全連接層。
- 參考資料
-
- 1. 卷積神經網絡研究綜述 .中國知網[引用日期2018-06-26]