AI如何能比人類的眼睛看得更清楚?通俗的解釋卷積神經網絡

本文介紹了現代計算機視覺的主要思想。我們探索如何將數百個學習圖像中低級特徵的神經元堆疊成幾層。

視覺,源於自然

哺乳動物視覺皮層中的神經元被組織成一層一層地處理圖像,其中一些神經元在識別線和邊等局部特徵方面具有特殊的功能;當位置和方向改變時,一些層被激活;其他層對複雜的形狀(如交叉線)做出反應。

這激發了堆疊的卷積層,它包括將每個神經元的視野限制在輸入圖像的一小塊區域。接受域的大小由過濾器的大小給出,也稱爲內核大小。當濾波器在圖像中滑動時,它的工作原理就像信號處理中的卷積,因此它允許特徵檢測。

卷積是一個積分,表示一個函數(核函數或濾波器)在另一個函數(輸入)上移位時的重疊量。卷積用於過濾信號(一維音頻、二維圖像處理),檢查一個信號與另一個信號的相關性,或在信號中尋找模式。

例如,可以使用特定的內核從圖像中提取邊緣。

我們可以使用許多這樣的過濾器來檢測圖像的所有有價值的特徵。起初,這些過濾器是手工製作的;後來,他們從這些圖像中自己學習。在訓練中尋找權重的過程也會產生這些過濾器。

特徵映射

我們需要多少這樣的卷積?通過引入尺度的概念,借用分形數學,卷積神經網絡將幾個卷積層疊加起來,這樣一來,第一個層可以識別更小的特徵,而更深的層則專門處理更大的特徵。

分形是一種具有無限尺度的圖像。我們通常需要多少層就有多少層來檢測尺度。單個卷積層的目的是在特定的單一尺度上學習一組特徵。

每個卷積層也由層組成,但是這些層不是完全連接的。讓我們假設一個28x28的RGB圖像作爲第一個卷積層的輸入,帶有四個3x3過濾器F1, F2, F3, F4。每個過濾器是大小爲3x3x3的立方體形狀,應用於整個圖像,每次產生一個數字。

過濾器在圖像中移動的步數稱爲stride,通常爲1。生成的功能映射的深度等於過濾器的數量。它的寬度和高度取決於圖像大小、過濾器大小和填充。

在我們的例子中,在全填充的情況下,我們將有一個feature map維度28x28x4。在沒有填充的情況下,我們將擁有26x26x4維度。因此通道的數量不影響feature map的大小。

池化

卷積導致來自圖像相鄰區域的信息重複,導致高維性。池化卷積層輸出的一個區域並返回一個聚合值:通常是最大值,但也可以使用平均值、最小值或任何函數。

CNNs在考慮多尺度時效果最好。因此,我們通常會多次複製convolutional和pooling層

獲得更深層次的

將卷積層堆疊在一起的方法與其說是一門科學,不如說是一門藝術。下面的VGG網絡是在2014年提出的,用於將1400萬幅圖像分類爲1000個類別,測試準確率爲92.7%。它接受了2周的訓練,估計它的參數總量爲14,714,688。還有更多這樣的超大網絡:GoogLeNet、ResNet、DenseNet、MobileNet、Xception、ResNeXt等等。

深度學習的一個建議和高度有效的方法是利用那些預先訓練過的網絡。一個預先訓練好的網絡只是一個之前在大數據集上訓練過的保存的網絡,它可以有效地作爲真實世界的一個通用模型。

特徵提取是一種使用預處理網絡學習到的表示的方法,它以預處理網絡的卷積基爲基礎,通過它運行新數據,並使用一個新的小數據集在輸出之上訓練一個新的簡單分類器,如下圖所示。

另一種方法是凍結預先訓練好的網絡的基礎,附加一個簡單的分類器,然後對整個網絡進行訓練。另一種被稱爲微調的方法是在訓練前解凍基地的特定層。

總結

爲計算機提供感知能力對社會有重大影響。如今,相機系統可以捕捉世界的實時圖像,從而實現突破性的應用,比如自動駕駛。在本文中,我們解釋了計算機視覺機器學習背後的一些機制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章