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