文章目標:神經網絡特別是深層神經網絡是黑盒的,通過閱讀本文可以讓大家了解神經網絡的基本實現方法、基本數學原理、實現流程等,同時建議初學者從基礎學起,查詢更多的資料豐富認知,有不明白的地方可以關注作者或留言。
人工神經網絡起源于上世紀40~50年代,它是在基于人腦的基本單元-神經元的建模與聯結,模擬人腦神經系統,形成一種具有學習、聯想、記憶和模式識別等智能信息處理的人工系統,稱為人工神經網絡。1969年出版的轟動一時的《Perceptrons》一書指出簡單的線性感知器的功能是有限的,它無非解決線性不可分的而分類問題,如簡單的線性感知器不能實現“異或”的邏輯關系,加上神經網絡就和黑夾子一樣,很多東西不透明,模型的解釋性不強,參數過多,容易出錯,容易過擬合,無法保證全局最優等問題,同時70年代集成電路和微電子技術的迅猛發展,使得傳統的Von Neumenn計算機進入全盛時期,基于邏輯符號處理方法的人工智能得到了迅速發展并取得了顯著的成果。
1982年,美國科學院發表了著名的Hopfield網絡模型的理論,不僅對ANN信息存儲和提取功能進行了非線性數學概括,提出了動力方程和學習方程,使得ANN的構造與學習有了理論指導。這一研究激發了ANN的研究熱情。
為了描述神經網絡,先從最簡單的神經網絡講起,這個神經網絡僅由一個“神經元”構成,“神經元”的圖示如下:
那么想得到預測或者分類的結果,就需要了解激活函數,激活函數的作用:能使得神經網絡的每層輸出結果變得非線性化,進行數值轉換,具有如下性質:
可微性:計算梯度時必須要有此性質;
非線性:保證數據非線性可分;
單調性:保證凸函數;
輸出值與輸入值相差不會很大:保證神經網絡訓練和調參高效;
常用的激活函數有很多,本文列出3個:Sigmoid、TANH、ReLU,數據經過激活函數進行轉換:
經過激活函數轉換后得到預測標簽y,對于有監督的分類問題來說,比如二分類label是0、1,那我們如何計算預測標簽y與實際值的差距呢,就是我們要講的幾個概念了。
損失函數:計算的是一個樣本的誤差;
代價函數:是整個訓練集上所有樣本誤差的平均;
目標函數:代價函數 + 正則化項;
通過目標函數我們就可以衡量訓練集的損失,這種損失我們如何減少到最小呢?就是神經網絡的優化器,常用優化器如下:
SGD(Stochastic gradient descent)
Adagrad
RMSprop
Adam
作用:更新和計算影響模型訓練和模型輸出的網絡參數,使其逼近或達到最優值,從而最小化(或最大化)損失函數E(x)
通過優化器的多次優化,我們就可以對模型進行訓練和模型優化了,本文是個簡單的Demo,后續會詳細介紹,有問題可以留言及關注;
-
神經網絡
+關注
關注
42文章
4812瀏覽量
103206 -
人工智能
+關注
關注
1805文章
48899瀏覽量
247921
發布評論請先 登錄
評論