天天看點

CNN前提應該知道的專業術語

作為一個剛進入人工智能的小白來說,查了很多東西,才知道CNN這家夥幹了啥。

了解前提:

1.卷積

1)局部連結

對待像圖像這樣的高維資料,直接讓神經元與前一層的所有神經元進行全連接配接是不現實的,這樣做的害處顯而易見: 參數過多,根本無法計算. 

是以我們讓每個神經元隻與輸入資料的一個局部區域連接配接,這個局部區域的大小就是局部感受野(receptive field),尺寸上等同于filter的空間尺寸(比如5*5*3). 

2)參數共享

2.圖像采樣

   縮小圖像(或稱為下采樣(subsampled)或降采樣(downsampled))的主要目的有兩個:1、使得圖像符合顯示區域的大小;2、生成對應圖像的縮略圖。

        放大圖像(或稱為上采樣(upsampling)或圖像插值(interpolating))的主要目的是放大原圖像,進而可以顯示在更高分辨率的顯示裝置上。對圖像的縮放操作并不能帶來更多關于該圖像的資訊, 是以圖像的品質将不可避免地受到影響。然而,确實有一些縮放方法能夠增加圖像的資訊,進而使得縮放後的圖像品質超過原圖品質的。

    下采樣原理:對于一幅圖像I尺寸為M*N,對其進行s倍下采樣,即得到(M/s)*(N/s)尺寸的得分辨率圖像,當然s應該是M和N的公約數才行,如果考慮的是矩陣形式的圖像,就是把原始圖像s*s視窗内的圖像變成一個像素,這個像素點的值就是視窗内所有像素的均值。

   上采樣原理:圖像放大幾乎都是采用内插值方法,即在原有圖像像素的基礎上在像素點之間采用合适的插值算法插入新的元素。

常用的插值方法

1、最鄰近元法

2、雙線性内插法

3、三次内插法

三次曲線插值方法計算量較大,但插值後的圖像效果最好。

3.激活函數

作用:

1.引入非線性因素。

在我們面對線性可分的資料集的時候,簡單的用線性分類器即可解決分類問題。但是現實生活中的資料往往不是線性可分的,面對這樣的資料,一般有兩個方法:引入非線性函數、線性變換。

2.線性變換

就是把目前特征空間通過一定的線性映射轉換到另一個空間,讓資料能夠更好的被分類。

4.池化

   Pooling 的本質,其實是采樣,正常選擇一組特征圖形中的像素的最大值作為一個值。

5.感受野

局部感覺野就是指卷積層的神經元隻和上一層的feature 

       感受野:在卷積神經網絡CNN中,決定某一層輸出結果中一個元素所對應的輸入層的區域大小,被稱作感受野receptive field。

我們看這段定義非常簡單,用數學的語言就是感受野是CNN中的某一層輸出結果的一個元素對應輸入層的一個映射。再通俗點的解釋是,feature map上的一個點對應輸入圖上的區域。注意這裡是輸入圖,不是原始圖。好多部落格寫的都是原圖上的區域,經過一番的資料查找,發現并不是原圖。

       另外加上一句,目前流行的物體識别方法都是圍繞感受野來做的設計,就如上文提到的SSD和Faster RCNN。了解好感受野的本質我覺的有兩個好處。一,了解卷積的本質;二,更好的了解CNN的整個架構。

繼續閱讀