2016 年,隨著 AlphaGo 在圍棋比賽中擊敗李世石,“人工智能”、“神經網絡”、“深度
學習”等字眼便越來越多的出現在大眾眼前,智能化好像成為一種不可逆轉的趨勢,帶給大家新奇感的同時也帶來了一絲憂懼:在不遠的未來,機器是否真的擁有思維和情感?《終結者》中天網大戰人類的刻畫是否會成為現實?我的工作會不會被程序代替?要不要現在就注冊下美團騎手?美團也開始無人送餐了?眾多打著人工智能和算法旗號的公司不斷出現和上市,眾多學校開始開設人工智能學院(比如我的母校,西南交通大學),而特斯拉等新能源企業的出現,將人工智能和無人駕駛聯系起來,仿佛人類很快就可以進入那個夢幻的未來世界。迄今為止,我們所見識到大部分人工智能所實現的魔法都依賴于精心設計的神經網絡,到底什么是神經網絡,神經網絡又是如何實現的,在這里我們對此進行簡單的介紹。
1、神經網絡簡介
什么是神經網絡(Neural Network)?神經網絡又稱人工神經網絡(Artificial Neural Network,ANN)是機器學習(Machine Learning)中眾多自適應優化算法的一種,其具有悠久的發展歷史,最早可以追溯到上世紀40年代。神經網絡通過搭建大量人工神經元并廣泛連接形成網絡,模擬生物神經系統對真實世界所作出的反應,以此為現實問題提出解決方案。那么什么是機器學習呢?機器學習是一大類自適應算法的統稱,指從已知的數據中獲取規律,并利用規律對未知數據進行預測的方法,包括但不限于貝葉斯估計、決策樹、隨機森林、支持向量機和深度學習等等,圖1展示了機器學習、深度學習與神經網絡三者的關系。
神經網絡由基礎的神經元連接組成,其數學模型如下式所示:
output=f?( Wx+b) (1)
式中,X為神經元的輸入量,由x1…xn組成;W為輸入量的權重(weight,也就是參數)向量矩陣,由w1…wn組成;b為神經元的偏置(bias,同樣也是參數);f為激活函數,用來表示神經元的映射關系,一般為非線性函數,如tanh函數、sigmoid函數等,為算式提供了非線性能力。圖2展現了神經元的計算過程。
通過將大量神經元按一定順序排列組合組成層級結構,組成輸入層、隱藏層和輸出層的結構,各層之間通過權重進行連接,即組成了神經網絡,如圖3所示。
只有一層隱藏層的神經網絡十分簡單,通常只能用來解決較為簡單和足夠抽象的問題。隨著計算機算力的不斷增長,為解決更加復雜的現實問題,神經網絡的隱藏層從單層神經元被擴展為多層,即組成了多層的神經網絡。迄今為止&