1. 程式人生 > >傻瓜神經網絡入門指南

傻瓜神經網絡入門指南

對應關系 專家 圖形 就是 方法 神經網絡學習 再次 分鐘 本質

技術分享圖片

現在網絡上充斥著大量關於神經網絡的消息,但是,什麽是神經網絡?其本質到底是什麽?你是不是對這個熟悉又陌生的詞感到困惑?

用幾分鐘閱讀完這篇文章,我不能保證你能夠成為這個領域的專家,但可以保證的是,你已經入門了。

什麽是神經網絡?

想要透徹的了解神經網絡,我們首先要知道什麽是機器學習。為了更好的理解機器學習,我們首先談談人的學習,或者說什麽是“經典程序設計”。

在經典的程序設計中,作為一名開發人員,我需要了解所要解決的問題的各個方面,以及我要以什麽規則為基礎。

舉個例子來說,假設我要設計一個能夠區別正方形和圓形的程序。處理方法則是編寫一個可以檢測到角的程序,然後計算角的數量。如果程序能檢測到4個角,那麽圖形為正方形;如果角的個人為0,則為圓形。

那麽這個機器學習有何關系?一般來說,機器學習=從示例中學習。

在機器學習中,該如何區別正方形和圓形呢?這時候,我們就要設計一個學習系統,將許多形狀及類別不同的圖形作為輸入,然後我們希望機器能夠自己學習形狀及類別,然後識別出不同圖形的不同特性。

一旦機器學會了這些屬性,我們就可以輸入一個新的圖形(機器以前沒見過的圖形),然後機器對這些圖形進行分類。

技術分享圖片

什麽是神經網絡?

在神經網絡中,神經元是一個很奇特的名字,比較類似於函數。在數學和計算機領域,函數可以接受某個輸入,經過一系列的邏輯運算,輸出結果。

更重要的是,我們可以將神經元看做一個學習單元。

因此,我們需要理解什麽是學習單元,然後再了解神經網絡的基本構建塊,即神經元。

為了更好的理解,假設我們試圖理解博客文章中單詞數量與人們實際從博客中讀取單詞數量之間的關系。請記住一點,在機器學習領域,我們從示例中學習。

因此,我們用x表示機器收集到文章的單詞數量,用y表示人們實際讀到的單詞數,它們之間的關系用f表示。

然後,我只需要告訴機器(程序)我希望看到的關系(比如直線關系),機器再將會理解它所需要繪制的線。

技術分享圖片

我在這裏得到了什麽?

下次我想寫一篇包含x個單詞的文章時,機器可以根據對應關系f找到人們真正能閱讀到的單詞數y。

技術分享圖片

那麽,神經網絡到底是什麽?如果一個神經元是一個函數,那麽神經網絡就是一個函數網絡,也就是說,我們有很多個這樣的功能(比如學習單元),這些學習單元的輸入和輸出相互交織,相互之間也有反饋。

作為一名神經網絡的設計人員,我的主要工作就是:

1.如何建模輸入和輸出?例如,如果輸入是文本,我可以用什麽建模?數字?還是向量?

2.每個神經元有哪些功能?(它們是線性?還是指數?...)

3.神經網絡的架構是什麽?(即哪個函數的輸出是哪個函數的輸入?)

4.我可以用哪些通俗易懂的詞來描述我的網絡?

一旦我回答了以上這些問題,我就可以向網絡“展示”大量具有正確輸入和輸出的例子,神經網絡學習後,當我再次輸入一個新的輸入時,神經網路就會有個正確的輸出。

技術分享圖片

神經網絡的學習是件永無止境時,這個領域的知識呈爆炸性增長,每時每刻都會有新的知識和內容更新。


原文鏈接
本文為雲棲社區原創內容,未經允許不得轉載。

傻瓜神經網絡入門指南