手把手帶你入門人工神經網絡
本文轉載自微信公眾號「志斌的python筆記」,作者安可。轉載本文請聯系志斌的python筆記公眾號。
大家好,我是志斌~
今天來跟大家分享一些人工神經網絡基礎的知識~
深度學習(DL)在搜索技術,數據挖掘,機器學習,機器翻譯,自然語言處理,多媒體學習,語音,推薦和個性化技術,以及其他相關領域都取得了很多成果。使得人工智能相關技術取得了很大進步。要學習深度學習,那么首先要熟悉神經網絡(Neural Networks)的一些基本概念,人工神經網絡的基本思想是仿生學。
1.神經元模型
人工神經網絡是受到人類大腦結構的啟發而創造出來的。如圖
神經網絡算法正是模仿了上面的網絡結構。下面是一個人工神經網絡的構造圖。每一個圓代表著一個神經元,他們連接起來構成了一個網絡。
人類大腦神經元細胞的樹突接收來自外部的多個強度不同的刺激,并在神經元細胞體內進行處理,然后將其轉化為一個輸出結果。人工神經元也有類似的工作原理,如圖:
上圖中,x是神經元的輸入,相當于樹突接收的多個外部刺激。w是每個輸入對應的權重,它影響著每個輸入x的刺激強度;b表示閾值,用來影響預測結果;z是預測結果。
2.MP模型
01激活函數
What(是什么):激活函數(Activation functions)在神經元中,輸入的數據通過加權求和后,還被作用了一個函數,這個函數就是激活函數。
Why(為什么用):引入激活函數是為了增加神經網絡模型的非線性。沒有激活函數的每層都相當于矩陣相乘。引入了非線性因素,使得神經網絡可以任意逼近任何非線性函數,這樣神經網絡就可以應用到眾多的非線性模型中。
常見的激活函數:
①Sigmoid函數:
常被用作神經網絡的閾值函數,將變量映射到0,1之間,公式如下:
它的圖像如下:
②Tanh函數
Tanh()為雙曲正切由基本雙曲函數雙曲正弦和雙曲余弦推導而來。公式如下:
它的圖像如圖:
③ReLU函數
用于隱層神經元輸出。公式如下:
它的圖像如下:
02MP模型
參數解釋:將外部刺激模擬為;將每個樹突對輸入的刺激加工過程模擬為以某個權重()對輸入進行加權;將細胞核對輸入的處理模擬為一個帶有偏置的求和過程(),用激活函數()對求和的結果進行非線性變換得出y。
公式表示如下:
向量形式如下:
數學理解:設神經元的輸出y是輸入的函數;
公式解釋:對f(X1,X2,...,Xm)進行泰勒展開,后邊依次為二階三階偏導,相當于一階泰勒近似。
3.小結
- 人工神經網絡與人腦一樣,網絡越復雜它就越強大;層數越多,構造的神經網絡越復雜。
- 用來訓練的數據越多,就需要層數非常多的網絡來實現。
- 本文僅是自己對于人工神經網絡的見解,如有不妥之處請指出~