Python深度學(xué)習(xí):基于PyTorch 第2版
定 價(jià):109 元
叢書名:智能系統(tǒng)與技術(shù)叢書
這是一本能指導(dǎo)讀者快速掌握PyTorch和深度學(xué)習(xí)的著作,從PyTorch的原理到應(yīng)用,從深度學(xué)習(xí)到強(qiáng)化學(xué)習(xí),本書提供了全棧解決方案。第1版上市后銷量和口碑俱佳,是深度學(xué)習(xí)領(lǐng)域的暢銷書,被譽(yù)為PyTorch領(lǐng)域的標(biāo)準(zhǔn)著作。第2版在第1版的基礎(chǔ)上,去蕪存菁,與時(shí)具進(jìn),根據(jù)PyTorch新版本全面升級,技術(shù)性、實(shí)戰(zhàn)性、針對性、豐富性、易讀性均得到了進(jìn)一步提升,必定能幫助讀者更輕松、更高效地進(jìn)入深度學(xué)習(xí)的世界。全書一共19章,在結(jié)構(gòu)上分為三大部分:第1部分(第1~4章) PyTorch基礎(chǔ)首先有針對性地講解了Python和PyTorch的基石NumPy中的關(guān)鍵知識,然后詳細(xì)講解了PyTorch的基礎(chǔ)知識、神經(jīng)網(wǎng)絡(luò)工具箱和數(shù)據(jù)處理工具箱等內(nèi)容,幫助讀者快速了解和掌握PyTorch。第二部分(第5~10章) 深度學(xué)習(xí)基礎(chǔ)依次講解了機(jī)器學(xué)習(xí)、視覺處理、自然語言處理、注意力機(jī)制、目標(biāo)檢測、語義分割、生成式深度學(xué)習(xí)等機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的核心技術(shù)的原理和使用。第三部分(第11~17章) 深度學(xué)習(xí)實(shí)踐通過實(shí)戰(zhàn)案例的方式,詳細(xì)講解了PyTorch在人臉檢測和識別、遷移學(xué)習(xí)、中英文互譯、圖像分類、語義分割、生成式網(wǎng)絡(luò)、對抗攻擊等領(lǐng)域的應(yīng)用和解決方案。第四部分(第18-19章) 強(qiáng)化學(xué)習(xí)重點(diǎn)介紹了強(qiáng)化學(xué)習(xí)和深度強(qiáng)化學(xué)習(xí)的基礎(chǔ)理論、常用算法及相關(guān)實(shí)例。更為重要的是,為了讓本書通俗易懂,在內(nèi)容安排和寫作方式上也頗花了一番心思。內(nèi)容選擇上,廣泛涉獵、重點(diǎn)突出、注重實(shí)戰(zhàn);內(nèi)容安排上,實(shí)例切入、由淺入深、循序漸進(jìn);表達(dá)形式上,深度抽象、化繁為簡、用圖說話。
(1)作者經(jīng)驗(yàn)豐富:核心作者在大數(shù)據(jù)和人工智能領(lǐng)域有著超過20年的工作經(jīng)驗(yàn),實(shí)戰(zhàn)經(jīng)驗(yàn)非常豐富,其他幾位作者也在大數(shù)據(jù)和人工智能領(lǐng)域頗有造詣。(2)暢銷書全面升級:第1版銷量和口碑俱佳,是深度學(xué)習(xí)領(lǐng)域的暢銷書,第2版根據(jù)PyTorch新版本升級,技術(shù)性、實(shí)戰(zhàn)性、針對性、易讀性進(jìn)一步提升。(3)PyTorch領(lǐng)域事實(shí)標(biāo)準(zhǔn):因?yàn)閮?nèi)容扎實(shí)、可讀性強(qiáng),第1版被讀者譽(yù)為PyTorch領(lǐng)域的標(biāo)準(zhǔn)著作,是讀者的首選。(4)深度學(xué)習(xí)雙子星:本書是《Python深度學(xué)習(xí):基于TensorFlow(第2版)》的姊妹篇,這兩本書均是深度學(xué)習(xí)領(lǐng)域的暢銷書。(5)精心謀劃、通俗易懂:本書在內(nèi)容的選擇、安排和表現(xiàn)形式上精心謀劃,目的是確保高質(zhì)量內(nèi)容的同時(shí),讓深度學(xué)習(xí)的學(xué)習(xí)門檻大大降低。
前 言第2版說明自本書第1版第1次于2019年10月印刷至今,已累計(jì)印刷了9次。在這3年的時(shí)間里,深度學(xué)習(xí)的發(fā)展可謂日新月異,其應(yīng)用范圍得到進(jìn)一步拓展,同時(shí)出現(xiàn)了很多新的框架、新的方向。在眾多創(chuàng)新中,注意力機(jī)制是一個(gè)典型代表。注意力機(jī)制,尤其是以Transformer為基礎(chǔ)的一些模型,在自然語言處理(NLP)領(lǐng)域取得了目前最好的效果(如SOTA),近幾年研究人員把這種模型(如ViT模型、Swin-T模型等)應(yīng)用到計(jì)算機(jī)視覺領(lǐng)域,也取得了巨大成功。為此,本書第2版增強(qiáng)了注意力機(jī)制的相關(guān)內(nèi)容,把注意力機(jī)制單獨(dú)列為一章(即第8章),同時(shí)增加了注意力機(jī)制的應(yīng)用實(shí)例,詳細(xì)內(nèi)容請參考第14章。人工智能廣泛應(yīng)用于圖像、視頻、語音等諸多領(lǐng)域,比如人工智能在目標(biāo)檢測、語義分割等任務(wù)中的應(yīng)用日益受到大家的關(guān)注,所以在第2版中我們增加了這方面的內(nèi)容,具體可參考第9章和第15章。除了這些新增內(nèi)容外,第2版對很多原有內(nèi)容進(jìn)行了補(bǔ)充和完善,如PyTorch基礎(chǔ)、優(yōu)化算法、視覺處理基礎(chǔ)、自然語言處理基礎(chǔ)等內(nèi)容。讀者對象對機(jī)器學(xué)習(xí)、深度學(xué)習(xí)感興趣的高校學(xué)生及工程師。對Python、PyTorch、TensorFlow等感興趣并希望進(jìn)一步提升水平的高校學(xué)生及工程師。如何閱讀本書本書分為三部分,共19章。第一部分(第1~4章)為PyTorch基礎(chǔ),這是本書的基礎(chǔ)部分,能為后續(xù)學(xué)習(xí)打好堅(jiān)實(shí)基礎(chǔ)。第1章介紹Python和PyTorch的基石NumPy;第2章介紹PyTorch基礎(chǔ)知識;第3章和第4章分別介紹PyTorch神經(jīng)網(wǎng)絡(luò)工具箱和數(shù)據(jù)處理工具箱等內(nèi)容。第二部分(第5~10章)為深度學(xué)習(xí)基礎(chǔ),這也是本書的核心部分。第5章為機(jī)器學(xué)習(xí)基礎(chǔ),也是深度學(xué)習(xí)基礎(chǔ),其中包含很多機(jī)器學(xué)習(xí)經(jīng)典理論、算法和方法等內(nèi)容;第6章為視覺處理基礎(chǔ),介紹卷積神經(jīng)網(wǎng)絡(luò)的相關(guān)概念、原理及架構(gòu)等內(nèi)容,并用PyTorch實(shí)現(xiàn)多個(gè)視覺處理實(shí)例;第7章介紹自然語言處理基礎(chǔ),重點(diǎn)介紹循環(huán)神經(jīng)網(wǎng)絡(luò)的原理和架構(gòu),同時(shí)介紹了詞嵌入等內(nèi)容,然后用PyTorch實(shí)現(xiàn)多個(gè)自然語言處理、時(shí)間序列方面的實(shí)例;第8章介紹注意力機(jī)制;第9章介紹目標(biāo)檢測與語義分割;第10章介紹生成式深度學(xué)習(xí)的相關(guān)內(nèi)容,具體包括編碼器-解碼器模型、帶注意力的編碼器-解碼器模型、生成式對抗網(wǎng)絡(luò)及多種衍生生成器,同時(shí)使用PyTorch實(shí)現(xiàn)多個(gè)生成式對抗網(wǎng)絡(luò)實(shí)例。第三部分(第11~19章)為深度學(xué)習(xí)實(shí)戰(zhàn),即前面兩部分知識的具體應(yīng)用。這部分在介紹相關(guān)原理、架構(gòu)的基礎(chǔ)上,使用PyTorch實(shí)現(xiàn)多個(gè)深度學(xué)習(xí)的典型應(yīng)用實(shí)例,最后介紹了強(qiáng)化學(xué)習(xí)、深度強(qiáng)化學(xué)習(xí)等內(nèi)容。第11章用PyTorch實(shí)現(xiàn)人臉檢測與識別;第12章用PyTorch實(shí)現(xiàn)遷移學(xué)習(xí);第13章用PyTorch實(shí)現(xiàn)中英文互譯;第14章使用ViT進(jìn)行圖像分類;第15章為語義分割實(shí)例;第16章介紹多個(gè)生成模型實(shí)例;第17章介紹對抗攻擊原理及用PyTorch實(shí)現(xiàn)對抗攻擊實(shí)例;第18章和第19章介紹了強(qiáng)化學(xué)習(xí)、深度強(qiáng)化學(xué)習(xí)基礎(chǔ)知識及多個(gè)強(qiáng)化學(xué)習(xí)實(shí)例。勘誤和支持在本書編寫過程中得到了張魁、劉未昕等人的大力支持,他們負(fù)責(zé)整個(gè)環(huán)境的搭建和維護(hù)工作。由于筆者水平有限,書中難免存在錯(cuò)誤或不準(zhǔn)確的地方,懇請讀者批評指正。你可以通過訪問httpgithub.comWumg 3000feiguyunai下載代碼和數(shù)據(jù),也可以通過QQ交流群(493272175)進(jìn)行反饋,非常感謝你的支持和幫助。致謝在本書編寫過程中,得到了很多同事、朋友、老師和同學(xué)的大力支持!感謝博世的王冬、王紅星;感謝上海交大慧谷的程國旗老師,上海大學(xué)的白延琴老師、李常品老師,上海師范大學(xué)的田紅炯老師、李昭祥老師,以及贛南師范大學(xué)的許景飛老師等。感謝機(jī)械工業(yè)出版社的編輯給予本書的大力支持和幫助。最后,感謝我的愛人趙成娟,她在繁忙的教學(xué)之余幫助審稿,提出許多改進(jìn)意見或建議。吳茂貴PREFACE第1版前言為什么寫這本書在人工智能時(shí)代,如何盡快掌握人工智能的核心深度學(xué)習(xí)呢?相信這是每個(gè)欲進(jìn)入此領(lǐng)域的人面臨的主要問題。目前,深度學(xué)習(xí)框架很多,如TensorFlow、PyTorch、Keras、FastAI、CNTK等,這些框架各有優(yōu)點(diǎn)或不足,如何選擇呢?是否有一些標(biāo)準(zhǔn)?有,我覺得適合自己的就是最好的。如果你是一位初學(xué)者,建議你選擇PyTorch,待有了一定的基礎(chǔ)之后,可以學(xué)習(xí)其他框架,如TensorFlow、CNTK等。建議初學(xué)者選擇PyTorch的主要依據(jù)如下。1)PyTorch是動態(tài)計(jì)算圖,更貼近Python的用法,并且PyTorch與Python共用了許多NumPy命令,降低了學(xué)習(xí)門檻,比TensorFlow更容易上手。2)PyTorch需要定義網(wǎng)絡(luò)層、參數(shù)更新等關(guān)鍵步驟,這非常有助于理解深度學(xué)習(xí)的核心;而Keras雖然也非常簡單,容易上手,但封裝粒度很粗,隱藏了很多關(guān)鍵步驟。3)PyTorch的動態(tài)圖機(jī)制在調(diào)試方面非常方便,如果計(jì)算圖運(yùn)行出錯(cuò),馬上可以跟蹤問題。PyTorch與Python一樣,通過斷點(diǎn)檢查就可以高效解決問題。4)PyTorch的流行度僅次于 TensorFlow。而最近一年,在GitHub關(guān)注度和貢獻(xiàn)者的增長方面,PyTorch與TensorFlow 基本持平。PyTorch 的搜索熱度持續(xù)上漲,再加上FastAI的支持,PyTorch 將受到越來越多的機(jī)器學(xué)習(xí)從業(yè)者的青睞。深度學(xué)習(xí)是人工智能的核心,隨著大量相關(guān)項(xiàng)目的落地,人們對深度學(xué)習(xí)的興趣也持續(xù)上升。不過掌握深度學(xué)習(xí)知識并不是一件輕松的事情,尤其是對機(jī)器學(xué)習(xí)或深度學(xué)習(xí)的初學(xué)者來說挑戰(zhàn)更大。為了能讓廣大人工智能初學(xué)者或愛好者在較短時(shí)間內(nèi)掌握深度學(xué)習(xí)基礎(chǔ)及利用PyTorch解決深度學(xué)習(xí)問題,我們花了近一年時(shí)間打磨這本書,在內(nèi)容選擇、安排和組織等方面采用了如下方法。1.內(nèi)容選擇:廣泛涉獵 精講 注重實(shí)戰(zhàn)深度學(xué)習(xí)涉及面比較廣,且有一定門檻,沒有一定廣度很難達(dá)到一定深度,所以本書基本包括了機(jī)器學(xué)習(xí)、深度學(xué)習(xí)的主要內(nèi)容,各章一般先簡單介紹相應(yīng)的組件(工具)或原理,這些內(nèi)容有助于讀者理解深度學(xué)習(xí)的本質(zhì)。當(dāng)然,如果只有概念、框架、原理、數(shù)學(xué)公式的介紹,可能顯得有點(diǎn)抽象或乏味,所以,每章都配有大量實(shí)踐案例,以便加深讀者對原理和公式的理解,同時(shí)有利于把相關(guān)內(nèi)容融會貫通起來。2.內(nèi)容安排:簡單實(shí)例開始 循序漸進(jìn)講解深度學(xué)習(xí)是一塊難啃的硬骨頭,對有一定開發(fā)經(jīng)驗(yàn)和數(shù)學(xué)基礎(chǔ)的讀者如此,對初學(xué)者更是如此。其中卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、生成式對抗網(wǎng)絡(luò)是深度學(xué)習(xí)的基石,同時(shí)也是深度學(xué)習(xí)的三大硬骨頭。為了讓讀者更好地理解并掌握這些網(wǎng)絡(luò),我們采用循序漸進(jìn)的方式,先從簡單特例開始,然后逐步進(jìn)入更一般性的內(nèi)容介紹,最后通過一些PyTorch代碼實(shí)例將其實(shí)現(xiàn),整本書的結(jié)構(gòu)及各章節(jié)內(nèi)容安排都遵循這個(gè)原則。此外,一些優(yōu)化方法也采用這種內(nèi)容安排方式,如對數(shù)據(jù)集CIFAR10進(jìn)行分類優(yōu)化時(shí),先用一般卷積神經(jīng)網(wǎng)絡(luò),然后使用集成方法、現(xiàn)代經(jīng)典網(wǎng)絡(luò),最后采用數(shù)據(jù)增強(qiáng)和遷移方法,不斷提升模型精度,由最初的68%逐步提升到74%和90%,最后達(dá)到95%左右。3.表達(dá)形式:讓圖說話,一張好圖勝過千言萬語機(jī)器學(xué)習(xí)、深度學(xué)習(xí)中有很多抽象的概念、復(fù)雜的算法、深?yuàn)W的理論等,如NumPy的廣播機(jī)制、梯度下降對學(xué)習(xí)率敏感、神經(jīng)網(wǎng)絡(luò)中的共享參數(shù)、動量優(yōu)化法、梯度消失或爆炸等,這些概念如果只用文字來描述,可能很難達(dá)到茅塞頓開的效果。但如果用一些圖形來展現(xiàn),再加上適當(dāng)?shù)奈淖终f明,往往能取得非常好的效果,正所謂一張好圖勝過千言萬語。除了以上談到的3個(gè)方面,為了幫助大家更好地理解并且更快地掌握機(jī)器學(xué)習(xí)、深度學(xué)習(xí)這些人工智能的核心內(nèi)容,本書還介紹了其他方法,用心的讀者將能體會到。我們希望通過這些方法帶給你不一樣的理解和體驗(yàn),使你感到抽象的數(shù)學(xué)不抽象、復(fù)雜的算法不復(fù)雜、難學(xué)的深度學(xué)習(xí)不難學(xué)。至于人工智能(AI)的重要性,我想就不用多說了。如果說2016年前屬于擺事實(shí)論證的階段,2017年和2018年屬于事實(shí)勝于雄辯的階段,那么2019年及以后就進(jìn)入百舸爭流、奮楫者先的階段。目前各行各業(yè)都忙于AI ,大家都希望通過AI來改造傳統(tǒng)流程、傳統(tǒng)結(jié)構(gòu)、傳統(tǒng)業(yè)務(wù)、傳統(tǒng)架構(gòu),其效果猶如用電改造原有的各行各業(yè)一樣。本書特色本書特色概括來說就是:把理論原理與代碼實(shí)現(xiàn)相結(jié)合;找準(zhǔn)切入點(diǎn),從簡單到一般,把復(fù)雜問題簡單化;圖文并茂使抽象問題直觀化;實(shí)例說明使抽象問題具體化。希望本書能帶給你新的視角、新的理解,甚至更好的未來。讀者對象對機(jī)器學(xué)習(xí)、深度學(xué)習(xí)感興趣的高校學(xué)生及工程師。對Python、PyTorch、TensorFlow等感興趣并希望進(jìn)一步提升水平的高校學(xué)生及工程師。如何閱讀本書本書分為三部分,共16章。第一部分(第1~4章)為PyTorch基礎(chǔ),這是本書的基礎(chǔ),能為后續(xù)章節(jié)的學(xué)習(xí)打下堅(jiān)實(shí)基礎(chǔ)。第1章介紹Python和PyTorch的基石NumPy;第2章介紹PyTorch基礎(chǔ)知識;第3章和第4章分別介紹PyTorch神經(jīng)網(wǎng)絡(luò)工具箱和數(shù)據(jù)處理工具箱等內(nèi)容。第二部分(第5~8章)為深度學(xué)習(xí)基本原理,也是本書的核心部分,包括機(jī)器學(xué)習(xí)流程、常用算法和技巧等內(nèi)容。第5章為機(jī)器學(xué)習(xí)基礎(chǔ),也是深度學(xué)習(xí)基礎(chǔ),其中包含很多機(jī)器學(xué)習(xí)經(jīng)典理論、算法和方法等內(nèi)容;第6章為視覺處理基礎(chǔ),介紹卷積神經(jīng)網(wǎng)絡(luò)的相關(guān)概念、原理及架構(gòu)等內(nèi)容,并用PyTorch實(shí)現(xiàn)多個(gè)視覺處理實(shí)例;第7章介紹自然語言處理基礎(chǔ),重點(diǎn)介紹循環(huán)神經(jīng)網(wǎng)絡(luò)的原理和架構(gòu),同時(shí)介紹了詞嵌入等內(nèi)容,然后用PyTorch實(shí)現(xiàn)多個(gè)自然語言處理、時(shí)間序列方面的實(shí)例;第8章介紹生成式深度學(xué)習(xí)的相關(guān)內(nèi)容,具體包括編碼器解碼器模型、帶注意力的編碼器解碼器模型、生成式對抗網(wǎng)絡(luò)及多種衍生網(wǎng)絡(luò),同時(shí)用PyTorch實(shí)現(xiàn)多個(gè)生成式對抗網(wǎng)絡(luò)實(shí)例。第三部分(第9~16章)為實(shí)戰(zhàn)部分,即前面兩部分知識的具體應(yīng)用,這部分在介紹相關(guān)原理、架構(gòu)的基礎(chǔ)上,用PyTorch具體實(shí)現(xiàn)多個(gè)深度學(xué)習(xí)的典型實(shí)例,最后介紹了強(qiáng)化學(xué)習(xí)、深度強(qiáng)化學(xué)習(xí)等內(nèi)容。第9章用PyTorch實(shí)現(xiàn)人臉檢測與識別;第10章用PyTorch實(shí)現(xiàn)遷移學(xué)習(xí);第11章用PyTorch實(shí)現(xiàn)中英文互譯;第12章實(shí)現(xiàn)多個(gè)生成式網(wǎng)絡(luò)實(shí)例;第13章主要介紹如何進(jìn)行模型遷移;第14章介紹對抗攻擊原理及用PyTorch實(shí)現(xiàn)對抗攻擊實(shí)例;第15章和第16章介紹了強(qiáng)化學(xué)習(xí)、深度強(qiáng)化學(xué)習(xí)基礎(chǔ)及多個(gè)強(qiáng)化學(xué)習(xí)實(shí)例
吳茂貴 資深大數(shù)據(jù)和人工智能技術(shù)專家,在BI、數(shù)據(jù)挖掘與分析、數(shù)據(jù)倉庫、機(jī)器學(xué)習(xí)等領(lǐng)域工作超過20年。在基于Spark、TensorFlow、PyTorch等的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)方面有大量的工程實(shí)踐實(shí)踐。著有《Python深度學(xué)習(xí):基于TensorFlow》、《深度實(shí)踐Spark機(jī)器學(xué)習(xí)》、《自己動手做大數(shù)據(jù)系統(tǒng)》、《深入淺出Embedding原理解析與應(yīng)用實(shí)踐》等暢銷書。郁明敏 資深商業(yè)分析師,從事互聯(lián)網(wǎng)金融算法研究工作,專注于大數(shù)據(jù)、機(jī)器學(xué)習(xí)以及數(shù)據(jù)可視化的相關(guān)領(lǐng)域,擅長 Python、Hadoop、Spark 等技術(shù),擁有豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)。曾獲江蘇省TI杯大學(xué)生電子競技大賽二等獎(jiǎng)和華為杯全國大學(xué)生數(shù)學(xué)建模大賽二等獎(jiǎng)。楊本法 高級算法工程師,工業(yè)表面缺陷檢測設(shè)備開發(fā)架構(gòu)師,在機(jī)器學(xué)習(xí)、文本挖掘、可視化等領(lǐng)域有多年實(shí)踐經(jīng)驗(yàn)。做過大型電商的推薦系統(tǒng),知名手機(jī)廠商外殼表面檢測設(shè)備。熟悉Hadoop、Spark生態(tài)圈的相關(guān)技術(shù),對Python有豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)。李濤 資深A(yù)I技術(shù)工程師,任職于攜程(上海)科技有限公司,負(fù)責(zé)酒店排序推薦相關(guān)項(xiàng)目的數(shù)據(jù)分析和算法開發(fā),在計(jì)算機(jī)視覺技術(shù)和搜索推薦系統(tǒng)有深刻的理解和豐富的實(shí)踐經(jīng)驗(yàn)。張粵磊國云大數(shù)據(jù)學(xué)院院長,飛谷云創(chuàng)始人,畢業(yè)于中國科技大學(xué),原平安壹錢包大數(shù)據(jù)架構(gòu)師。業(yè)內(nèi)知名大數(shù)據(jù)專家,多部大數(shù)據(jù)暢銷書作者。2016年以來每年都以高級專家和咨詢顧問身份深入?yún)⑴c大數(shù)據(jù)、人工智能技術(shù)在行業(yè)的落地應(yīng)用。
前言第1版前言第一部分 PyTorch基礎(chǔ)第1章 NumPy基礎(chǔ)知識21.1 生成NumPy數(shù)組31.1.1 數(shù)組屬性41.1.2 利用已有數(shù)據(jù)生成數(shù)組41.1.3 利用 random 模塊生成數(shù)組51.1.4 生成特定形狀的多維數(shù)組71.1.5 利用arange、linspace 函數(shù)生成數(shù)組81.2 讀取數(shù)據(jù)91.3 NumPy的算術(shù)運(yùn)算111.3.1 逐元素操作111.3.2 點(diǎn)積運(yùn)算121.4 數(shù)組變形131.4.1 修改數(shù)組的形狀131.4.2 合并數(shù)組161.5 批處理191.6 節(jié)省內(nèi)存201.7 通用函數(shù)211.8 廣播機(jī)制231.9 小結(jié)24第2章 PyTorch基礎(chǔ)知識252.1 為何選擇PyTorch252.2 PyTorch的安裝配置262.2.1 安裝CPU版PyTorch262.2.2 安裝GPU版PyTorch282.3 Jupyter Notebook環(huán)境配置302.4 NumPy與Tensor312.4.1 Tensor概述312.4.2 創(chuàng)建Tensor322.4.3 修改Tensor形狀342.4.4 索引操作352.4.5 廣播機(jī)制352.4.6 逐元素操作362.4.7 歸并操作372.4.8 比較操作372.4.9 矩陣操作382.4.10 PyTorch與NumPy比較392.5 Tensor與autograd392.5.1 自動求導(dǎo)要點(diǎn)402.5.2 計(jì)算圖402.5.3 標(biāo)量反向傳播412.5.4 非標(biāo)量反向傳播422.5.5 切斷一些分支的反向傳播452.6 使用NumPy實(shí)現(xiàn)機(jī)器學(xué)習(xí)任務(wù)472.7 使用Tensor及autograd實(shí)現(xiàn)機(jī)器 學(xué)習(xí)任務(wù)492.8 使用優(yōu)化器及自動微分實(shí)現(xiàn)機(jī)器 學(xué)習(xí)任務(wù)512.9 把數(shù)據(jù)集轉(zhuǎn)換為帶批量處理功能的 迭代器522.10 使用TensorFlow 2實(shí)現(xiàn)機(jī)器 學(xué)習(xí)任務(wù)542.11 小結(jié)55第3章 PyTorch神經(jīng)網(wǎng)絡(luò)工具箱563.1 神經(jīng)網(wǎng)絡(luò)核心組件563.2 構(gòu)建神經(jīng)網(wǎng)絡(luò)的主要工具573.2.1 nn.Module573.2.2 nn.functional583.3 構(gòu)建模型593.3.1 繼承nn.Module基類構(gòu)建模型593.3.2 使用nn.Sequential按層 順序構(gòu)建模型603.3.3 繼承nn.Module基類并應(yīng)用 模型容器來構(gòu)建模型633.3.4 自定義網(wǎng)絡(luò)模塊663.4 訓(xùn)練模型683.5 實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)實(shí)例693.5.1 背景說明693.5.2 準(zhǔn)備數(shù)據(jù)703.5.3 可視化源數(shù)據(jù)713.5.4 構(gòu)建模型723.5.5 訓(xùn)練模型723.6 小結(jié)74第4章 PyTorch數(shù)據(jù)處理工具箱754.1 數(shù)據(jù)處理工具箱概述754.2 utils.data764.3 torchvision784.3.1 transforms784.3.2 ImageFolder794.4 可視化工具814.4.1 TensorBoard簡介814.4.2 用TensorBoard可視化 神經(jīng)網(wǎng)絡(luò)824.4.3 用TensorBoard可視化損失值834.4.4 用TensorBoard可視化特征圖844.5 小結(jié)85第二部分 深度學(xué)習(xí)基礎(chǔ)第5 章 機(jī)器學(xué)習(xí)基礎(chǔ)885.1 機(jī)器學(xué)習(xí)的基本任務(wù)885.1.1 監(jiān)督學(xué)習(xí)895.1.2 無監(jiān)督學(xué)習(xí)895.1.3 半監(jiān)督學(xué)習(xí)905.1.4 強(qiáng)化學(xué)習(xí)905.2 機(jī)器學(xué)習(xí)的一般流程905.2.1 明確目標(biāo)915.2.2 收集數(shù)據(jù)915.2.3 數(shù)據(jù)探索與預(yù)處理915.2.4 選擇模型及損失函數(shù)915.2.5 評估及優(yōu)化模型925.3 過擬合與欠擬合935.3.1 權(quán)重正則化935.3.2 dropout正則化945.3.3 批量歸一化975.3.4 層歸一化995.3.5 權(quán)重初始化995.4 選擇合適的激活函數(shù)1005.5 選擇合適的損失函數(shù)1015.6 選擇合適的優(yōu)化器1035.6.1 傳統(tǒng)梯度優(yōu)化算法1045.6.2 批量隨機(jī)梯度下降法1055.6.3 動量算法1065.6.4 Nesterov動量算法1085.6.5 AdaGrad算法1095.6.6 RMSProp算法1115.6.7 Adam算法1125.6.8 Yogi算法1135.6.9 使用優(yōu)化算法實(shí)例1145.7 GPU加速1165.7.1 單GPU加速1165.7.2 多GPU加速1175.7.3 使用GPU時(shí)的注意事項(xiàng)1205.8 小結(jié)121第6章 視覺處理基礎(chǔ)1226.1 從全連接層到卷積層1226.1.1 圖像的兩個(gè)特性1236.1.2 卷積神經(jīng)網(wǎng)絡(luò)概述1246.2 卷積層1256.2.1 卷積核1276.2.2 步幅1296.2.3 填充1306.2.4 多通道上的卷積1316.2.5 激活函數(shù)1346.2.6 卷積函數(shù)1356.2.7 轉(zhuǎn)置卷積1366.2.8 特征圖與感受野1376.2.9 全卷積網(wǎng)絡(luò)1386.3 池化層1396.3.1 局部池化1406.3.2 全局池化1406.4 現(xiàn)代經(jīng)典網(wǎng)絡(luò)1426.4.1 LeNet-5模型1426.4.2 AlexNet模型1436.4.3 VGG模型1436.4.4 GoogLeNet模型1446.4.5 ResNet模型1456.4.6 DenseNet模型1466.4.7 CapsNet模型1486.5 使用卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)CIFAR10 多分類149