人工神經網絡的本質(物理或數學意義)是什麼?

nature778


從數學的角度講,人工神經網絡的本質從機器學習的過程可理解為通過參數求最佳解得過程。同樣也是一個負反饋的過程,以最簡單的負反饋神經網絡bp神經網絡(back propagation)為例,其本質可以形象的理解為這樣一個過程:

我們假設這個剛搭建的好的機器人叫“小明”(假設他剛出生),他的硬件軟件等我們不需要考慮的部分全部是最先進的,小明的大腦裡現在是最純淨的,除了一個學習的算法什麼都沒有,就像一個剛出生的嬰兒一樣。

現在,小明餓了,想吃東西。那麼如何才能吃到東西呢?在什麼都不知道的情況下,小明開始探索如何才能不餓。他可能會伸手,或者笑、哭,於是母親餵了他吃的,從邏輯上可以這麼理解:

然後他每次餓了,都開始伸手-笑-哭,然後就有吃的了。突然,有一天他自己也不知道怎麼搞的,直接哭了。然後---有吃的了!!!這時他才明白這一個邏輯:

這時候,機器人“小明“明白,其實達到一個目的很簡單,但是需要不斷嘗試。

再後來,小明又餓了,這回他懶得動,稍微小哭了一下等吃的,結果媽媽沒來喂他!這是為啥?然後他就哭的超級大聲,媽媽看他這樣子以為是病了,急衝衝的送她去診所,結果啥病也沒有,小明迷惑,這是為什麼?邏輯可以這麼理解:

然後他把哭聲再稍微降低以點,變成了很正常的哭,這時媽媽終於恍然大悟,喂他吃的。小明終於明白,想吃東西,首先需要哭,然後若哭聲小,不起作用,需要調大哭聲,若哭聲過大,會起反作用,需要把哭聲再降小一點,就有吃的了。

以上就是人工神經網絡的本質,通過不斷嘗試引入各種參量,最終得到允許誤差範圍內的解,並通過引入參量係數,最終得到最優解——餵食=哭。通過負反饋機制,當參量所佔權重過小,以當前參量所得結果為參考依據適當增加參量權重比例,增加的比例的係數隨機。通過第二次的結果和第一次的結果選擇更合適的權重係數,最後經過不斷的“嘗試“得到最優解。

以上過程即是bp負反饋神經網絡的算法思想。


鎂客網


看了幾個回答,都不錯,不過問題問的是“數學本質”,我覺得回答們似乎都太“技術性”了。

Deep Learning 的數學本質在我看來異常簡單,就是兩個基本的數學問題:找特徵,求極值。

這個“特徵”就是數學裡常說的特徵值,特徵方程,特徵向量… 都一樣,一般來說“特徵”就是反映一種函數的“不變性”。

最簡單的,一張照片裡光線好不好?有沒有明顯的邊界?前者可以定義一個特徵值:亮度的均值。後者可以定義另一個特徵值:梯度。

以往傳統的機器學習理論,這樣的特徵需要算法設計者去“想出來”,這就像解幾何題,你得想出怎麼畫輔助線。想不出來,你就解不出題。

不幸的是大量人工智能實際場景裡,最頂尖的算法設計師也常常束手無策。這就是深度神經網絡理論的一個出發點:為什麼要人去找特徵?為什麼不用算法自己去找?

這是一個重大的理論突破,類比於笛卡爾發明解析幾何:從此不再需要“輔助線”,徹底代數化。

那麼面對那麼多種可能的特徵函數,那麼多種可能參數選擇,機器怎麼選擇呢?這就是第二個問題:求極值。

這也是個異常基礎的數學問題:極值點就是(偏)導數=0。

只不過人工智能場景裡函數變量常常以百萬計,所以有很多“技術性問題”需要優化。比如梯度下降法等。

所以總結一下,深度神經網絡就是一個“自動的特徵提取器”,其數學本質只涉及兩點:

- 特徵函數,CNN裡採用統一的卷積形式(為什麼?因為簡單啊,而且對應的數學工具多)。

- 求極值:就是逼近/找到(偏)導數=0的參數向量。


帖木兒


神經元網絡不僅限於bp,有多種算法。MATLAB Neural Network Toolbox 是一個很好的設計和訪真軟件,極力推薦。可大大減輕設計,學習,訪真的工作量。


YingBai910


作者曾經寫過系列文章《神經網絡與深度學習概述 》,其中在《第二章 神經網絡的概念及感知機模型》,從生物數學方面都有一定介紹。

神經網絡全稱人工神經網絡(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)

  • 在單層感知器的輸入部分和輸出層之間加入一層或多層處理單元,就構成了二層或多層感知器

  • 多層感知器克服了單層感知器的許多缺點,原來一些單層感知器無法解決的問題,在多層感知器中就可以解決。例如,應用二層感知器就可以解決異或邏輯運算問題


小AI諮詢


差不多。人工神經網絡是從人腦得到啟示,建立的數學模型,靠計算機的強大計算力和大數據,解決具體的問題。

人工神經網絡中,一個神經元是一個半線性的數學模型,所有的輸入和權重一起線性疊加,最後非線性地映射到0和1之間。由大量神經元組成的神經網絡,是一個複雜的非線性模型。人工智能的學習過程,從數學上看,本質上是一個優化問題:調整這個模型裡的大量參數,使得它能夠符合大量已知數據的結果。如果能得到和已有經驗的好的符合,就學習好了。這個模型就可以用來解決實際問題了。

這樣說起來,人工智能沒啥神秘的。很可能,人類的智能也沒啥神秘的,機制和這個算法差不多。


物理學博士


數學的角度看,網絡模型本質上是函數的表示模型,學習的過程就是通過數據匹配實現函數建模的過程,實現數據的逼近或擬合。網絡模型的結構和規模決定模型的表示能力,表示能力越強,建模需要的數據規模也越大,或者學習利用數據能力越強,同時學習需要的計算資源也會越多。顯然,深度學習實現的網絡模型就是可以利用大數據實現豐富表示能力的函數建模。


59201577


神經網絡本質是一個程序或運算,其結構特徵決定其是對某問題或系統的高效表示,所以我認為神經網絡有其一般物理基礎而並非僅對人腦的模擬。類似的物理系統是描述多體量子態的tensor network。可認為一般的對象都可由一個程序高效生成,如一幅圖像,這個生成程序就可表達為一個神經網絡。所以對象和網絡結構有對應性。自然世界由那些可用深度網絡表達的對象構成,而不可表達的對象在自然界出現的概率極小


手機用戶57610903150


人工神經網絡(深度學習)的本質是一種數值運算,是從微觀角度模擬或者描述人的思維運作,即給一個輸入,經過複雜的數值計算,得到一個輸出。

而傳統的程序是從宏觀角度模擬或者描述人的邏輯思維流程,是以邏輯主導的。比如當什麼條件時,應該幹嘛幹嘛,當點擊了某個按鈕,我要讓計算機先幹嘛,然後幹嘛,最後再幹嘛


分享到:


相關文章: