神經網絡:理解深度學習的基礎
在AI領域中,神經網絡是深度學習的地基,只有了解這個,我們才能繼續后續的學習。這篇文章,我們來了解下這個。
過去的兩周時間,我們用七篇文章學習了機器學習的常見算法,今天開始我們進入深度學習的介紹。
作為深度學習的第一篇文章,我們就來聊聊深度學習的基礎:神經網絡(Neural Networks),也叫人工神經網絡(Artificial Neural Networks,ANN)。
一、什么是神經網絡?
我們來舉個栗子,假如省里需要收集群眾的意見,需要村民把意見交給村長,村長整合之后再交給縣長,縣長整合后交給省長,大概流程如下圖所示:
把這個場景遷移到神經網絡上,每個村民的意見就是“特征”,每個中間層級(村長、縣長)對意見的整合就是該層級的“輸出”,最終層級(省長)收到的結果就是“最終輸出”。
神經網絡有三層結構,分別為輸入層、隱藏層和輸出層,如下圖所示:
隱藏層中,上一個隱藏層的輸出都是下一個隱藏層的輸入,每一層都在表達一種中間特征,目的是將特征做非線性高階變換。
我們看到,每層的節點都會和上下層級的所有節點進行溝通,我們把這種結構叫做全連接神經網絡模型。
二、神經網絡模型的結構
我們來看一下神經網絡結構圖:
圖中的元素有些雜亂,我們根據計算輸出的公式來逐一解釋一下,神經網絡第n+1的輸出公式為:
公式和圖中的各個元素解讀如下:
- 神經元:圖中的圓圈就是神經元,表示當前層級下計算節點的輸出,用a表示(x表示最初的輸入,h表示最終的輸出,本質上也都是a),我們把它類比為領導對收集的意見整合后的結果。
- 權重:圖中的連接線就是權重,表示信息的分量大小,用W表示,我們把它類比為不同員工意見的權重,比如核心員工的意見權重更大,需要著重考慮。
- 偏見:每個人在處理意見時,都可能會根據自己的理解增加主觀偏見的處理,叫做bias偏移,用b表示,比如有的村長會放大正面建議,有的村長會減少負面建議。
- 激活函數:激活函數用來對下層意見進行解讀和調整,把結果做非線性變化,以更好的擬合數據分布,再輸出到下一層,在公式中用?表示。比如領導除了收集下層意見之外,還會對意見做改進,吸取“精華”建議,去掉“糟粕”建議,再用自己的能力“升華”一下之后,才把結果輸出給上級領導。
三、神經網絡和深度學習的關系
我們來整理一下神經網絡和深度學習的概念:
- 神經網絡(Neural Networks)是一種模擬人腦神經網絡工作機制的計算模型,由大量的神經元(節點)按照一定的結構組織在一起,每個神經元與其他神經元相連,通過連接傳遞信息。
- 深度學習(Deep Learning)是神經網絡的一個分支,主要關注的是深度神經網絡。深度神經網絡是一種具有多個隱藏層的神經網絡,每個隱藏層都會對輸入數據進行一些變換,這些變換可以被看作是一種特征提取。
深度學習是神經網絡的一個重要發展方向,它利用了神經網絡的基本結構和原理,通過增加網絡的深度,提高了模型的表達能力和學習能力。
四、深度學習模型的目標
理解了神經網絡和深度學習的關系之后,我們就可以明確深度學習的目標:在給定一個任務的情況下,找到最優的權重(W)和偏見(bias),使得Loss(預測值和實際值的誤差)最低。
剛開始的時候,參數沒有優化,Loss誤差會比較大,神經網絡一般采用反向傳播(Back propagation),把Loss誤差從后向前傳遞,計算每一層參數的梯度,并使用隨機梯度下降(Stochastic Gradient Descent,SGD)等優化方法對參數進行優化,減小最后的誤差。
不斷重復這個過程,逐步優化參數,最終得到滿意的結果。
五、總結
本文介紹了神經網絡的基礎概念和結構,神經網絡是理解深度學習的基礎,非常重要,希望大家可以認真思考,好好理解一下。
下篇文章,我們會介紹在圖像處理中大放異彩的卷積神經網絡(CNN),敬請期待。
本文由 @AI小當家 原創發布于人人都是產品經理,未經許可,禁止轉載
題圖來自 Unsplash,基于 CC0 協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
- 目前還沒評論,等你發揮!