人工神經網絡(ANN)是一種被設計用來模擬人腦分析和處理信息的計算系統。它是人工智慧(AI)的基礎,解決了以人類或統計標準將被證明是不可能或很難解決的問題。人工神經網絡具有自我學習能力,能夠在獲得更多數據的前提下產生更好的結果。
人腦對現實世界情境的解讀方式是計算機無法做到的。神經網絡最初是在20世紀50年代發展起來的,目的就是解決這個問題。人工神經網絡是一種嘗試,模擬組成人腦的神經元網絡,這樣計算機就能像人一樣學習事物並做出決策。人工神經網絡是通過對普通計算機進行編程而產生的,使它們的行為類似於人類的相互連接的腦細胞。
人工神經網絡是受人腦啟發的計算模型。人工神經網絡最近的許多進展都是在人工智慧領域取得的,包括語音識別,圖像識別,以及基於人工神經網絡的機器人。
這些依託於人工神經網絡的生物計算方法被認為是計算行業的下一個重大進步。
人工神經網絡可以被視為在計算機上執行的、基於生物啟發的一種模擬態,以執行特定的任務集,如聚類,分類,模式識別等。通常,人工神經網絡是一個由眾多被配置為執行特定任務集的神經元(其本質上是人工的)所組成的生物啟發的網絡。
理解人工神經網絡
人工神經網絡像人腦一樣構建,神經元節點像網絡一樣相互連接。人腦有數千億個叫做神經元的細胞。每個神經元都是由一個負責處理信息的細胞體組成,該細胞體是大腦進行信息的輸入以及輸出的基礎。
一個ANN有數百個或數千個被稱為處理單元的人工神經元,它們通過節點相互連接。這些處理單元由輸入和輸出單元組成。輸入單元基於內部加權系統接收各種形式和結構的信息,神經網絡嘗試學習所呈現的信息以產生一個輸出報告。就像人類需要規則和指南才能得出一個結果或輸出一樣,ANN也使用一組名為反向傳播(back propagation)的學習規則來完善他們的輸出結果。(反向傳播是錯誤向後傳播的縮寫。)
一個人工神經網絡最初要經歷一個訓練階段,在這個階段,它學會識別數據中的模式,無論是視覺,聽覺還是文本。在這個受監督的階段,網絡將其實際產生的輸出與它想要產生的輸出進行比較。使用反向傳播調整兩個結果之間的差異。這意味著網絡採取向後工作的模式,能夠從輸出單元到輸入單元,調整單元之間連接的權重,直到實際結果和期望結果之間的差異產生最小的可能誤差。
人工神經網絡的架構
要理解一個人工神經網絡的架構,我們需要理解一個典型的神經網絡所包含的內容。為了描述一個典型的神經網絡,它包含了大量的人工神經元(當然是的,這就是為什麼它被稱為人工神經網絡),這些神經元被稱為排列在一系列層中的單元。讓我們來看看人工神經網絡中的不同層次
1)輸入層:輸出層包含對輸入到系統中的信息以及系統是否學習了任何任務作出反應的單元,包含接收外界輸入的單元(人工神經元),網絡將在這些輸入的基礎上進行學習,識別或處理。
2)隱藏層:隱藏層是指隱藏在輸入層和輸出層之間的層,隱藏層的唯一工作是將輸入轉換為輸出層/單元可以以某種方式使用的有意義的東西。
大多數人工神經網絡都是互聯的,這意味著每個隱藏層都單獨地連接到其輸入層的神經元,也連接到其輸出層,沒有任何東西可以掛在空中。這使得一個完整的學習過程成為可能,並且當每次迭代後人工神經網絡內部的權重得到更新時,學習的效果也達到最高程度。
3)輸出層:輸出層包含對輸入系統的信息以及系統是否學習了任何任務作出反應的單元,包含對系統學習任何任務的結果作出反應的單元。
大多數神經網絡都是完全連接的,也就是說,每個隱藏的神經元都與前一層(輸入層)和下一層(輸出層)的每個神經元完全連接。
人工神經網絡是如何工作的?
人工神經網絡使用不同層次的數學處理來理解輸入的信息。典型地,一個人工神經網絡包含幾十到數百萬個排列在一系列層中的被成為「單元」的人工神經元。輸入層從外界接收各種形式的信息。這是網絡旨在處理或了解的數據。從輸入單元開始,數據經過一個或多個隱藏單元。隱藏單元的工作是將輸入轉換為輸出單元可以使用的東西。
大多數神經網絡都是從一層到另一層完全連接的。這些連接是加權的;數字越高,一個單位對另一個單位的影響就越大,類似於人腦。當數據通過每個單元時,網絡就可以學習更多的數據。在網絡的另一邊是輸出單元,這是網絡對所給出和處理的數據做出響應的地方。
為了讓人工神經網絡學習,需要給它們提供大量的信息,這些信息被稱為訓練集。當你試圖教一個人工神經網絡如何區分貓和狗時,訓練集將提供數以千計的標記為狗的圖像,這樣網絡就會開始學習。一旦它接受了大量數據的訓練,它就會嘗試根據它在不同單元中所看到的(或聽到的,取決於數據集)來對未來的數據進行分類。在訓練期間,將機器的輸出與人類提供的應觀察內容的描述進行比較。如果它們相同,就證明機器學習的結果符合預期。如果不正確,它會使用反向傳播來調整它的學習——通過層層返回來調整數學方程。這就是所謂的深度學習,它使網絡變得智能。
人工神經網絡的應用
現在,人類的經濟活動的所有領域都可以通過應用程式而取得翻天覆地的變化。人工神經網絡正在這些應用鋪平道路。建立在人工神經網絡之上的人工智慧平臺正在顛覆傳統的做事方式。從將網頁翻譯成其他語言,到讓虛擬助理在線訂購雜貨,再到與聊天機器人對話解決問題,AI平臺正在簡化交易,並以微不足道的成本讓所有人都能獲得服務。
有幾種方法可以部署人工神經網絡,包括分類信息,預測結果和聚類數據。當網絡處理數據並從數據中學習時,它們可以將給定的數據集分類到預定義的類別中,它可以被訓練來預測能夠從給定的輸入中得到什麼樣的輸出,並且可以識別數據的特殊特徵,然後根據該特殊特徵對數據進行分類。谷歌使用分層神經網絡來支持谷歌照片以及YouTube視頻的「觀看下一個」推薦。Facebook將人工神經網絡用於其Deep Face算法,該算法能夠以97%的準確率識別特定人臉。它也是一個支持Skype進行實時翻譯的人工神經網絡。
下面是人工神經網絡一些重要的用途:
1)人臉識別:人臉識別需要將一幅圖像與保存的人臉資料庫進行比較,以識別所輸入圖片中的人。人臉檢測機制包括將圖像分為兩部分:一個包含目標(人臉),另一個提供背景。
2)命名實體識別(Name Entity recognition,NER):命名實體識別的主要任務是將命名實體(如Ram,Google,India等)按預定義的類別(如人,組織,地點,時間,日期等)進行分類。目前已經創建了許多NER系統,其中表現最好的使用了神經網絡。
3)語音識別:在家庭自動化,行動電話,虛擬輔助,無人工幹預計算,視頻遊戲等領域有著廣泛的應用,神經網絡在這方面有著廣泛的應用。
4)籤名驗證:籤名驗證技術是一種基於非視覺的技術,對於這個應用,首先要提取籤名的特徵,或者說是幾何特徵集,利用這些特徵集,我們必須使用一種有效的神經網絡算法訓練神經網絡,訓練好的神經網絡在驗證階段區分籤名的真偽。
5)語義檢測:語義檢測決定了兩個句子是否具有相同的意思,這一任務對於問答系統來說尤其重要,因為有很多方式來問同一個問題。