卷積核

卷積核

卷積核就是圖像處理時,給定輸入圖像,在輸出圖像中每一個像素是輸入圖像中一個小區域中像素的加權平均,其中權值由一個函式定義,這個函式稱為卷積核。

卷積核的意義

卷積核其實在圖像處理中並不是新事物,Sobel 運算元等一系列濾波運算元,一直都在被用於邊緣檢測等工作中,只是以前被稱為 Filter。做圖像處理的同學應該有印象。

卷積核具有的一個屬性就是局部性。即它只關注局部特徵,局部的程度取決於卷積核的大小。比如用 Sobel 運算元進行邊緣檢測,本質就是比較圖像鄰近像素的相似性。

也可以從另外一個角度理解卷積核的意義。學過信號處理的同學應該記得,時域卷積對應頻域相乘。所以原圖像與卷積核的卷積,其實是對頻域信息進行選擇。比如,圖像中的邊緣和輪廓屬於是高頻信息,圖像中某區域強度的綜合考量屬於低頻信息。在傳統圖像處理里,這是指導設計卷積核的一個重要方面。

CNN中的卷積核

CNN 中的卷積核跟傳統的卷積核本質沒有什麼不同。仍然以圖像為例,卷積核依次與輸入不同位置的圖像塊做卷積,得到輸出,如圖一。

圖一 圖一

同時,CNN 有一些它獨特的地方,比如各種定義:

CNN 可以看作是 DNN 的一種簡化形式,即這裡卷積核中的每一個權值就可以看成是 DNN 中的 ,且與 DNN 一樣,會多一個參數偏置。

一個卷積核在與 Input 不同區域做卷積時,它的參數是固定不變的。放在 DNN 的框架中理解,就是對同一層 Layer 中的神經元而言,它們的 和 是相同的,只是所連線的節點在改變。因此在 CNN 里,這叫做 共享權值偏置。

在 CNN 中,卷積核可能是高維的。假如輸入是 維的,那么一般 卷積核就會選擇為 維,也就是與輸入的 Depth 一致。

最重要的一點,在 CNN 中,卷積核的權值不需要提前設計,而是跟 DNN 一樣利用 GD 來最佳化,我們只需要初始化。

如上面所說,其實卷積核卷積後得到的會是原圖的某些特徵(如邊緣信息),所以在 CNN 中,卷積核卷積得到的 Layer 稱作特徵圖。

一般 CNN 中兩層之間會含有多個卷積核,目的是學習出 Input 的不同特徵,對應得到多個特徵圖。又由於卷積核中的參數是通過 GD 最佳化得到而非我們設定的,於是初始化就顯得格外重要了。

1.

CNN 可以看作是 DNN 的一種簡化形式,即這裡卷積核中的每一個權值就可以看成是 DNN 中的 ,且與 DNN 一樣,會多一個參數偏置。

2.

一個卷積核在與 Input 不同區域做卷積時,它的參數是固定不變的。放在 DNN 的框架中理解,就是對同一層 Layer 中的神經元而言,它們的 和 是相同的,只是所連線的節點在改變。因此在 CNN 里,這叫做 共享權值偏置。

3.

在 CNN 中,卷積核可能是高維的。假如輸入是 維的,那么一般 卷積核就會選擇為 維,也就是與輸入的 Depth 一致。

4.

最重要的一點,在 CNN 中,卷積核的權值不需要提前設計,而是跟 DNN 一樣利用 GD 來最佳化,我們只需要初始化。

5.

如上面所說,其實卷積核卷積後得到的會是原圖的某些特徵(如邊緣信息),所以在 CNN 中,卷積核卷積得到的 Layer 稱作特徵圖。

6.

一般 CNN 中兩層之間會含有多個卷積核,目的是學習出 Input 的不同特徵,對應得到多個特徵圖。又由於卷積核中的參數是通過 GD 最佳化得到而非我們設定的,於是初始化就顯得格外重要了。

相關詞條

相關搜尋

熱門詞條

聯絡我們