一站式分析卷機神經網絡!

在這篇文章中,我們將探索卷積神經網絡背後的故事,這是機器視覺和圖像識別領域最重要的深度學習技術之一。本文還將列舉卷積神經網絡識別的一些工作例子。

背景知識

人工智能的不斷突破吸引著大眾的注意,“人工智能”、“機器學習”和“深度學習”等術語被交替使用。但是,只有瞭解每個術語之間的差異才能更好地瞭解AI景觀在未來將走向何方。

一站式分析卷機神經網絡!

我們可以將這三個術語看作一個同心圓。通過這個同心圓,我們可以瞭解人工智能的歷史以及這一進展是如何發生的——但關於這個話題已經討論了很多。(The History of Artificial Intelligence - Science in the News http://sitn.hms.harvard.edu/flash/2017/history-artificial-intelligence/)

簡而言之,人工智能是機器系統的發展的結果,它通常執行人類認知所需的任務。例如,儘管計算器是一個硬編碼系統,但它也是一種人工智能的形式。用於開發這些系統的技術是這些同心圓的關鍵。

機器學習的核心是創建能夠從大型數據集中學習有用模式並提供有用的見解的系統。機器學習本身分為三個主要類別:第一類是監督式學習,它需要建立能理解一組數據點(上下文)和標籤(結果)之間關係的系統,從而提供未標記數據點的結果。這種系統的例子包括分類貸款申請是否會導致違約的系統、預測未來股票價格等的系統等等。

第二類是無監督學習,它正在構建能夠簡單地基於相似特徵或特徵從數據集中識別有意義模式的系統。現實生活中運用於基於類似的購物行為對客戶進行聚類的系統。最後,第三類的強化學習是機器學習的一個分支,它試圖通過一系列可能的行動和最大化的目標函數來發掘智能代理。我們可以想到在高速公路(環境)上駕駛的自駕車汽車(代理人)。唯一的目標是不發生意外(獎勵)。

深度學習是機器學習中使用的一種技術,它利用大量的數據和多層的神經網絡,以便理解數據集內的模式。最近AI在計算機視覺和語音識別等方面的突破,幾乎都歸功於深度學習研究。而更重要的是它實現了商業化。

直觀地說,可以把機器學習看作是模仿兒童大腦進行建模的嘗試。 孩子從他人的行為中學習(監督式學習),嘗試辨別世界上不同物體之間的相似性,例如將相似形狀的樂高積木聚集在一起(無監督學習)。深度學習是機器學習中的一項技術,它是最近人工智能突破的根本原因。

什麼是卷積神經網絡?

在深度學習中,湧現出了大量的體系結構和技術,它們中最主要的是卷積神經網絡。卷積神經網絡的靈感來自於對哺乳動物視覺皮層的研究,以及它們如何利用大腦中神經元的分層結構感知世界。將視覺皮層的這個模型想象成專門設計用於識別不同形狀的神經元組。每組神經元在看到一個物體時發出“火花”,並相互交流以形成對所感知物體的整體理解。

一站式分析卷機神經網絡!

該系統可以被解釋為神經元的分層集群,它檢測輸入刺激的低級特徵並且在該分級結構中互相通信以開發對物體的高水平檢測。

將層次結構視為以下內容:

  • 第一個集群作為識別低級特徵(即臉部輪廓)的結構,
  • 第二個集群作為識別顏色和形狀(膚色或下巴線)的結構,
  • 第三個集群作為識別細節的結構(耳朵,鼻子和眼睛......)
  • 最終群集整體識別整個對象(臉部和臉部附著的人)

簡單地說,只要看到一個物體,系統就會有不同的神經元群,它們會針對物體的不同方面進行激發並相互通信以形成大的圖像。

Yann LeCun從這個視覺皮層的分層模型中得到靈感,並開發了卷積神經網絡,它包含以下內容:

  • 每個層(或群集)共享一個連接,將學習功能從一個群集傳輸到另一個群集。
  • 分層:不同層次(或集群)之間存在明顯的層次關係,這類似於說從低層次特徵(即耳朵,眼睛)到高層特徵(臉部,人等)。
  • 空間不變性:輸入的變化會導致輸出相同的偏差(無論我們如何改變輸入圖像),模型都應該相應地調整和轉換它的輸出。 (人類有能力識別物體,即使它上下顛倒或在各種條件下移動)

因此,卷積神經網絡體系結構對應於如下:

一站式分析卷機神經網絡!

  • 以4D矩陣的形式輸入數據,包含樣本數量(圖像數量)、每個樣本的高度(每個圖像的高度)、每個樣本的寬度(每個圖像的寬度)、通道數量(這裡的通道是指每個圖像的顏色規格,一個彩色圖像對應於紅色(R),綠色(G)和藍色(B)像素,因此每個圖像都有3個通道,將此視為三個2維矩陣疊加每個圖像的頂部對應於RGB像素的強度,而灰色圖像僅具有1個通道)。在下文的例子中,將只使用灰色圖像。
  • 輸入數據將被連接到一個隱藏的卷積層,該層使用任意維數(通常為3 x 3或5 x 5)的任意濾波器。將濾鏡想象成尺寸為3 x 3(或5 x 5)的小型手電筒,它試圖理解輸入圖像並繪製特徵圖。從特徵映射中,算法可以理解數據(眼睛,耳朵等)中的局部特徵。
  • 彙集是一種子採樣操作,通過應用任意大小的窗口(這被稱為步幅)來減少所提取的特徵映射的維數,並根據用戶的規格提取窗口、最大值或平均值的總和。在這種情況下,我們將使用Max PooLink,對於特徵映射中的每個2 x 2窗口,我們將提取最高值。 這種技術可幫助我們在保留信息的同時降低維度。 我們可以看看下面的這個操作:
一站式分析卷機神經網絡!

  • 最後,產生一個Softmax輸出的完全連接層,它在卷積層和最大彙集層學習,並輸出一個預測。簡言之,完全連接的層是神經網絡中的一層,其包含當觀察到特定模式時“亮起”的節點。

直觀地說,卷積神經網絡以圖像作為輸入,試圖使用一系列數學運算(分層,合併)來解釋關於圖像的不同位置(空間不變性)的不同小特徵(局部連接),以便理解所發生事情的全貌。這些數學運算涉及將圖像建模為一系列數字,每個數字代表像素密度(圖片上特定位置的顏色強度)。

一個工作示例

更詳細的筆記與所有實用功能和結果可以在這裡找到。(https://github.com/AAN26/blog_posts/blob/master/Understanding%20Convolutional%20Networks.ipynb)

我們的數據集是一組幾何形狀(三角形,圓形和長方形),可以放置在72 x 72網格中的任何位置。這些圖片只有1個通道,因為它們是灰度級的。我們可以在下面看到這些圖片的例子:

一站式分析卷機神經網絡!

一站式分析卷機神經網絡!

一站式分析卷機神經網絡!

隨機三角形,圓形和矩形可以在網格中有任何位置

我們將在python上使用Keras軟件包來開發一個卷積神經網絡,它將能夠以高達98%的準確度對每個形狀進行分類。

一站式分析卷機神經網絡!

一站式分析卷機神經網絡!

卷積神經網絡代表了圖像識別領域中的一項重大突破。自動駕駛汽車、面部識別系統和醫療診斷代表了卷積神經網絡在現實中的一些用例。然而值得注意和期待的是,它仍有增長的空間,這不是它的極限。


分享到:


相關文章: