亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

《深度學(xué)習(xí)入門——基于Python的理論與實(shí)現(xiàn)》筆記心得

系統(tǒng) 2096 0

文章目錄

    • 第1章 Python入門
    • 第2章 感知機(jī)
    • 第3章 神經(jīng)網(wǎng)絡(luò)
    • 第4章 神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)
    • 第5章 誤差反向傳播
    • 第6章 與學(xué)習(xí)相關(guān)的技巧
        • 1. 各種參數(shù)更新的方法
        • 2. 權(quán)重的初始值
    • 第7章 卷積神經(jīng)網(wǎng)絡(luò)

原書鏈接(感謝作者,書是真的經(jīng)典,建議購買紙質(zhì)書):https://github.com/zjcao/books/blob/master/%E3%80%8A%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E5%85%A5%E9%97%A8%EF%BC%9A%E5%9F%BA%E4%BA%8EPython%E7%9A%84%E7%90%86%E8%AE%BA%E4%B8%8E%E5%AE%9E%E7%8E%B0%E3%80%8B_%E4%B8%AD%E6%96%87%E7%89%88.pdf

第1章 Python入門

主要介紹了Python的定義、安裝以及簡單語法,除此之外還介紹了一下Numpy包和Matplotlib包的用法,大多為Python相關(guān)的基礎(chǔ)知識。

第2章 感知機(jī)

與電流做類比,簡明扼要地介紹了感知機(jī)中輸入值如何被激活,以及如何用感知機(jī)來實(shí)現(xiàn):與門、與非門和或門。

引入權(quán)重和偏置的概念: w1和w2是控制輸入信號的重要性的參數(shù),而偏置是調(diào)
整神經(jīng)元被激活的容易程度(輸出信號為1的程度)的參數(shù)。

然后提到了感知機(jī)的局限性,感知機(jī)對于線性不可分(異或)問題是無法解決的,但是多層感知機(jī)可以解決。

最后還提到了,理論上: 2層感知機(jī)(嚴(yán)格地說是激活函數(shù)使用了非線性的sigmoid函數(shù)的感知機(jī),具
體請參照下一章)可以表示任意函數(shù)

第3章 神經(jīng)網(wǎng)絡(luò)

原文提到的值得記錄的一點(diǎn)是:

  • 激活函數(shù)是連接感知機(jī)和神經(jīng)網(wǎng)絡(luò)的橋梁。
  • 實(shí)際上,如果將激活函數(shù)從階躍函數(shù)換成其他函數(shù),就可以進(jìn)入神經(jīng)網(wǎng)絡(luò)的世界了。

接下來介紹了sigmoid函數(shù),階躍函數(shù)以及它們的實(shí)現(xiàn),并對比了兩者的不同:

  1. 首先注意到的是“平滑性”的不同。sigmoid函數(shù)是一條平滑的曲線,輸出隨著輸入發(fā)生連續(xù)性的變化。而階躍函數(shù)以0為界,輸出發(fā)生急劇性的變化。
  2. 另一個(gè)不同點(diǎn)是,相對于階躍函數(shù)只能返回0或1,sigmoid函數(shù)可以返回0.731 …、0.880 …等實(shí)數(shù)(這一點(diǎn)和剛才的平滑性有關(guān))。

以及相同:

  1. 當(dāng)輸入信號為重要信息時(shí),階躍函數(shù)和sigmoid函數(shù)都會輸出較大的值;當(dāng)輸入信號為不重要的信息時(shí),兩者都輸出較小的值。
  2. 還有一個(gè)共同點(diǎn)是,不管輸入信號有多小,或者有多大,輸出信號的值都在0到1之間。

然后還介紹了另一種激活函數(shù):ReLU函數(shù)。

3.3節(jié) 介紹了神經(jīng)網(wǎng)絡(luò)中運(yùn)算的數(shù)學(xué)基礎(chǔ)知識-矩陣運(yùn)算并介紹神經(jīng)網(wǎng)絡(luò)的內(nèi)積。

3.4節(jié) 3.5節(jié) 介紹3層神經(jīng)網(wǎng)絡(luò)的理論實(shí)現(xiàn)以及代碼實(shí)現(xiàn),并介紹了輸出層的恒等函數(shù)和softmax函數(shù)。其中: 一般地,回歸問題可以使用恒等函數(shù),二元分類問題可以使用 sigmoid函數(shù),多元分類問題可以使用 softmax函數(shù) 。最后提到輸出的神經(jīng)元數(shù)量需要根據(jù)待解決的問題來決定。對于分類問題,輸出層的神經(jīng)元數(shù)量一般設(shè)定為類別的數(shù)量。

問題類型 最后一層激活 損失函數(shù)
二元分類問題 sigmoid binary_crossentropy
多分類、單標(biāo)簽問題 softmax categorical_crossentropy
多分類、多標(biāo)簽問題 sigmoid binary_crossentropy
回歸到任意值 mse
回歸到0~1范圍內(nèi)的值 sigmoid mse或sigmoid

最后是舉一個(gè)例子,手寫數(shù)字識別的實(shí)現(xiàn),再次詮釋神經(jīng)網(wǎng)絡(luò)的神奇。

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

首先介紹數(shù)據(jù)驅(qū)動的觀點(diǎn),然后把數(shù)據(jù)分為 訓(xùn)練數(shù)據(jù) 測試數(shù)據(jù) ,然后介紹了兩種損失函數(shù), 均方誤差 交叉熵誤差
《深度學(xué)習(xí)入門——基于Python的理論與實(shí)現(xiàn)》筆記心得_第1張圖片
《深度學(xué)習(xí)入門——基于Python的理論與實(shí)現(xiàn)》筆記心得_第2張圖片
然后擴(kuò)展到mini-batch學(xué)習(xí):神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)也是從訓(xùn)練數(shù)據(jù)中選出一批數(shù)據(jù)(稱為mini-batch, 小批量),然后對每個(gè)mini-batch 進(jìn)行學(xué)習(xí)。比如,從60000 個(gè)訓(xùn)練數(shù)據(jù)中隨機(jī)
選擇100 筆,再用這100 筆數(shù)據(jù)進(jìn)行學(xué)習(xí)。這種學(xué)習(xí)方式稱為mini-batch 學(xué)習(xí)。

求所有訓(xùn)練數(shù)據(jù)的損失函數(shù)的總和,以交叉熵誤差為例。
《深度學(xué)習(xí)入門——基于Python的理論與實(shí)現(xiàn)》筆記心得_第3張圖片
然后介紹數(shù)值微分的求解,并計(jì)算梯度。

知識點(diǎn):

  1. epoch是一個(gè)單位。一個(gè)epoch表示學(xué)習(xí)中所有訓(xùn)練數(shù)據(jù)均被使用過
    一次時(shí)的更新次數(shù)。比如,對于10000 筆訓(xùn)練數(shù)據(jù),用大小為100
    筆數(shù)據(jù)的mini-batch 進(jìn)行學(xué)習(xí)時(shí),重復(fù)隨機(jī)梯度下降法100 次,所
    有的訓(xùn)練數(shù)據(jù)就都被“看過”了A。此時(shí),100次就是一個(gè)epoch。

第5章 誤差反向傳播

開始作者為了介紹計(jì)算圖,舉了買蘋果的栗子,然后講到反向傳播,比較重要的有兩點(diǎn),加法節(jié)點(diǎn)的反向傳播和乘法節(jié)點(diǎn)的反向傳播。
《深度學(xué)習(xí)入門——基于Python的理論與實(shí)現(xiàn)》筆記心得_第4張圖片
《深度學(xué)習(xí)入門——基于Python的理論與實(shí)現(xiàn)》筆記心得_第5張圖片
《深度學(xué)習(xí)入門——基于Python的理論與實(shí)現(xiàn)》筆記心得_第6張圖片
《深度學(xué)習(xí)入門——基于Python的理論與實(shí)現(xiàn)》筆記心得_第7張圖片
值得記錄的一點(diǎn),由于Softmax對于輸出的大小關(guān)系是不會有影響的,因此在推理(測試)的時(shí)候可以不用,但是訓(xùn)練的時(shí)候要用到,因?yàn)橐c交叉熵組合為Softmax-with-Loss層來計(jì)算反向傳播的誤差。

然后代碼實(shí)現(xiàn)誤差反向傳播,其中 要更好地理解程序,一定要跟著程序跑一遍

第6章 與學(xué)習(xí)相關(guān)的技巧

這里關(guān)于學(xué)習(xí)的技巧總結(jié)起來有這幾點(diǎn):

    1. 參數(shù)更新的方法
    1. 權(quán)重初始值的選取
    1. Batch Normalization(批歸一化)
    1. 正則化(權(quán)值衰減和dropout)
    1. 超參數(shù)的驗(yàn)證(驗(yàn)證集)

1. 各種參數(shù)更新的方法

《深度學(xué)習(xí)入門——基于Python的理論與實(shí)現(xiàn)》筆記心得_第8張圖片
這幾種優(yōu)化方法的實(shí)驗(yàn)對比:
《深度學(xué)習(xí)入門——基于Python的理論與實(shí)現(xiàn)》筆記心得_第9張圖片
結(jié)論:從圖6-9 的結(jié)果中可知,與SGD相比,其他3 種方法學(xué)習(xí)得更快,而且速度基本相同,仔細(xì)看的話,AdaGrad的學(xué)習(xí)進(jìn)行得稍微快一點(diǎn)。這個(gè)實(shí)驗(yàn)需要注意的地方是,實(shí)驗(yàn)結(jié)果會隨學(xué)習(xí)率等超參數(shù)、神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)(幾層深等)的不同而發(fā)生變化。不過,一般而言,與SGD相比,其他3 種方法可以學(xué)習(xí)得更快,有時(shí)最終的識別精度也更高。

2. 權(quán)重的初始值

  • 為什么不能將初始值設(shè)為0?

因?yàn)樵谡`差反向傳播法中,所有的權(quán)重值都會進(jìn)行相同的更新。比如,在2 層神經(jīng)網(wǎng)絡(luò)中,假設(shè)第1 層和第2 層的權(quán)重為0。這樣一來,正向傳播時(shí),因?yàn)檩斎雽拥臋?quán)重為0,所以第2 層的神經(jīng)元全部會被傳遞相同的值。第2 層的神經(jīng)元中全部輸入相同的值,這意味著反向傳播時(shí)第2 層的權(quán)重全部都會進(jìn)行相同的更新(回憶一下“乘法節(jié)點(diǎn)的反向傳播”6.2 權(quán)重的初始值 177的內(nèi)容)。因此,權(quán)重被更新為相同的值,并擁有了對稱的值(重復(fù)的值)。這使得神經(jīng)網(wǎng)絡(luò)擁有許多不同的權(quán)重的意義喪失了。為了防止“權(quán)重均一化”(嚴(yán)格地講,是為了瓦解權(quán)重的對稱結(jié)構(gòu)),必須隨機(jī)生成初始值。

  • 當(dāng)激活函數(shù)使用ReLU時(shí),權(quán)重初始值使用He初始值,當(dāng)激活函數(shù)為sigmoid 或tanh 等S 型曲線函數(shù)時(shí),初始值使用Xavier 初始值。
    《深度學(xué)習(xí)入門——基于Python的理論與實(shí)現(xiàn)》筆記心得_第10張圖片 《深度學(xué)習(xí)入門——基于Python的理論與實(shí)現(xiàn)》筆記心得_第11張圖片

歸一化和正則化這里就不說了,在提到一點(diǎn)就是,超參數(shù)的選擇,一般說參數(shù)指的權(quán)重和偏置是可以訓(xùn)練出來的,而所謂超參數(shù)是那些人為設(shè)定好的參數(shù),所謂的調(diào)參也就是指調(diào)超參數(shù)。這里需要注意,一般把數(shù)據(jù)集分為訓(xùn)練集、驗(yàn)證集和測試集。

我的理解,一般先用驗(yàn)證集來選取最佳的超參數(shù),有很多方法包括網(wǎng)格搜索、隨機(jī)采樣又或者貝葉斯最優(yōu)化。然后再用訓(xùn)練集來訓(xùn)練出參數(shù),最后用測試集測試效果。

書上提到,比較理想的情況下測試集只用一次。

第7章 卷積神經(jīng)網(wǎng)絡(luò)

其實(shí)筆者早在16年開始接觸深度學(xué)習(xí),最開始就是學(xué)習(xí)了一些簡單的機(jī)器學(xué)習(xí)知識(主要是NG老師的課和統(tǒng)計(jì)學(xué)習(xí)方法),就接觸CNN,一開始是真的蒙蔽,以至于覺得圖像好難好難,這次再看,有了很大的改觀,這里更多的是心得。

《深度學(xué)習(xí)入門——基于Python的理論與實(shí)現(xiàn)》筆記心得_第12張圖片
其實(shí)理解上上面章節(jié)的知識,理解卷積神經(jīng)網(wǎng)絡(luò)(CNN)真的是 特別簡單

  1. 卷積層是用來提取圖像的特征的;
  2. 全連接層就是神經(jīng)網(wǎng)絡(luò)的全連接版!!把卷積層收集的特征,再次激活,并分類;
  3. 至于為什么一般接兩層全連接層,請看感知機(jī)兩層的效果(當(dāng)然激活函數(shù)是非線性的)。當(dāng)然是兩層理論上就可以處理任何非線性問題了!
  4. 還有就是,為什么要有卷積層,我的理解是,有些圖像太大,而且會有多層,所以直接神經(jīng)網(wǎng)絡(luò)分類奇慢,所以需要卷積的方式提取特征,其實(shí)也是神經(jīng)網(wǎng)絡(luò)的思想,只不過可以理解為局部神經(jīng)網(wǎng)絡(luò),并可以保留空間的信息。

最后一章深度學(xué)習(xí)就不再記錄。

最后一點(diǎn)感悟,理論確實(shí)要與代碼結(jié)合,代碼得去跑和理解。

最后最后,代碼要與業(yè)務(wù)結(jié)合,工程上利用理論和代碼把業(yè)務(wù)處理好才是王道!!


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人影院在线观看kkk4444 | a久久| 久久综合丁香 | 青青青国产精品一区二区 | 中国国产aa一级毛片 | 亚洲精品成人一区二区www | 奇米影视第四色首页 | 狠狠躁夜夜躁人人爽天天不 | 日韩 欧美 中文 | 成人爱爱爱欧美日本视频 | 国产精品免费大片一区二区 | 亚洲国产精品综合久久20 | 久久视频精品36线视频在线观看 | 亚洲精品一 | 羞羞视频免费网站 | 一区二区免费播放 | 日日射视频 | 九九爱精品 | 国产精品情侣久久婷婷文字 | 爆操在线 | 欧美亚洲国产精品久久久久 | 夜色成人影院在线www | 国产精品永久免费视频 | 在线观看中文字幕国产 | 国产精品福利在线观看免费不卡 | 免费看欧美一级特黄a毛片 免费看欧美一级特黄α大片 | 久久综合一本 | 99热久久精里都是精品66 | 亚洲精品ccc | 成人亚洲视频在线观看 | 国产真实偷乱视频在线观看 | 好吊妞精品视频 | 爱爱免费观看高清视频在线播放 | 国产性tv国产精品 | 天天天天天天操 | 亚洲精品老司机综合影院 | 国产精品久久久久久久成人午夜 | 奇米77777| 一级女人毛片 | 国产精品亚洲综合久久 | 五月月色开心婷婷久久合 |