
究竟什么是卷積神經網絡?他是做什么的,發展史又是怎么演變的,想進一步了解關于卷積神經網絡的相關知識就跟我來走一遭吧!
卷積神經網絡( ConvNets或者CNNs)是神經網絡的范疇。
應用領域:圖像識別、語音識別、自然語言處理(如語句分類)。可以識別人臉、物體和交通信號,從而為機器人和自動駕駛汽車提供視力。也可以識別場景,提供相關的標簽。
LeNets架構(1990s)
LeNets是最早的卷積神經網絡。
經過多次成功迭代,1998年,Yann LeCun 把這項工作命名為LeNets5。該架構主要用于字符識別,如郵編,數字等。
卷積神經網絡如下圖所示:
主要有四個操作:
1. 卷積
2. 非線性處理(ReLU)
3. 池化或亞采樣
4. 分類(全連接層)
圖像是像素值的矩陣
通道:用于表示圖像的某種組成。一個標準數字相機拍攝的圖像會有三通道 - 紅、綠和藍;你可以把它們看作是堆在一起的深度為3的二維矩陣(每一個通道代表一個顏色),每個通道的像素值在 0 到 255 的范圍內。
灰度圖像:僅僅只有一個通道,就是一個普通的二維矩陣。矩陣中各個像素的值在 0 到 255 的范圍內——零表示黑色,255 表示白色。
卷積
卷積的目的:為了從輸入圖像中提取特征。卷積可以通過從輸入的一小塊數據中學到圖像的特征,并可以保留像素間的空間關系。
原始圖像:
特征檢測器:
卷積過程:
在 CNN 的術語中,3x3 的矩陣叫做“濾波器(filter)”或者“核(kernel)”或者“特征檢測器(feature detector)”。
通過在圖像上滑動濾波器并計算點乘得到矩陣叫做“卷積特征(Convolved Feature)”或者“激活圖(Activation Map)”或者“特征圖(Feature Map)”。
濾波器在原始輸入圖像上的作用是特征檢測器。
對于同樣的輸入圖像,不同值的濾波器將會生成不同的特征圖。
通過在卷積操作前修改濾波矩陣的數值,我們可以進行諸如邊緣檢測、銳化和模糊等操作 —— 這表明不同的濾波器可以從圖中檢測到不同的特征,比如邊緣、曲線等。
在實踐中,CNN 會在訓練過程中學習到這些濾波器的值(盡管我們依然需要在訓練前指定諸如濾波器的個數、濾波器的大小、網絡架構等參數)。我們使用的濾波器越多,提取到的圖像特征就越多,網絡所能在未知圖像上識別的模式也就越好。
特征圖的大小(卷積特征)由三個參數控制:深度(depth)、步長(stride)、零填充(zero-padding)。
深度:深度對應的是卷積操作所需的濾波器個數。在下圖的網絡中,我們使用三個不同的濾波器對原始圖像進行卷積操作,這樣就可以生成三個不同的特征圖。你可以把這三個特征圖看作是堆疊的 2d 矩陣,那么,特征圖的“深度”就是三。
步長:步長是我們在輸入矩陣上滑動濾波矩陣的像素數。當步長為 1 時,我們每次移動濾波器一個像素的位置。當步長為 2 時,我們每次移動濾波器會跳過 2 個像素。步長越大,將會得到更小的特征圖。
零填充:有時,在輸入矩陣的邊緣使用零值進行填充,這樣我們就可以對輸入圖像矩陣的邊緣進行濾波。零填充的一大好處是可以讓我們控制特征圖的大小。使用零填充的也叫做泛卷積,不適用零填充的叫做嚴格卷積。
非線性單元(ReLU)
在每次的卷積操作后都使用了一個叫做 ReLU 的操作。ReLU 表示修正線性單元(Rectified Linear Unit),是一個非線性操作。
ReLU 是一個元素級別的操作(應用到各個像素),并將特征圖中的所有小于 0 的像素值設置為零。ReLU 的目的是在 ConvNet 中引入非線性,因為在大部分的我們希望 ConvNet 學習的實際數據是非線性的(卷積是一個線性操作——元素級別的矩陣相乘和相加,所以我們需要通過使用非線性函數 ReLU 來引入非線性。
其他非線性函數,比如 tanh 或者 sigmoid 也可以用來替代 ReLU,但 ReLU 在大部分情況下表現是更好的。
池化
空間池化(Spatial Pooling)(也叫做亞采用或者下采樣)降低了各個特征圖的維度,但可以保持大部分重要的信息。空間池化有下面幾種方式:最大化、平均化、加和等等。
對于最大池化(Max Pooling),我們定義一個空間鄰域(比如,2x2 的窗口),并從窗口內的修正特征圖中取出最大的元素。除了取最大元素,我們也可以取平均(Average Pooling)或者對窗口內的元素求和。在實際中,最大池化被證明效果更好一些。
池化函數可以逐漸降低輸入表示的空間尺度。特別地,池化:
? 使輸入表示(特征維度)變得更小,并且網絡中的參數和計算的數量更加可控的減小,因此,可以控制過擬合。
? 使網絡對于輸入圖像中更小的變化、冗余和變換變得不變性(輸入的微小冗余將不會改變池化的輸出——因為我們在局部鄰域中使用了最大化/平均值的操作。
? 幫助我們獲取圖像最大程度上的尺度不變性。它非常的強大,因為我們可以檢測圖像中的物體,無論它們位置在哪里。
目前為止的故事
到目前為止我們了解了卷積、ReLU 和池化是如何操作的。理解這些層是構建任意 CNN 的基礎是很重要的。
如圖所示,我們有兩組卷積、ReLU & 池化層 —— 第二組卷積層使用六個濾波器對第一組的池化層的輸出繼續卷積,得到一共六個特征圖。接下來對所有六個特征圖應用 ReLU。接著我們對六個修正特征圖分別進行最大池化操作。
這些層一起就可以從圖像中提取有用的特征,并在網絡中引入非線性,減少特征維度,同時保持這些特征具有某種程度上的尺度變化不變性。
第二組池化層的輸出作為全連接層的輸入,我們會在下一部分介紹全連接層。
全連接層
全連接層是傳統的多層感知器,在輸出層使用的是 softmax 激活函數(也可以使用其他像 SVM 的分類器,但在本文中只使用 softmax)。“全連接(Fully Connected)”這個詞表明前面層的所有神經元都與下一層的所有神經元連接。
卷積和池化層的輸出表示了輸入圖像的高級特征。全連接層的目的是為了使用這些特征把輸入圖像基于訓練數據集進行分類。
除了分類,添加一個全連接層也(一般)是學習這些特征的非線性組合的簡單方法。從卷積和池化層得到的大多數特征可能對分類任務有效,但這些特征的組合可能會更好。
從全連接層得到的輸出概率和為 1。這個可以在輸出層使用 softmax 作為激活函數進行保證。softmax 函數輸入一個任意大于 0 值的矢量,并把它們轉換為0~1之間的數值矢量,其和為1。
把它們組合起來——使用反向傳播進行訓練
卷積 + 池化層的作用是從輸入圖像中提取特征,而全連接層的作用是分類器。
完整的卷積神經網絡的訓練過程:
實際上,現在有些表現最好的 ConvNet 擁有多達十幾層的卷積和池化層!同時,每次卷積層后面不一定要有池化層。
其他的卷積網絡
? LeNet (1990s): 本文已介紹。
? 1990s to 2012:在上世紀 90 年代后期至 2010 年初期,卷積神經網絡進入孵化期。隨著數據量和計算能力的逐漸發展,卷積神經網絡可以處理的問題變得越來越有趣。
? AlexNet (2012) – 在 2012,Alex Krizhevsky (與其他人)發布了 AlexNet,它是比 LeNet 更深更寬的版本,并在 2012 年的 ImageNet 大規模視覺識別大賽(ImageNet Large Scale Visual Recognition Challenge,ILSVRC)中以巨大優勢獲勝。這對于以前的方法具有巨大的突破,當前 CNN 大范圍的應用也是基于這個工作。
? ZF Net (2013) – ILSVRC 2013 的獲勝者是來自 Matthew Zeiler 和 Rob Fergus 的卷積神經網絡。它以 ZFNet (Zeiler & Fergus Net 的縮寫)出名。它是在 AlexNet 架構超參數上進行調整得到的效果提升。
? GoogLeNet (2014) – ILSVRC 2014 的獲勝者是來自于 Google 的 Szegedy等人的卷積神經網絡。它的主要貢獻在于使用了一個 Inception 模塊,可以大量減少網絡的參數個數(4M,AlexNet 有 60M 的參數)。
? VGGNet (2014) – 在 ILSVRC 2014 的領先者中有一個 VGGNet 的網絡。它的主要貢獻是展示了網絡的深度(層數)對于性能具有很大的影響。
? ResNets (2015) – 殘差網絡是何凱明(和其他人)開發的,并贏得 ILSVRC 2015 的冠軍。ResNets 是當前卷積神經網絡中最好的模型,也是實踐中使用 ConvNet 的默認選擇(截至到 2016 年五月)。
? DenseNet (2016 八月) – 近來由 Gao Huang (和其他人)發表的,the Densely Connected Convolutional Network 的各層都直接于其他層以前向的方式連接。DenseNet 在五種競爭積累的目標識別基準任務中,比以前最好的架構有顯著的提升。可以在這里看 Torch 實現。
聲明:本內容為作者獨立觀點,不代表電源網。本網站原創內容,如需轉載,請注明出處;本網站轉載的內容(文章、圖片、視頻)等資料版權歸原作者所有。如我們采用了您不宜公開的文章或圖片,未能及時和您確認,避免給雙方造成不必要的經濟損失,請電郵聯系我們,以便迅速采取適當處理措施;歡迎投稿,郵箱∶editor@netbroad.com。
卷積神經網絡的硬件轉換:什么是機器學習?——第三部分 | 23-06-13 15:34 |
---|---|
卷積神經網絡簡介:什么是機器學習?——第一部分 | 23-04-18 10:31 |
發展到2023年,人工智能AI路在何方? | 23-01-17 13:12 |
未來人工智能的三大核心究竟是? | 21-04-02 10:15 |
貿澤電子與Fortebit簽署全球分銷協議備貨Fortebit Speech語音識別和汽車物聯網器件 | 20-05-26 17:50 |
微信關注 | ||
![]() |
技術專題 | 更多>> | |
![]() |
技術專題之EMC |
![]() |
技術專題之PCB |