當前位置:
首頁 > 最新 > 人工神經網路中的神經元

人工神經網路中的神經元

有不少專業術語乍一聽很唬人,「人工神經網路」就屬於這一類,至少我第一次聽到這個詞就被唬住了。吳軍博士——《數學之美》近年來火遍全球的人工智慧,可謂引發了全領域的思辨與探討,本著先了解、後評判的原則,筆者對人工智慧的技術作了一定的了解。在初識人工神經網路之時,也被其非凡的名稱所困惑,相信有類似感覺的小夥伴一定不少。因此大白話科普系列上線了,我們將分多篇文章,逐一對人工智慧所涉及到的技術與數學原理進行大白話式的科普。不用擔心沒有數學基礎,小編偷偷告訴你,作者連高數的書長啥樣都不知道。

人工神經網路

說到人工智慧,就不得不先說人工智慧的分類:強人工智慧與弱人工智慧。根據維基百科的定義,強人工智慧,也被稱為通用人工智慧(Strong AI或者 Artificial General Intelligence)是具備與人類同等智慧、或超越人類的人工智慧,能表現正常人類所具有的所有智能行為;弱人工智慧(applied AI,narrow AI,weak AI)只處理特定的問題。目前,除了DeepMindOpenAIVicarious等少數幾家公司在研發強人工智慧外,大多數目前能看到的人工智慧應用(例如語音識別、機器翻譯、人臉識別、自動駕駛等),都屬於弱人工智慧的範疇,而目前弱人工智慧所採用的基本演算法框架,都是人工神經網路。根據維基百科的定義,人工神經網路(英語:artificial neural network,縮寫ANN),簡稱神經網路(neural network,縮寫NN)或類神經網路,是一種模仿生物神經網路(動物的中樞神經系統,特別是大腦)的結構和功能的數學模型或計算模型,用於對函數進行估計或近似。類比生物神經網路中的神經元,人工神經網路也存在所謂的神經元,或者說,正是因為有了神經元的存在,這種數學模型才被稱為人工神經網路。類比生物神經元根據一定的電信號及化學信號,將信息處理、傳輸到下一個細胞的操作方式,人工神經網路中神經元的工作方式,則是通過一定範圍的輸入值,根據自身設定的運算邏輯,最終給出一個輸出值。

神經元的鼻祖:感知器

人工神經網路中的神經元有多種數學模型,而最早的神經元模型,被稱為感知器(perceptron)。感知器起源於上世紀五、六十年代,雖然目前已經基本被廢棄,但作為最簡單的神經元模型,對初學者最為友好。

舉個例子

小明通過一定的演算法決定自己明天是否去看新上映的復聯3。在小明的演算法中,需要考慮三個因素:a. 是否下雨(是=0,否=1);b. 是否有女生願意陪小明一起看(是=1,否=0);c. 是否有劇透狗告訴了小明結局(是=0,否=1)。小明覺得,a和c兩個因素對他的決定影響比較小,權重分別為1和2,而是否有女生同去占的權重比較大,為4。經過運算後,如果最終的答案≥2,那麼小明就會去看電影。

在這個例子中,小明的決策過程就可以用感知器來描述:

x1、x2、x3三個輸入值,分別代表a、b、c三個因素,中間的圓圈就是感知器模型的計算過程,左邊三個箭頭連線分別指代了三個權重w1=1、w2=4、w3=2。如果x1*w1+x2*w2+x3*w3≥2,那麼就輸出1,代表小明明天會去看復聯3,否則就輸出0,代表小明明天不會去看復聯3。例如在這個例子中,即使天下雨而且小明提前知道了復聯3的結局,但是因為有女生陪小明一起看,最終的計算為0*1+1*4+0*2=4≥2,因此小明會去看復聯3;如果小明被劇透且小明只能孤身一人去看,那麼就算天沒下雨,最終的計算為1*1+0*4+0*2=1<2,小明也不會去看復聯3。這裡最終判斷是否≥2中的數字2,被稱為閾值(threshold),為了表達更方便,一般用它的相反數來表達:b=-threshold,這裡的b被稱為偏置(bias)。這樣,這個例子的決策過程就變成:如果x1*w1+x2*w2+x3*w3 + b ≥ 0,則輸出output=1,否則輸出output=0。當輸入層變多後,就變成了如下標準的感知器模型:

因此所謂的設計感知器,實際上就是設計不同的輸入值、閾值與權重,其中輸入值在很多情況下並不能修改,而閾值的設計實際上也可以理解為對常數1作為輸入值的權重調節,那麼感知器的設計關鍵,在於如何調整每一個輸入值所對應的權重,而對權重的調整,就被稱為對神經網路的訓練

最受歡迎的神經元:sigmoid神經元

前面提到,感知器作為神經元的鼻祖,目前基本已經被淘汰,那麼為什麼大家不喜歡使用感知器呢?如上所述,感知器設計的關鍵,在於如何訓練調整每個輸入值所對應的權重,而感知器的弱點也許有的小夥伴已經發現了,就是每個輸入值都是0或1,這樣非線性(非0即1)的輸入值會給後續調節神經網路中的權重造成障礙(雖然這個比喻不太準確,但想像一下你在設定耳機音量時,多一格嫌吵、少一個嫌輕的糾結)。因此,sigmoid神經元應運而生。sigmoid神經元(sigmoid neuron)是現代神經網路經常使用(但非唯一)的基本結構。相較於感知器,sigmoid神經元的優勢在於,其輸入值與輸出值均不再限制為0和1,而可以是任意0~1之間的任意浮點值(浮點值是計算機中對實數的近似表現法,從理解原理的角度可以當成實數)。sigmoid神經元的輸出值,是將各個輸入值的加權求和再加上偏置參數,經過一個稱為sigmoid函數(sigmoid function) 的計算作為輸出。sigmoid函數(sigmoid function)有時也被稱作邏輯斯諦函數(logistic function),對應的這個新型神經元被稱為邏輯斯諦神經元(logistic neurons)。

(知識點:e,自然對數函數的底數,也被稱為歐拉數,是一個無限不循環小數,e=2.71828182845904523536……)

具體來說,假設z=x1*w1+x2*w2+x3*w3+…+b(看出來了么,這部分的計算過程其實就是感知器的計算過程),那麼sigmoid神經元只不過是在原先感知器的計算過程上,加上了一個sigmoid函數的運算過程,即輸出output=σ(z)=1/(1+e^(-z))。與感知器非0即1的輸出相比,sigmoid神經元的輸出就非常連續,其函數曲線如下:

因此,在採用sigmoid神經元組建人工神經網路後,整體的的輸入值和輸出值都會變為連續線性,便於訓練調整權重值(如何訓練調整權重值比較複雜,留待後續文章繼續說明)。

結語

神經元是組成人工神經網路的基本單元,了解神經元的結構後,我們就能繼續理解人工神經網路的工作原理和所謂的訓練原理。

因篇幅有限,我們將在後續文章中繼續以大白話的形式解讀這些術語與演算法。

「 本文僅代表作者個人觀點 」


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

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


請您繼續閱讀更多來自 智能曬客 的精彩文章:

別說資管新規中的人工智慧你讀懂了

TAG:智能曬客 |