一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

深度學(xué)習(xí)初學(xué)者一定不能錯(cuò)過(guò),從零開始建立神經(jīng)網(wǎng)絡(luò)

 r_r_nothrus 2018-05-19

動(dòng)機(jī):為了更好的理解深度學(xué)習(xí),作者決定從零開始建立一個(gè)神經(jīng)網(wǎng)絡(luò),而不是像TensorFlow這樣的深度學(xué)習(xí)庫(kù)。相信理解神經(jīng)網(wǎng)絡(luò)的內(nèi)部工作對(duì)于任何有抱負(fù)的數(shù)據(jù)科學(xué)家來(lái)說(shuō)都是很重要的。

深度學(xué)習(xí)初學(xué)者一定不能錯(cuò)過(guò),從零開始建立神經(jīng)網(wǎng)絡(luò)

什么是神經(jīng)網(wǎng)絡(luò)?

大多數(shù)介紹神經(jīng)網(wǎng)絡(luò)的文章在描述它們時(shí)會(huì)涉及到大腦類比,在不深入研究大腦類比的情況下,將神經(jīng)網(wǎng)絡(luò)簡(jiǎn)單描述為將固定數(shù)值映射到期望輸出的數(shù)學(xué)函數(shù)理解起來(lái)更容易。

神經(jīng)網(wǎng)絡(luò)由以下部分組成:

  • 輸入層,x

  • 任意數(shù)量的隱藏層

  • 輸出層,?

  • 每層W和B之間的一組權(quán)重和偏差

為每個(gè)隱藏層選擇激活函數(shù)σ。在本教程中,我們將使用Sigmoid激活函數(shù)。

下圖顯示了2層神經(jīng)網(wǎng)絡(luò)的體系結(jié)構(gòu)(請(qǐng)注意,在計(jì)算神經(jīng)網(wǎng)絡(luò)中的層數(shù)時(shí)通常會(huì)排除輸入層)

深度學(xué)習(xí)初學(xué)者一定不能錯(cuò)過(guò),從零開始建立神經(jīng)網(wǎng)絡(luò)

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

用Python創(chuàng)建一個(gè)神經(jīng)網(wǎng)絡(luò)類很容易。

神經(jīng)網(wǎng)絡(luò)訓(xùn)練

簡(jiǎn)單的2層神經(jīng)網(wǎng)絡(luò)的輸出是:

深度學(xué)習(xí)初學(xué)者一定不能錯(cuò)過(guò),從零開始建立神經(jīng)網(wǎng)絡(luò)

您可能會(huì)注意到,在上面的等式中,權(quán)重W和偏差b是影響?的唯一變量。

當(dāng)然,權(quán)重和偏差的正確度決定了預(yù)測(cè)的準(zhǔn)確性。從輸入數(shù)據(jù)中微調(diào)權(quán)重和偏差的過(guò)程稱為神經(jīng)網(wǎng)絡(luò)訓(xùn)練。

訓(xùn)練過(guò)程的每次迭代包含以下步驟:

計(jì)算預(yù)測(cè)輸出?,稱為前饋

更新權(quán)重和偏差,稱為反向傳播

下圖為過(guò)程順序圖。

深度學(xué)習(xí)初學(xué)者一定不能錯(cuò)過(guò),從零開始建立神經(jīng)網(wǎng)絡(luò)

前饋

正如我們?cè)谏厦娴捻樞驁D中看到的,前饋只是一個(gè)簡(jiǎn)單的演算,對(duì)于基本的2層神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)的輸出是:

深度學(xué)習(xí)初學(xué)者一定不能錯(cuò)過(guò),從零開始建立神經(jīng)網(wǎng)絡(luò)

可以在python代碼中添加一個(gè)前饋函數(shù)來(lái)做到這一點(diǎn)。簡(jiǎn)單起見,使假設(shè)偏差為0。

然而,仍然需要一種方法來(lái)評(píng)估我們預(yù)測(cè)達(dá)到什么程度,損失函數(shù)可以做到這一點(diǎn)。

損失函數(shù)

損失函數(shù)有很多種,問(wèn)題的性質(zhì)決定該選擇哪種損失函數(shù)。在本教程中,作者將使用一個(gè)簡(jiǎn)單的sqaures偏差作為損失函數(shù)。

深度學(xué)習(xí)初學(xué)者一定不能錯(cuò)過(guò),從零開始建立神經(jīng)網(wǎng)絡(luò)

也就是說(shuō),平方和誤差僅僅是每個(gè)預(yù)測(cè)值和實(shí)際值之差的平均值。因?yàn)椴钪当黄椒剑砸獪y(cè)量差值的絕對(duì)值。

作者的訓(xùn)練目標(biāo)是找到最佳的權(quán)重和偏差集合,以最大限度地減少損失函數(shù)。

反向傳播

現(xiàn)在作者已經(jīng)測(cè)量了預(yù)測(cè)誤差,需要找到一種方法來(lái)傳播誤差,并更新權(quán)重和偏差。

為了適當(dāng)?shù)恼{(diào)整權(quán)重和偏差,需要知道損失函數(shù)關(guān)于權(quán)重和偏差的導(dǎo)數(shù)。

可以從演算中得知,函數(shù)的導(dǎo)數(shù)就是函數(shù)的斜率。

深度學(xué)習(xí)初學(xué)者一定不能錯(cuò)過(guò),從零開始建立神經(jīng)網(wǎng)絡(luò)

梯度下降算法

如果有導(dǎo)數(shù),可以簡(jiǎn)單地通過(guò)增加/減少更新權(quán)重和偏差(參見上圖)。這被稱為梯度下降。

然而,我們不能直接計(jì)算損失函數(shù)的權(quán)重和偏差,因?yàn)閾p失函數(shù)的方程不包含權(quán)重和偏差。因此,我們需要鏈?zhǔn)揭?guī)則來(lái)計(jì)算它。

深度學(xué)習(xí)初學(xué)者一定不能錯(cuò)過(guò),從零開始建立神經(jīng)網(wǎng)絡(luò)

鏈?zhǔn)揭?guī)則用于計(jì)算損失函數(shù)相對(duì)于權(quán)重的導(dǎo)數(shù)。簡(jiǎn)單起見,只顯示了假設(shè)1層神經(jīng)網(wǎng)絡(luò)的偏導(dǎo)數(shù)

得到相對(duì)于權(quán)重的損失函數(shù)的導(dǎo)數(shù)(斜率),以便適當(dāng)調(diào)整權(quán)重。

現(xiàn)在,將反向傳播函數(shù)添加到Python代碼中。

為了深入理解演算的應(yīng)用和反向傳播中的鏈?zhǔn)揭?guī)則,作者強(qiáng)烈推薦3Blue1Brown撰寫教程。

結(jié)合在一起

現(xiàn)在已經(jīng)有了完整的python代碼來(lái)做前饋和反向傳播,將神經(jīng)網(wǎng)絡(luò)應(yīng)用于一個(gè)例子上,來(lái)看看它的完成度。

深度學(xué)習(xí)初學(xué)者一定不能錯(cuò)過(guò),從零開始建立神經(jīng)網(wǎng)絡(luò)

神經(jīng)網(wǎng)絡(luò)應(yīng)該學(xué)習(xí)理想的權(quán)重集合來(lái)表示這個(gè)函數(shù)。注意,通過(guò)檢查來(lái)計(jì)算權(quán)重并不是不重要的。

來(lái)看看訓(xùn)練神經(jīng)網(wǎng)絡(luò)進(jìn)行1500次迭代后會(huì)發(fā)生什么。查看下面每個(gè)迭代圖的損失,可以清楚地看到損耗單調(diào)遞減到最小。這與之前的梯度下降算法一致。

深度學(xué)習(xí)初學(xué)者一定不能錯(cuò)過(guò),從零開始建立神經(jīng)網(wǎng)絡(luò)

1500次迭代后神經(jīng)網(wǎng)絡(luò)的最終預(yù)測(cè)(輸出)。

深度學(xué)習(xí)初學(xué)者一定不能錯(cuò)過(guò),從零開始建立神經(jīng)網(wǎng)絡(luò)

從上圖可以看出前饋和后向傳播算法成功地訓(xùn)練了神經(jīng)網(wǎng)絡(luò),并且預(yù)測(cè)與實(shí)際值相差不大。

請(qǐng)注意,預(yù)測(cè)和實(shí)際值之間可以存在細(xì)微的差異。因?yàn)樗梢苑乐惯^(guò)擬合,使神經(jīng)網(wǎng)絡(luò)更好地歸納看不見的數(shù)據(jù)。

下一步是什么?

幸運(yùn)的是,關(guān)于神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)還有很多需要了解的內(nèi)容。例如:

除了Sigmoid函數(shù),還可以使用哪些激活函數(shù)?

訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)的學(xué)習(xí)率

利用卷積進(jìn)行圖像分類任務(wù)

最后的想法

作者從頭開始學(xué)習(xí)了神經(jīng)網(wǎng)絡(luò)。

盡管TensorFlow和Keras等深度學(xué)習(xí)庫(kù)可以在不完全了解神經(jīng)網(wǎng)絡(luò)的內(nèi)部工作的情況下輕松構(gòu)建深度網(wǎng)絡(luò),但有抱負(fù)的數(shù)據(jù)科學(xué)家可以更深入地了解神經(jīng)網(wǎng)絡(luò)。

這次練習(xí)對(duì)作者來(lái)說(shuō)收獲巨大,希望它對(duì)您也有用!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    欧美一区二区日韩一区二区| 久久大香蕉一区二区三区| 国产精品涩涩成人一区二区三区| 在线九月婷婷丁香伊人| 麻豆亚州无矿码专区视频| 国产午夜福利片在线观看| 日本人妻免费一区二区三区| 日韩国产亚洲欧美另类| 欧美91精品国产自产| 人妻偷人精品一区二区三区不卡| 国产毛片对白精品看片| 国内欲色一区二区三区| 欧美二区视频在线观看| 欧美中文日韩一区久久| 国产在线一区二区免费| 欧美乱码精品一区二区三| 91国自产精品中文字幕亚洲| 大伊香蕉一区二区三区| 91亚洲精品综合久久| 四季精品人妻av一区二区三区 | 日韩一级一片内射视频4k| 亚洲中文字幕亲近伦片| 国产欧美日韩综合精品二区| 欧美不卡高清一区二区三区| 日韩在线视频精品视频| 午夜精品麻豆视频91| 亚洲综合伊人五月天中文| 国产乱久久亚洲国产精品| 国产色偷丝袜麻豆亚洲| 中文字幕不卡欧美在线| 免费在线观看欧美喷水黄片| 国产欧洲亚洲日产一区二区| 男人操女人下面国产剧情| 国产亚洲精品久久久优势| 麻豆在线观看一区二区| 亚洲欧美黑人一区二区| 黄色国产一区二区三区| 日韩欧美中文字幕人妻| 国产一级性生活录像片| 国产高清三级视频在线观看| 尹人大香蕉一级片免费看|