人工神經網路的本質(物理或數學意義)是什麼?
作者曾經寫過系列文章《神經網路與深度學習概述 》,其中在《第二章 神經網路的概念及感知機模型》,從生物和數學方面都有一定介紹。
神經網路全稱人工神經網路(Artificial Neural Network, ANN),與之相對應的是生物神經網路(Biological Neural Network, BNN),將模擬生物神經網路的數學模型統稱為人工神經網路模型。
生物神經系統與生物神經元大量生物神經元的廣泛、複雜連接,形成生物神經網路
實現各種智能活動
智能(intelligence)
觀察、學習、理解和認識的能力
理解和各種適應性行為的能力
智能是個體有目的的行為、合理的思維、以及有效的適應環境的綜合能力,也可以說是個體認識客觀事物和運用知識解決問題的能力
生物神經元(neuron)是基本的信息處理單元
生物神經系統
生物神經元是基本的信息處理單元。
生物神經元
樹突(dendrites):接收來自外接的信息
細胞體(cell body): 神經細胞主體,信息加工
軸突(axon):細胞的輸出裝置,將信號向外傳遞,與多個神經元連接
突觸 (synapsse):神經元經突觸向其它神經元(胞體或樹突)傳遞信號
生物神經元的基本特徵
神經元之間彼此連接
神經元之間的連接強度決定信號傳遞的強弱
神經元之間的連接強度可以隨訓練改變:學習、遺忘、疲勞
神經網路中各神經元之間連接的強弱,按外部的激勵信號做自適應變化
興奮與抑制
信號可以起興奮作用,也可以起抑制作用
一個神經元接受信號的累積效果(綜合大小,代數和)決定該神經元的狀態(興奮、抑制)
每個神經元可以有一個「閾值」
人工神經網路的組成與結構
人工神經網路是由大量處理單元經廣泛互連而組成的人工網路,用來模擬腦神經系統的結構和功能。而這些處理單元我們把它稱作人工神經元。
人工神經網路可看成是以人工神經元為節點,用有向加權弧連接起來的有向圖。在此有向圖中,人工神經元就是對生物神經元的模擬,而有向弧則是軸突—突觸—樹突對的模擬。有向弧的權值表示相互連接的兩個人工神經元間相互作用的強弱。
神經元及神經網路模型
感知機模型感知機模型,其基礎就是單個神經元模型
感知機的學習是有監督的學習,學習的問題歸結為求權重係數W = (w1, w2, …, wn)和閾值θ 的問題
基本思想:逐步將訓練集中的樣本輸入到網路中,根據當前輸出結果和理想輸出結果之間的差別來調整網路中的權重值
感知機模型
感知器模型無法解決「異或」(XOR)問題,即感知器模型無法解決非線性可分問題。
設激活函數f(x)為階梯函數:
階梯函數
由於單層感知器的輸出為:
y(x1,x2) = f(ω1×x1+ω2×x2-θ)
用感知器實現簡單邏輯運算的情況如下:
「與」運算(x1∧x2)
令ω1= ω2=1,θ=2,則 y=f(1×x1+1×x2-2)
顯然,當x1和x2均為1時,y的值1;而當x1和x2有一個為0時,y的值就為0。
「或」運算(x1∨x2)
令ω1= ω2=1, θ =0.5,則y = f(1×x1+1×x2-0.5)
顯然,只要x1和x2中有一個為1,則y的值就為1;只有當x1和x2都為0時,y的值才為0。
「非」運算(~X1)
令ω1 =-1, ω2=0, θ=-0.5,則 y = f((-1)×x1+1×x2+0.5))
顯然,無論x2為何值,x1為1時,y的值都為0;x1為0時,y的值為1。即y總等於~x1。
「異或」運算(x1 XOR x2)
如果「異或」(XOR)問題能用單層感知器解決,則ω1、 ω2 和θ 必須滿足如下方程組:
ω1+ω2-θ<0
ω1+0-θ≥0
0+0-θ<0
0+ω2-θ≥0
顯然,該方程組是無解,這就說明單層感知機是無法解決異或問題。
神經網路模型(多層感知機Multi-Layer Perception)在單層感知器的輸入部分和輸出層之間加入一層或多層處理單元,就構成了二層或多層感知器
多層感知器克服了單層感知器的許多缺點,原來一些單層感知器無法解決的問題,在多層感知器中就可以解決。例如,應用二層感知器就可以解決異或邏輯運算問題
差不多。人工神經網路是從人腦得到啟示,建立的數學模型,靠計算機的強大計算力和大數據,解決具體的問題。
人工神經網路中,一個神經元是一個半線性的數學模型,所有的輸入和權重一起線性疊加,最後非線性地映射到0和1之間。由大量神經元組成的神經網路,是一個複雜的非線性模型。人工智慧的學習過程,從數學上看,本質上是一個優化問題:調整這個模型里的大量參數,使得它能夠符合大量已知數據的結果。如果能得到和已有經驗的好的符合,就學習好了。這個模型就可以用來解決實際問題了。
這樣說起來,人工智慧沒啥神秘的。很可能,人類的智能也沒啥神秘的,機制和這個演算法差不多。
人工神經網路(深度學習)的本質是一種數值運算,是從微觀角度模擬或者描述人的思維運作,即給一個輸入,經過複雜的數值計算,得到一個輸出。
而傳統的程序是從宏觀角度模擬或者描述人的邏輯思維流程,是以邏輯主導的。比如當什麼條件時,應該幹嘛幹嘛,當點擊了某個按鈕,我要讓計算機先幹嘛,然後幹嘛,最後再幹嘛
神經網路本質是一個程序或運算,其結構特徵決定其是對某問題或系統的高效表示,所以我認為神經網路有其一般物理基礎而並非僅對人腦的模擬。類似的物理系統是描述多體量子態的tensor network。可認為一般的對象都可由一個程序高效生成,如一幅圖像,這個生成程序就可表達為一個神經網路。所以對象和網路結構有對應性。自然世界由那些可用深度網路表達的對象構成,而不可表達的對象在自然界出現的概率極小
數學的角度看,網路模型本質上是函數的表示模型,學習的過程就是通過數據匹配實現函數建模的過程,實現數據的逼近或擬合。網路模型的結構和規模決定模型的表示能力,表示能力越強,建模需要的數據規模也越大,或者學習利用數據能力越強,同時學習需要的計算資源也會越多。顯然,深度學習實現的網路模型就是可以利用大數據實現豐富表示能力的函數建模。
推薦閱讀:
※伽利略悖論的存在價值是什麼?
※爐石傳說從5級打到傳說需要打多少場?
※為什麼數學是不符合現實的,π根本不存在的啊,就如同不存在完美的圓?
※數學對於編程有多重要?
※奧迪A6L現在算不算豪車,一般人能開的上嗎?