當前位置:
首頁 > 最新 > 人工神經網路簡介 之訓練計算機識別手寫

人工神經網路簡介 之訓練計算機識別手寫

引言

看看下面的圖片,並嘗試確定它是什麼:

儘管它胖得很奇怪,但我們應該還是能夠確定圖中是一隻長頸鹿。即使這些圖像與以前看到的形式不同,我們也能立即辨識圖像和對象。我們之所以能夠這樣做,是因為我們大腦中有800億個神經元在一起工作並傳輸信息。人工神經網路(ANN)的機器學習技術的靈感就是來自獨特的神經元系統。一些裝備這種技術後的電腦在識別圖像方面甚至比人類表現的更出色。

1

問題

圖像識別對於我們今天使用的許多先進技術都很重要。它被用於視覺監控、車輛自動駕駛、甚至是X射線識別疾病等方面。大多數現代智能手機還裝有圖像識別的應用程序,可以將手寫筆跡轉換為可列印的文字。

在本文中,將介紹如何訓練ANN演算法來識別圖像中的手寫數字。我們將使用非常有名的MNIST(國家標準與技術研究所)資料庫中的圖像。

MNIST資料庫中的手寫數字

2

一個插圖

在本節中,將介紹識別手寫數字的ANN模型,然後在下一節中解釋模型的工作原理。

通過給出一個10,000個手寫數字的示例以及它們所代表的正確數字來訓練ANN模型,這能夠使ANN模型知道手寫數字是如何翻譯成真實數字的。在ANN模型得到訓練之後,可以在沒有給出正確答案的情況下,通過1,000個新的手寫數字來測試該模型的表現。然後,該模型就可以被用於去識別實際的數字。

一開始,ANN將手寫圖像轉換為像素——一種它所理解的語言。黑色像素的值為「0」,白色像素的值為「1」。圖像中的每個像素都是一個變數。

在被模型識別的1,000個手寫圖像中,它正確地識別了922個,正確率為92.2%。我們可以在列聯表查看結果,如下所示:

圖中顯示的是ANN模型性能的列聯表。例如,第一行告訴我們,在模型中給出的85個數字「0」的圖像中,84個識別正確,1個被錯誤地識別為「6」。最後一列表示預測的準確度。

從表中可以看到,當給出「0」或「1」的手寫圖像時,模型幾乎總是能正確識別,而識別數字「5」卻非常困難。使用列聯表的優點在於它能告訴我們錯誤識別的頻率。大約有8%的數字「2」的圖像被錯誤識別成了「7」或「8」。下面深入了解一下這些被錯誤識別的數字:

雖然在人眼中看來,這些圖像很像數字「2」,但ANN有時卻無法識別圖像的某些特徵,如數字「2」的尾部(在限制部分中說明)。另一個有趣的現象是,模型在10%的次數里混淆了數字「3」和「5」:

3

神經元激發網路

我們的大腦有一個很大的互聯神經元網路,它是信息從A點到B點傳播的通道。當從A到B發送不同的信息時,大腦會激活不同的神經元集合,所以基本上從A到B會使用不同的路線。這是一個典型的神經元的樣子:

在每個神經元,樹突接收其他神經元發送的輸入信號。如果神經元在一定時間內接收到足夠高的信號水平,則神經元就會發送一個電脈衝,然後這些輸出信號會被其他神經元接收。

技術說明I:模型是如何工作的

一個簡單的人工神經網路圖,圖中顯示了兩個不同輸入但具有相同輸出的場景。紅色顯示的是沿著路徑被激活的神經元。

類似地,在ANN模型中,有一個輸入節點,就是給模型的圖像,輸出節點就是模型識別出的數字。ANN模型的主要特徵如下:

步驟1.當給輸入節點輸入圖像時,它將激活第一層中特定的一系列神經元,並開始鏈接反應,通過唯一的路徑傳輸到輸出節點。在情景1中,神經元A,B和D在1層中分別被激活。

步驟2.激活的神經元向下一層每個連接的神經元發送信號。這直接影響下一層哪些神經元將被激活。在情景1中,神經元A向E和G發送信號,神經元B向E發送信號,神經元D向F和G發送信號。

步驟3.再下一層,每個接收信號的神經元組合受到激活神經元的規則約束。在情景1中,神經元E被A和B的信號激活。然而,對於神經元F和G,神經元規則告訴它們沒有接收到被激活的正確信號,因此它們保持灰色狀態不被激活。

步驟4.對於所有剩餘的層,重複步驟2-3(模型可以有2層以上)直到輸出節點。

步驟5.輸出節點根據從其前面的層(第2層)接收到的神經元信號推導出正確的數字。層2中激活的神經元組合都會得到一個解決方案,儘管每種解決方案都可以由不同的激活神經元組合表示。在情景1和2中,輸入兩個圖像。由於圖像不同,輸入到輸出節點會激活不同的神經網路路徑。但是,兩個圖像的識別結果都是數字「6」。

技術說明二:訓練模型

首先需要確定ANN模型的層數和每層的神經元數量。雖然這裡沒有限制,但使用3層是一個比較好的開始,神經元的數量與變數的數量是成比例的。對於數字識別器ANN來說,我們使用3層模型,每層500個神經元。訓練模型涉及到兩個關鍵因素:

?評估模型精度的指標

?管理神經元是否被激活的規則

評估模型精度的常用度量是偏差平方和(SSE),簡單來說,偏差的平方表示預測數字與實際數字的接近程度。ANN模型嘗試通過改變神經元激活的規則來減小SSE,並且這些改變都由數學概念中的差異來確定。

每個神經元的規則有兩個部分——輸入信號的權重(即強度)[w]以及神經元激活所需的最小接收信號強度[m]。在下面的例子中,我們說明了神經元G的規則。來自A、B的信號強度為零(即沒有連接),來自C、D、E的信號強度分別為1、2、-1。G的m值為2,所以G將激活:

?D激活,E不激活,或;

?C和D都激活。

神經元(G)的規則的例子

4

限制

計算昂貴:與其他類型的模型(例如隨機樹)相比,訓練ANN模型需要更多的時間和CPU資源。同時,ANN模型的性能可能不一定是最好的。雖然ANN不是一種新技術,但由於硬體的進步使得計算可行,近年來使用得更加頻繁。而且,ANN是更高級模型的基礎,像深度神經網路(DNN)。谷歌在2015年10月和2016年3月使用DNN在Go遊戲中擊敗了人類冠軍,被廣泛地認為是人工智慧的巨大成果。

缺乏特徵識別:如果在形狀上略有變化,或者放置在不同的位置,ANN將不能識別圖像。例如,如果想要ANN模型來識別貓的圖像,假設我們的訓練示例總是將貓放在圖像的底部。如果將同樣的貓放在頂部或者同樣更大尺寸的貓,那麼ANN模型將會識別不了。但ANN的更高級版本,被稱為卷積神經網路(CNN),可以通過查看圖像的各個區域來解決這個問題。事實上,效率更高的CNN被更加廣泛地應用於圖像和視頻的識別。


點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 商業分析前哨 的精彩文章:

人工智慧:將客戶體驗和數據分析推向新的水平
成為一名職業商業分析師的四條建議
大數據在市場營銷中的7大好處

TAG:商業分析前哨 |