人工神經網路簡介

2017-07-24    分類:機器學習/人工智慧、程式設計開發、首頁精華1人評論發表於2017-07-24

本文由碼農網 – Wendy原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

伴隨著大資料的發展,人工神經網路(ANN)也越來越流行。下面讓我們來學習一下 ANN 是什麼,以及它與生物神經網路之間的聯絡。

上學的時候我特別喜歡數學,討厭生物。但過了很久之後,我最終開始學習結合了數學與生物二者的學科:人工神經網路(ANN),而 ANN 還是受到了生物神經網路的影響。儘管你會感覺它怪怪的,而我的確認為這個詞形容人工神經網路很合適。我們這兒說的生物,一般指的是研究大腦或者是神經系統。人工智慧模擬了神經系統的工作方式。伴隨著大資料的發展,人工神經網路最近越來越流行。事實上,我其中一個同事說,如果沒有大資料,你根本沒法研究人工神經網路或者任何機器學習演算法。當然,我並不相信他的說法,決定自己試一試。所以,這篇博文講的是我第一次嘗試 ANNs 的體驗感悟。

這篇博文並不能將所有 ANNs 相關的知識解釋清楚,但是我希望通過本文能讓你更進一步的認識 ANN。現在,讓我們先快速的瞭解下生物神經網路,以及相關術語,還有ANNs 的相關術語。

當我們的感官產生某種感覺(像是當你碰觸某些東西的時候),感官輸入得到資料然後把它傳輸給神經系統。神經系統由一組組神經組織細胞組成。這些細胞被稱為神經元。神經元處理由感官輸入傳過來的資料,然後令肢體做出動作,比如從熱火爐旁將手移開。移動手臂這部分被稱為運動神經輸出。我們不打算深入探討感官輸入和運動輸出,但是會講講神經元以及它們是如何工作的。

神經網路是由各種各樣的神經元組成的。在上一張圖片中展示了一個由兩個神經元組成的網路。正如你看到的那樣,神經元的不同部位有不同的術語。樹突指的是神經元的輸入點。傳入神經元的資料包括來自感官輸入點的資料以及其它神經元從樹突接收到的資料。細胞體負責處理資料,建立電脈衝形式的資料、或者是化學訊號,然後通過軸突將它傳送給其它神經元或者運動神經輸出。在網路中,當神經元互相互動時(換句話說就是當軸突攜帶脈衝或者化學資料給其它神經元的時候),它會把資料丟在一個樹突可以接收資料的地方。這個軸突與樹突相交的點稱為突觸。突觸便是神經元向外輸出資料的那個點,它會將資料轉換為下一個神經元可以接受的格式。

好的,以上就是神經網路的基本概念。現在我們應該已經準備好了,開始學習人工神經網路吧。

上面的圖對生物神經網路與人工神經網路做了個基本對比。上圖所展示的這種神經網路有三層:輸入層、中間層、輸出層。我們可以把每個圓圈當成一個個神經元,那麼每個神經元會接收輸入、處理輸入的資料、產生輸出。當第一個神經元將產生的資料輸出到下一個神經元時,會將它乘以一個權重。然後,下一個神經元將值作為輸入。ANN 的輸入和輸出可以分別比喻為生物神經網路的樹突和軸突。權重的增加可以比喻為突觸。

人類大腦中大約有上千億的神經元,每個神經元會跟大約一萬個神經元相連。有趣的是,生物神經元可以在0.001秒內完成轉換,而計算機則非常快,只需要10^-10。然而,生物神經元仍然可以非常快地做出複雜的決定。識別一個認識的人,它需要花費大概0.1秒,你可以想象這會調動多少神經元。即便在如此多的神經元之間轉換用時0.1秒,大腦的效率依然相當快。很吃驚,對吧?好吧,據推測是大腦中的神經元能夠非常厲害地並行處理。所以,新的神經網路演算法正在不斷地提升並行性。

在這個系列後續博文中,我們會使用 Scala 與 Akka,這兩種技術能夠更好地支援並行性。希望,你會像我一樣感到興奮!

總之,我們已經過了一遍生物神經元是什麼,它們如何工作,還有生物網路的不同術語。我們還比較了生物神經網路與人工神經網路的相似之處。最後,我們討論了人類大腦如何快速地做出複雜的決定。我下一篇博文中,我們會學習一個使用 Scala 編寫的神經網路示例,更深一步的理解人工神經網路。

譯文連結:http://www.codeceo.com/article/an-introduction-of-ann.html
英文原文:An Introduction to the Artificial Neural Network
翻譯作者:碼農網 – Wendy
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章