深度學(xué)習(xí)數(shù)學(xué)基礎(chǔ)(二)之神經(jīng)網(wǎng)絡(luò)構(gòu)造

以下有部分公式,如果無(wú)法顯示,請(qǐng)?jiān)L問(wèn)原文鏈接

書(shū)接上文,繼續(xù)說(shuō)說(shuō)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。首先我們要回顧上一篇文章深度學(xué)習(xí)數(shù)學(xué)基礎(chǔ)(一)之神經(jīng)元構(gòu)造中講到的兩個(gè)公式。

  1. 加權(quán)輸入公式
    z=w_1x_1+w_2x_2+w_3x_3+...+b
  2. 激活公式
    y=a(z)

還有神經(jīng)元構(gòu)造圖:


我們只要將這樣的神經(jīng)元連接成網(wǎng)絡(luò)狀,那么就形成了神經(jīng)網(wǎng)絡(luò)。這里我們主要說(shuō)最基礎(chǔ)的階層型神經(jīng)網(wǎng)絡(luò),像卷積神經(jīng)網(wǎng)絡(luò),循環(huán)神經(jīng)網(wǎng)絡(luò)等需要學(xué)習(xí)完本系列后再進(jìn)行學(xué)習(xí)。

那么我們先來(lái)通俗的比喻下神經(jīng)網(wǎng)絡(luò)用來(lái)干什么的,我們以往在寫(xiě)程序的時(shí)候都是求結(jié)果,而神經(jīng)網(wǎng)絡(luò)求得卻不是結(jié)果,而是公式或規(guī)則(比喻),其實(shí)神經(jīng)網(wǎng)絡(luò)就是通過(guò)大量的計(jì)算來(lái)不斷的減小誤差來(lái)求距離正解最相似的公式的權(quán)重和偏置等(統(tǒng)稱(chēng)參數(shù))。所以感覺(jué)神經(jīng)網(wǎng)絡(luò)高大上的朋友們不要有感覺(jué)自己學(xué)不會(huì)的想法,其實(shí)神經(jīng)網(wǎng)絡(luò)并不難,就是一個(gè)又一個(gè)的公式組合起來(lái)而已,不同的算法其實(shí)就是各個(gè)大佬用數(shù)學(xué)建模,我們不看那么遠(yuǎn),先跟我一起把神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)入門(mén)一下吧。

1 神經(jīng)網(wǎng)絡(luò)

下面就是一個(gè)階層型的神經(jīng)網(wǎng)絡(luò)的圖片,按照層對(duì)該神經(jīng)網(wǎng)絡(luò)劃分,可分為輸入層,隱藏層(也稱(chēng)為中間層),輸出層

2 神經(jīng)網(wǎng)絡(luò)層級(jí)的職責(zé)

下面我們說(shuō)說(shuō)神經(jīng)網(wǎng)絡(luò)中各層的職責(zé):

  1. 輸入層:該層負(fù)責(zé)讀取神經(jīng)網(wǎng)絡(luò)需要的數(shù)據(jù),這個(gè)層的神經(jīng)元沒(méi)有輸入監(jiān)聽(tīng),他們的輸出是將讀取的數(shù)據(jù)原樣輸出。輸入==輸出
  2. 隱藏層:該層神經(jīng)元?jiǎng)t負(fù)責(zé)上面我們所回顧的兩個(gè)公式的計(jì)算操作,在神經(jīng)網(wǎng)絡(luò)中,這層是實(shí)際處理信息的部分。計(jì)算z和y
  3. 輸出層:該層與隱藏層一樣,執(zhí)行兩個(gè)公式的計(jì)算,并且顯示神經(jīng)網(wǎng)絡(luò)的計(jì)算結(jié)果,也就是最終輸出。計(jì)算z和y并顯示結(jié)果

下圖是一個(gè)最簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)示例,用于我們來(lái)理解神經(jīng)網(wǎng)絡(luò)的本質(zhì)。這個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)的特征是,前一層的神經(jīng)單與下一層的所有神經(jīng)元都有箭頭連接,這樣的層構(gòu)造稱(chēng)為全連接層(fully connected layer)

輸入層:輸入與輸出是相同的,如果一定要引入激活函數(shù),那激活函數(shù)就是恒等函數(shù)a(z)=z,該示例中輸入層有12個(gè)神經(jīng)元,對(duì)應(yīng)圖片的12個(gè)像素?cái)?shù)據(jù)

隱藏層:輸入是變量,根據(jù)對(duì)應(yīng)的權(quán)重和偏置來(lái)計(jì)算z,再經(jīng)由激活函數(shù)計(jì)算,輸出值傳遞到下一層

輸出層:該層有兩個(gè)神經(jīng)元,分別對(duì)應(yīng)著要識(shí)別的數(shù)字0和1,兩個(gè)神經(jīng)元分別是對(duì)兩個(gè)輸出值較為興奮的神經(jīng)元,通過(guò)sigmoid我們可以拿到兩個(gè)神經(jīng)元對(duì)數(shù)據(jù)的興奮度,通過(guò)對(duì)連個(gè)興奮度做比較,我們就可以來(lái)猜這個(gè)數(shù)據(jù)到底是什么了!

3 神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)

3.1 示例說(shuō)明

我們還使用上方的示例來(lái)進(jìn)行說(shuō)明

建立一個(gè)神經(jīng)網(wǎng)絡(luò),用來(lái)識(shí)別通過(guò) 4×3 像素的圖像讀取的手寫(xiě)數(shù)字 0 和 1。學(xué)習(xí)數(shù)據(jù)是 64 張圖像,其中像素是單色二值。

模式識(shí)別的難點(diǎn)在于答案不標(biāo)準(zhǔn),這個(gè)例題也體現(xiàn)了這樣的特性。即使是區(qū)區(qū)一個(gè) 4×3 像素的二值圖像,所讀入的手寫(xiě)數(shù)字0 和 1 的像素模式也是多種多樣的。例如,上方圖像可以認(rèn)為是讀入了手寫(xiě)數(shù)字 0。對(duì)于這樣的數(shù)字 0,即使人能設(shè)法識(shí)別出來(lái),讓計(jì)算機(jī)來(lái)判斷也十分困難。下面讓我們使用一個(gè)小故事來(lái)了解下如何使用神經(jīng)網(wǎng)絡(luò)來(lái)解決這個(gè)問(wèn)題。

假設(shè)有個(gè)神經(jīng)網(wǎng)絡(luò),輸入層12個(gè)神經(jīng)元小弟,隱藏層住著3個(gè)神經(jīng)元中層干部,頂層住著2個(gè)神經(jīng)元大哥,

底層輸入層的12個(gè)小弟接到任務(wù)要監(jiān)控圖片的動(dòng)靜,所以12個(gè)輸入層小弟分別住在4x3像素的圖像的各個(gè)像素上對(duì)圖片進(jìn)行監(jiān)控,如果像素信號(hào)是白色0,小弟就睡覺(jué)不管,如果像素是黑色1,小弟就興奮向上層通風(fēng)報(bào)信,將他們的信息傳遞個(gè)他們的領(lǐng)導(dǎo)A、B、C

住在隱藏層的3個(gè)中層干部ABC分別重視下面三個(gè)地方,從下面的小弟那里拿到信息,然后自身對(duì)信息的思考(計(jì)算z和y),看看有沒(méi)有需要自己注意的地方,把自己的想法跟頂層的兩個(gè)大哥匯報(bào)

住在最頂層輸出層的大哥拿到下面三個(gè)干部遞交的信息,與三個(gè)干部一樣,也進(jìn)行了思考作出了對(duì)應(yīng)的策略,然后兩個(gè)大哥看了下各自的策略,選出更好的那一個(gè)(興奮度高的)作為了這次行動(dòng)的策略。

讓我們?cè)賮?lái)回顧下上面說(shuō)到的隱藏層,3個(gè)中層干部分別重視三個(gè)模式,所以3個(gè)中層干部對(duì)12個(gè)手下各有偏愛(ài),比如A干部就看重小弟4和7,B干部看重小弟5和8,C干部看中小弟6和9。


所以這幾個(gè)干部有點(diǎn)偏心,著重看了直接小弟給的情報(bào),所以他們之間傳遞的興奮度的管道也變粗了。


而住在頂層的大哥對(duì)中層的干部也各有偏愛(ài),比如大哥0喜歡干部A和C,大哥1喜歡干部B


那么,我們讀入手寫(xiě)數(shù)字0,下面的小弟4、7、6、9看到這個(gè)圖就特別興奮了


興奮的小弟4和7向干部A傳遞消息,興奮的小弟6和9向干部C傳遞了消息,沒(méi)人向干部B傳遞消息。


干部A和C也接到了小弟傳來(lái)的信息也興奮了起來(lái),于是干部A和C也向上層向大哥0發(fā)送信息,而干部B由于沒(méi)有掌握到信息,就沒(méi)有向大哥1發(fā)送消息。


由于大哥0是興奮地,而大哥1是冷靜的,根據(jù)之前說(shuō)的大哥0的興奮度比大哥1高,所以就判斷這個(gè)圖片是0

3.2 偏置

在上面的示例中,下層的興奮度會(huì)或多或少的向上層傳遞,但是除了干部看中小弟和大哥看中干部的關(guān)系而傳送的興奮度外,還遺漏了一些信息,這個(gè)信息就是”噪音“,如果這些噪聲迷住了每個(gè)人的腦子,就會(huì)導(dǎo)致無(wú)法正確的傳遞興奮度信息,隱藏我們需要減少噪音的功能,也就是我們所說(shuō)的偏置,將偏置放在每個(gè)人(神經(jīng)元)的心中,用來(lái)忽略少量的噪音,這個(gè)心中的偏置,就是各個(gè)人固有的個(gè)性。

3.3 實(shí)例解釋

在上面的示例中,我們理解了神經(jīng)網(wǎng)絡(luò)識(shí)別數(shù)字的的模式識(shí)別,而我們應(yīng)該看到了每個(gè)人之間的關(guān)系(就是權(quán)重)和每個(gè)人的個(gè)性(偏置)合作推導(dǎo)出了答案,也就是神經(jīng)網(wǎng)絡(luò)整體的判斷。所以我們應(yīng)該明白,我們最終從神經(jīng)網(wǎng)絡(luò)中獲取的應(yīng)該是關(guān)系和個(gè)性,也就是權(quán)重偏置,也就是我們所說(shuō)的模型的參數(shù)。

4 神經(jīng)網(wǎng)絡(luò)的信息說(shuō)明

上面我們通過(guò)實(shí)例考察了大哥帶著小弟來(lái)識(shí)別數(shù)字0、1的結(jié)構(gòu),只要將這個(gè)組織替換為神經(jīng)網(wǎng)絡(luò),我們就可以理解神經(jīng)元進(jìn)模式識(shí)別的結(jié)構(gòu)。

4.1 權(quán)重與偏置

觀看下面的兩張圖,我們就會(huì)發(fā)現(xiàn),輸入層的12個(gè)小弟其實(shí)就是輸入層的12個(gè)神經(jīng)元,隱藏層的3個(gè)干部其實(shí)就是隱藏層的3個(gè)神經(jīng)元,而頂層的兩個(gè)大哥就是輸出層的兩個(gè)神經(jīng)元。



、

接下來(lái),我們將層級(jí)中領(lǐng)導(dǎo)對(duì)下級(jí)的看重的關(guān)系看做神經(jīng)元的權(quán)重,干部A看重小弟4和7,這種關(guān)系可以看做是輸入層的神經(jīng)元4和7指向隱藏層的神經(jīng)元A的箭頭的權(quán)重較大,隱藏層與輸出層的關(guān)系類(lèi)似,下面我們將這種權(quán)重關(guān)系通過(guò)圖片標(biāo)記出來(lái)。通過(guò)這樣的權(quán)重關(guān)系,最后輸出層神經(jīng)元0的輸出值較大,所以最終輸出0

在像上圖這種前一層與后一層全連接的情況下,輸入圖像0時(shí),原本不希望隱藏層B神經(jīng)元以及輸出層1神經(jīng)元也有信號(hào)傳遞,所以我們需要禁止掉這種信號(hào),使信號(hào)更清晰,這種功能就是我們說(shuō)的偏置

4.2 模型合理性

上面我們將小故事翻譯成了神經(jīng)網(wǎng)絡(luò),但是也不能保證一定能求出權(quán)重和偏置。如果想實(shí)際建立基于上面這個(gè)想法的神經(jīng)網(wǎng)絡(luò),能充分解釋所給的數(shù)據(jù)就能驗(yàn)證它的合理性,這點(diǎn)需要一定的數(shù)學(xué)計(jì)算,需要將我們的語(yǔ)言描述轉(zhuǎn)化為數(shù)據(jù)的式子,我們會(huì)在下篇文章開(kāi)始講一些會(huì)用到的數(shù)學(xué)。

4.3 網(wǎng)絡(luò)自學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)

本文開(kāi)篇我們說(shuō)神經(jīng)網(wǎng)絡(luò)是通過(guò)大量計(jì)算來(lái)算出權(quán)重和偏置等參數(shù),而在上一個(gè)示例中,我們事先假定了權(quán)重的大?。俣ㄖ袑訉?duì)小弟的看看著關(guān)系),那么這個(gè)權(quán)重的大小應(yīng)該如何確定呢?神經(jīng)網(wǎng)絡(luò)中比較重要的一點(diǎn)就是利用網(wǎng)絡(luò)自學(xué)習(xí)算法來(lái)確定權(quán)重大小

神經(jīng)網(wǎng)絡(luò)的參數(shù)確定方法分為有監(jiān)督學(xué)習(xí)無(wú)監(jiān)督學(xué)習(xí),在這個(gè)系列里我們只介紹有監(jiān)督學(xué)習(xí)。

4.3.1 有監(jiān)督學(xué)習(xí)

有監(jiān)督學(xué)習(xí):為了確定神經(jīng)網(wǎng)絡(luò)的權(quán)重和偏置,事先給予數(shù)據(jù),這些數(shù)據(jù)成為學(xué)習(xí)數(shù)據(jù)訓(xùn)練數(shù)據(jù)。根據(jù)給定的數(shù)據(jù)確定權(quán)重和偏置,稱(chēng)為學(xué)習(xí)、訓(xùn)練。

4.3.2 最優(yōu)解

神經(jīng)網(wǎng)絡(luò)是如何學(xué)習(xí)的呢?

神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的思路:計(jì)算神經(jīng)網(wǎng)絡(luò)得出的預(yù)測(cè)值與正解的誤差,確定使誤差總和達(dá)到最小的權(quán)重和偏置,這在數(shù)學(xué)上成為模型的最優(yōu)化

4.3.3 代價(jià)函數(shù)

關(guān)于預(yù)測(cè)值和正解的誤差總和,有各種各樣的定義。這個(gè)誤差的總和稱(chēng)為代價(jià)函數(shù),符號(hào)表示是{C}_{T}(T是Total的首字母)

我們這個(gè)系列中使用最經(jīng)典的方式平方誤差和,利用平方誤差確定參數(shù)的方法在數(shù)學(xué)上成為最小二乘法,它在統(tǒng)計(jì)學(xué)中是回歸分析的常規(guī)手段。

平方誤差和:通過(guò)計(jì)算預(yù)測(cè)值與正解的誤差的平方再求和

下一篇開(kāi)始,我們就要正式的進(jìn)入數(shù)學(xué)的領(lǐng)域,興奮不興奮!

評(píng)論請(qǐng)轉(zhuǎn)至原文鏈接

本文來(lái)自納蘭小筑,本文不予回復(fù),評(píng)論請(qǐng)追溯原文

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容