1、卷積
下面給出一個具體的例子:假設你已經從一個 96x96 的圖像中學習到了它的一個 8x8 的樣本所具有的特征,假設這是由有 100 個隱含單元的自編碼完成的。為了得到卷積特征,需要對 96x96 的圖像的每個 8x8 的小塊圖像區域都進行卷積運算。也就是說,抽取 8x8 的小塊區域,並且從起始坐標開始依次標記為(1,1),(1,2),...,一直到(89,89),然后對抽取的區域逐個運行訓練過的稀疏自編碼來得到特征的激活值。在這個例子里,顯然可以得到 100 個集合,每個集合含有 89x89 個卷積特征。
如下圖所示,展示了一個3×3的卷積核在5×5的圖像上做卷積的過程。每個卷積都是一種特征提取方式,就像一個篩子,將圖像中符合條件(激活值越大越符合條件)的部分篩選出來。
2:說下池化,其實池化很容易理解,先看圖:
轉自: http://blog.csdn.net/silence1214/article/details/11809947
比如上方左側矩陣A是20*20的矩陣要進行大小為10*10的池化,那么左側圖中的紅色就是10*10的大小,對應到右側的矩陣,右側每個元素的值,是左側紅色矩陣每個元素的值得和再處於紅色矩陣的元素個數,也就是平均值形式的池化。
3:上面說了下卷積和池化,再說下計算中需要注意到的。在代碼中使用的是彩色圖,彩色圖有3個通道,那么對於每一個通道來說要單獨進行卷積和池化,有一個地方尤其是進行卷積的時候要注意到,隱藏層的每一個值是對應到一幅圖的3個通道穿起來的,所以分3個通道進行卷積之后要加起來,正好才能對應到一個隱藏層的神經元上,也就是一個feature上去。
圖像的上采樣(upsampling)與下采樣(subsampled)
縮小圖像(或稱為下采樣(subsampled)或降采樣(downsampled))的主要目的有兩個:
1、使得圖像符合顯示區域的大小;2、生成對應圖像的縮略圖。
放大圖像(或稱為上采樣(upsampling)或圖像插值(interpolating))的主要目的是:
放大原圖像,從而可以顯示在更高分辨率的顯示設備上。對圖像的縮放操作並不能帶來更多關於該圖像的信息, 因此圖像的質量將不可避免地受到影響。然而,確實有一些縮放方法能夠增加圖像的信息,從而使得縮放后的圖像質量超過原圖質量的。
下采樣原理:對於一幅圖像I尺寸為M*N,對其進行s倍下采樣,即得到(M/s)*(N/s)尺寸的得分辨率圖像,當然s應該是M和N的公約數才行,如果考慮的是矩陣形式的圖像,就是把原始圖像s*s窗口內的圖像變成一個像素,這個像素點的值就是窗口內所有像素的均值:
上采樣原理:圖像放大幾乎都是采用內插值方法,即在原有圖像像素的基礎上在像素點之間采用合適的插值算法插入新的元素。
無論縮放圖像(下采樣)還是放大圖像(上采樣),采樣方式有很多種。如最近鄰插值,雙線性插值,均值插值,中值插值等方法。在AlexNet中就使用了較合適的插值方法。各種插值方法都有各自的優缺點。