卷積神經網路速成

2021-10-23 08:37:10 字數 3866 閱讀 8558

卷積神經網路(convolutionalneural network,cnn)是一種前饋神經網路,是一種強大的人工神經網路技術,它的人工神經元可以響應一部分覆蓋範圍內的周圍單元,並儲存了問題的空間結構,對計算機視覺和自然語言處理有出色的表現。由於該網路避免了對影象的複雜前期預處理,可以直接輸入原始影象,目前被廣泛的應用於計算機視覺方面。

卷積神經網路是最近幾年發展起來,並引起廣泛重視的一種高效識別方法。20世紀60年代,hubel和wiesel在研究貓腦皮層中用於區域性敏感和方向選擇的神經元時,發現其獨特的網路結構,可以有效地降低反饋神經網路的複雜性,繼而提出了卷積神經網路(convolutionalneural networks,cnn),現在cnn已經成為眾多科學領域的研究熱點之一。 k.fukushima在2023年提出的新識別機是卷積神經網路的第乙個實現網路。隨後,更多的科研工作者對該網路進行了改進。其中,具有代表性的研究成果是alexander和taylor提出的「改進認知機」,該方法綜合了各種改進方法的優點並避免了耗時的誤差反向傳播。

一般地,cnn的基本結構包括兩層,其一為特徵提取層,每個神經元的輸入與前一層的區域性接受域相連,並提取該區域性的特徵。一旦該區域性特徵被提取後,它與其它特徵間的位置關係也隨之確定下來;其二是特徵對映層,網路的每個計算層由多個特徵對映組成,每個特徵對映是乙個平面,平面上所有神經元的權值相等。特徵對映結構採用影響函式核小的sigmoid函式作為卷積網路的啟用函式,使得特徵對映具有位移不變性。此外,由於乙個對映面上的神經元共享權值,因而減少了網路自由引數的個數。卷積神經網路中的每乙個卷積層都緊跟著乙個用來求區域性平均與二次提取的計算層,這種特有的兩次特徵提取結構減小了特徵解析度。

cnn主要用來識別位移、縮放及其他形式扭曲不變性的二維圖形。由於cnn的特徵檢測層通過訓練資料進行學習,所以在使用cnn時,避免了顯式的特徵抽取,而隱式地從訓練資料中進行學習;再者由於同一特徵對映面上的神經元權值相同,所以網路可以並行學習,這也是卷積網路相對於神經元彼此相連網路的一大優勢。卷積神經網路以其區域性權值共享的特殊結構在語音識別和影象處理方面有著獨特的優越性,其布局更接近於實際的生物神經網路,權值共享降低了網路的複雜性,特別是多維輸入向量的影象可以直接輸入網路這一特點避免了特徵提取和分類過程中資料重建的複雜度。

卷積神經網路在實際的應用中,可以直接將原始影象作為輸入,這使其具有非常高的優勢。在給定乙個具有32×32畫素的標準尺寸的灰度影象的資料集,傳統的前饋神經網路將需要1,024個輸入權重(加上乙個偏差)。但是將畫素的影象矩陣平坦化到長的畫素值向量,使得影象中的所有空間結構失去了效果。除非所有的影象都被完全調整大小,否則神經網路將會出現很大的問題。此外,如果對乙個畫素是1000×1000的影象進行識別,採用多層感知器(mlp)神經網路,需要乙個1000×1000個輸入層神經元,如果設定同等數量的隱藏層神經元,計算開銷時非常巨大的,這基本上時無法計算的。

卷積神經網路通過使用小的輸入資料的平方值,來學習內部特徵,並保持畫素之間的空間關係。特徵在整個影象中被學習和使用,因此影象中的物件在場景中被移動,仍然可以被網路檢測到。這就是為什麼卷積神經網路被廣泛應用於**識別,手寫數字識別,人臉識別等具有不同方向的物件識別的原因。以下是使用卷積神經網路的一些好處:

在卷積神經網路(cnn)中通常包含以下型別的層:

在影象處理中,往往把影象表示為畫素的向量,比如乙個1,000×1,000的影象,可以表示為乙個1,000,000的向量。假如神經網路中,隱含層數目與輸入層一樣,即也是1,000,000時,那麼輸入層到隱含層的引數資料為1,000,000×1,000,000=,這樣資料量非常巨大,基本沒法訓練。所以要想使用神經網路處理影象,必先減少引數加快訓練速度。卷積層就是用來區域性感知提取特徵,降低輸入引數的層。

12.1.1 濾波器

濾波器(filters)本質上是該層的神經元,具有加權輸入並產生輸出值,輸入大小是固定大小的影象樣本(如5×5)。 如果卷積層是輸入層,則輸入將是畫素值。 如果它們在網路架構中較深,則卷積層將從前一層的特徵圖獲取輸入。

其實簡單的區域性感知,引數仍然過多,需要進一步降低引數的數量,第二個方法就是權值共享。在上面的例子中,每個神經元都對應100個引數,一共1,000,000個神經元,如果這1,000,000個神經元的100個引數都是相等的,那麼引數數目就變為100了。 怎麼理解權值共享呢?在這裡可以把100個引數(也就是卷積操作)看成是提取特徵的方式,該方式與位置無關。這其中隱含的原理則是:影象的一部分的統計特性與其他部分是一樣的。這也意味著在這一部分學習的特徵也能用在另一部分上,所以可以在影象上的所有位置,使用同樣的學習特徵。更直觀一些,當從乙個大尺寸影象中隨機選取一小塊,比如說 8x8 作為樣本,並且從這個小塊樣本中學習到了一些特徵,這時我們可以把從這個8x8 樣本中學習到的特徵作為探測器,應用到這個影象的任意地方中去。特別是,可以用從 8x8 樣本中所學習到的特徵跟原本的大尺寸影象作卷積,從而對這個大尺寸影象上的任一位置獲得乙個不同特徵的啟用值。每個卷積都是一種特徵提取方式,就像乙個篩子,將影象中符合條件(啟用值越大越符合條件)的部分篩選出來。

12.1.2 特徵圖

在cnn的設定裡,特徵圖(feature map)是卷積核卷出來的,而不同的特徵提取(核)會提取不同的特徵,模型想要達成的目的是,找到能解釋現象的最佳的一組卷積核。例如某個核如果形似gabor運算元,就會提取出邊緣資訊的特徵,但這個特徵太簡單,很可能不是模型需要的特徵。這與大腦的功能是很相似的,比如gabor運算元模擬了v1具有方向選擇性的神經元,這些神經元被稱為******cell,只能對orientation做出響應,人腦依靠這些神經元檢測出影象的邊緣資訊。若要完成一些更高階的功能,就需要更複雜的神經元,它們能對訊號做一些更複雜的變換。而神經科學的證據表明,這些複雜的神經元很可能是由多個v1 ****** cell的輸出訊號組合而成。考慮乙個物件識別的任務,物件自身具有不同的特徵,不同的cell編碼其不同的特徵,組合起來表達這一特定物件。cnn的設定中的特徵圖(featuremap)對應各層cell的訊號輸出。

對輸入的特徵圖進行壓縮,一方面使特徵圖變小,簡化網路計算複雜度;一方面進行特徵壓縮,提取主要特徵。採用池化層可以忽略目標的傾斜、旋轉之類的相對位置的變化,以此提高精度,同時降低了特徵圖的維度並且已定成度上可以避免過擬合。池化層通常非常簡單,取平均值或最大值來建立自己的特徵圖。

全連線層在整個卷積神經網路中起到「分類器」的作用。如果說卷積層、池化層等操作是將原始資料對映到隱藏層的特徵空間的話,全連線層則起到將學到的「分布式特徵表示」對映到樣本標記空間的作用。全連線層通常具有非線性啟用函式或softmax啟用函式,**輸出類的概率。 在卷積層和池化層執行特徵抽取和合併之後,在網路末端使用全連線層用於建立特徵的最終非線性組合,並用於**。

imagenet lsvrc是乙個分類的比賽,其訓練集包括127w+張,驗證集有5w張,測試集有15w張。本文擷取2023年alex krizhevsky的cnn結構進行說明,該結構在2023年取得冠軍,top-5錯誤率為15.3%。值得一提的是,在2023年最後一屆的imagenet lsvrc比賽中,取得冠軍的團隊(wmw)已經達到了top-5錯誤率2.3%。

圖12-1即為alex的cnn結構圖。需要注意的是,該模型採用了2-gpu並行結構,即第1、2、4、5卷積層都是將模型引數分為2部分進行訓練的。在這裡,更進一步,並行結構分為資料並行與模型並行。資料並行是指在不同的gpu上,模型結構相同,但將訓練資料進行切分,分別訓練得到不同的模型,然後再將模型進行融合。而模型並行則是,將若干層的模型引數進行切分,不同的gpu上使用相同的資料進行訓練,得到的結果直接連線作為下一層的輸入。

第一層卷積:5×5大小的卷積核96個,每個gpu上48個。

第一層max-pooling:2×2的核。

第二層卷積:3×3卷積核256個,每個gpu上128個。

第二層max-pooling:2×2的核。

第五層卷積:3×3的卷積核256個,兩個gpu上個128個。

第五層max-pooling:2×2的核。

第一層全連線:4096維,將第五層max-pooling的輸出連線成為乙個一維向量,作為該層的輸入。

神經網路 卷積神經網路

這篇卷積神經網路是前面介紹的多層神經網路的進一步深入,它將深度學習的思想引入到了神經網路當中,通過卷積運算來由淺入深的提取影象的不同層次的特徵,而利用神經網路的訓練過程讓整個網路自動調節卷積核的引數,從而無監督的產生了最適合的分類特徵。這個概括可能有點抽象,我盡量在下面描述細緻一些,但如果要更深入了...

神經網路 卷積神經網路

1.卷積神經網路概覽 來自吳恩達課上一張,通過對應位置相乘求和,我們從左邊矩陣得到了右邊矩陣,邊緣是白色寬條,當畫素大一些時候,邊緣就會變細。觀察卷積核,左邊一列權重高,右邊一列權重低。輸入,左邊的部分明亮,右邊的部分灰暗。這個學到的邊緣是權重大的寬條 都是30 表示是由亮向暗過渡,下面這個圖左邊暗...

卷積神經網路 有趣的卷積神經網路

一 前言 最近一直在研究深度學習,聯想起之前所學,感嘆數學是一門樸素而神奇的科學。f g m1 m2 r 萬有引力描述了宇宙星河運轉的規律,e mc 描述了恆星發光的奧秘,v h d哈勃定律描述了宇宙膨脹的奧秘,自然界的大部分現象和規律都可以用數學函式來描述,也就是可以求得乙個函式。神經網路 簡單又...