摘要: 如今網絡上充斥着大量關於神經網絡的消息,可是,什麼是神經網絡?其本質究竟是什麼?用幾分鐘閱讀完這篇文章,我不能保證你可以成爲這個領域的專家,不過你已經入門了。網絡
如今網絡上充斥着大量關於神經網絡的消息,可是,什麼是神經網絡?其本質究竟是什麼?你是否是對這個熟悉又陌生的詞感到困惑?架構
用幾分鐘閱讀完這篇文章,我不能保證你可以成爲這個領域的專家,但能夠保證的是,你已經入門了。機器學習
什麼是神經網絡?函數
想要透徹的瞭解神經網絡,咱們首先要知道什麼是機器學習。爲了更好的理解機器學習,咱們首先談談人的學習,或者說什麼是「經典程序設計」。學習
在經典的程序設計中,做爲一名開發人員,我須要瞭解所要解決的問題的各個方面,以及我要以什麼規則爲基礎。設計
舉個例子來講,假設我要設計一個可以區別正方形和圓形的程序。處理方法則是編寫一個能夠檢測到角的程序,而後計算角的數量。若是程序能檢測到4個角,那麼圖形爲正方形;若是角的我的爲0,則爲圓形。blog
那麼這個機器學習有何關係?通常來講,機器學習=從示例中學習。開發
在機器學習中,該如何區別正方形和圓形呢?這時候,咱們就要設計一個學習系統,將許多形狀及類別不一樣的圖形做爲輸入,而後咱們但願機器可以本身學習形狀及類別,而後識別出不一樣圖形的不一樣特性。get
一旦機器學會了這些屬性,咱們就能夠輸入一個新的圖形(機器之前沒見過的圖形),而後機器對這些圖形進行分類。博客
什麼是神經網絡?
在神經網絡中,神經元是一個很奇特的名字,比較相似於函數。在數學和計算機領域,函數能夠接受某個輸入,通過一系列的邏輯運算,輸出結果。
更重要的是,咱們能夠將神經元看作一個學習單元。
所以,咱們須要理解什麼是學習單元,而後再瞭解神經網絡的基本構建塊,即神經元。
爲了更好的理解,假設咱們試圖理解博客文章中單詞數量與人們實際從博客中讀取單詞數量之間的關係。請記住一點,在機器學習領域,咱們從示例中學習。
所以,咱們用x表示機器收集到文章的單詞數量,用y表示人們實際讀到的單詞數,它們之間的關係用f表示。
而後,我只須要告訴機器(程序)我但願看到的關係(好比直線關係),機器再將會理解它所須要繪製的線。
我在這裏獲得了什麼?
下次我想寫一篇包含x個單詞的文章時,機器能夠根據對應關係f找到人們真正能閱讀到的單詞數y。
那麼,神經網絡究竟是什麼?若是一個神經元是一個函數,那麼神經網絡就是一個函數網絡,也就是說,咱們有不少個這樣的功能(好比學習單元),這些學習單元的輸入和輸出相互交織,相互之間也有反饋。
做爲一名神經網絡的設計人員,個人主要工做就是:
1.如何建模輸入和輸出?例如,若是輸入是文本,我能夠用什麼建模?數字?仍是向量?
2.每一個神經元有哪些功能?(它們是線性?仍是指數?...)
3.神經網絡的架構是什麼?(即哪一個函數的輸出是哪一個函數的輸入?)
4.我能夠用哪些通俗易懂的詞來描述個人網絡?
一旦我回答了以上這些問題,我就能夠向網絡「展現」大量具備正確輸入和輸出的例子,神經網絡學習後,當我再次輸入一個新的輸入時,神經網路就會有個正確的輸出。
神經網絡的學習原理超出了本文索要描述的範圍,想要了解更多內容,請點擊這裏。另外你能夠去神經網絡專題,來更透徹的瞭解神經網絡。
神經網絡的學習是件永無止境時,這個領域的知識呈爆炸性增加,每時每刻都會有新的知識和內容更新。