![]() ![]() |
跟我一起學(xué)深度學(xué)習(xí) ![]() 本書以深度學(xué)習(xí)入門內(nèi)容為主線,通過(guò)數(shù)形結(jié)合的方式來(lái)漸進(jìn)式引導(dǎo)讀者進(jìn)行學(xué)習(xí),力爭(zhēng)使各位讀者對(duì)于每個(gè)算法原理不僅要做到知其然更要做到知其所以然。同時(shí),本書采用了深度學(xué)習(xí)中較為流行且簡(jiǎn)單易學(xué)的PyTorch框架來(lái)進(jìn)行示例,以便讓各位讀者在學(xué)習(xí)各個(gè)算法的原理過(guò)程中也能夠掌握其實(shí)際的用法。 本書秉持以數(shù)形結(jié)合的方式來(lái)介紹每個(gè)算法模型,即先通過(guò)圖示直觀地來(lái)介紹模型的整體思想和原理,再通過(guò)實(shí)際的數(shù)學(xué)計(jì)算過(guò)程或代碼來(lái)刻畫其中的細(xì)節(jié)和模糊之處,做到真正數(shù) 形的結(jié)合,讓各位讀者能夠真正地做到看得懂、學(xué)得會(huì)、寫得出。為了將各個(gè)算法的建模原理表述清楚,本書使用超過(guò)400余幅示意插圖。 作為《跟我一起學(xué)機(jī)器學(xué)習(xí)》的姊妹篇,兩年之后《跟我一起學(xué)深度學(xué)習(xí)》一書也終于出版了。北宋大家張載有言: 為天地立心,為生民立命,為往圣繼絕學(xué),為萬(wàn)世開(kāi)太平。這兩部著作雖然沒(méi)有這樣的宏偉愿景,但在它們的編寫過(guò)程中我們自始至終都秉持著為往圣繼絕學(xué)的想法在進(jìn)行。 作為機(jī)器學(xué)習(xí)方向的一個(gè)重要分支,深度學(xué)習(xí)在近年來(lái)的發(fā)展可謂大放異彩。隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,與之相關(guān)的技術(shù)應(yīng)用已經(jīng)深入滲透到了我們?nèi)粘I畹姆椒矫婷,從醫(yī)療保健、金融服務(wù)到零售,以及從交通再到智能助理、智能家居等,尤其是在以GPT為代表的大語(yǔ)言模型出現(xiàn)以后,深度學(xué)習(xí)技術(shù)的影子更是無(wú)處不在。如今,利用ChatGPT來(lái)作為日常生產(chǎn)力工具更是成為一種共識(shí)。例如在本書的成文過(guò)程中ChatGPT就為我們提供了不少的靈感和啟示,部分內(nèi)容也是在ChatGPT的輔助下完成的,而這在10年乃至5年前都是難以想象的。也正因如此,對(duì)于這些熱門應(yīng)用背后技術(shù)的探索便逐漸成為計(jì)算機(jī)行業(yè)及高校所追捧的對(duì)象,但對(duì)于絕大多數(shù)初學(xué)者來(lái)講,想要跨入深度學(xué)習(xí)這一領(lǐng)域依舊存在著較高的門檻,所以一本數(shù) 形結(jié)合、動(dòng)機(jī)原理并重、細(xì)致考究的入門圖書就顯得十分必要了。 盡管目前市面上已經(jīng)存在著大量類似圖書,但現(xiàn)有圖書的不足之處在于往往太過(guò)高估了學(xué)生的學(xué)習(xí)能力。首先,這類圖書往往都只是羅列了一堆名詞概念、抽象晦澀的數(shù)學(xué)公式或是枯燥冗長(zhǎng)的代碼,而這對(duì)于初學(xué)者或是數(shù)學(xué)基礎(chǔ)比較薄弱的學(xué)生來(lái)講是極為糟糕的,作為過(guò)來(lái)人我們對(duì)此深有體會(huì); 其次,這類圖書在介紹各個(gè)算法時(shí)僅僅做到了知其然而不知其所以然,并沒(méi)有介紹每個(gè)算法模型出現(xiàn)的背景和動(dòng)機(jī),仿佛它們都是一個(gè)個(gè)從天而降的獨(dú)立個(gè)體,彼此之間毫無(wú)前因后果的聯(lián)系; 最后,對(duì)于算法原理或?qū)崿F(xiàn)的細(xì)節(jié)之處并沒(méi)有充分把握,往往會(huì)一筆帶過(guò),而這就導(dǎo)致了初學(xué)者總有一種似是而非、朦朦朧朧的感覺(jué)。 數(shù)無(wú)形時(shí)少直覺(jué),形少數(shù)時(shí)難入微,數(shù)形結(jié)合百般好,這是本書在編寫過(guò)程中所遵循的第一大原則。在學(xué)習(xí)深度學(xué)習(xí)相關(guān)內(nèi)容的過(guò)程中,如果只看論文,則只能了解到算法模型的整體思想而無(wú)法精確刻畫其中的細(xì)節(jié)之處; 如果只看代碼,則會(huì)發(fā)現(xiàn)均是各種矩陣之間的四則運(yùn)算,并不知道其中的含義。因此,本書在寫作之初就始終秉持著要以數(shù) 形結(jié)合的方式來(lái)介紹每個(gè)算法模型,即先通過(guò)圖示直觀地來(lái)介紹模型的整體思想和原理,再通過(guò)實(shí)際的數(shù)學(xué)計(jì)算過(guò)程或代碼來(lái)刻畫其中的細(xì)節(jié)和模糊之處。用圖形去形像化,用代碼去唯一化,真正做到數(shù) 形結(jié)合,讓各位讀者能夠真正地做到看得懂、學(xué)得會(huì)、寫得出。為了將各個(gè)算法的建模原理表述清楚,本書使用了近400幅示意插圖。
知其然,更要知其所以然,這是本書在編寫過(guò)程中所遵循的第二大原則。任何一個(gè)算法的提出都不會(huì)是憑空捏造或無(wú)中生有的,它要么是為了解決新場(chǎng)景下的問(wèn)題,要么是為了對(duì)已有算法模型進(jìn)行改進(jìn),因此明白一個(gè)算法模型背后的動(dòng)機(jī)就顯得格外重要了。一方面我們能更好地理解作者的想法及與其他算法模型之間的聯(lián)系; 另一方面也可以學(xué)習(xí)如何去講好一個(gè)故事,所以我們不僅需要知道一項(xiàng)技術(shù)的原理,還需要知道為什么出現(xiàn)了這種技術(shù)、它的動(dòng)機(jī)是什么、它需要解決什么樣的問(wèn)題等。這樣才更有利于我們了解整個(gè)技術(shù)的發(fā)展脈絡(luò)并形成一個(gè)合理的思考方向。 因此,本書在行文過(guò)程中對(duì)于每個(gè)算法模型的介紹都遵循了動(dòng)機(jī) 原理的方式進(jìn)行,即先梳理其提出時(shí)的背景動(dòng)機(jī),然后介紹其具體的實(shí)現(xiàn)原理,而不是直愣愣地開(kāi)始就某個(gè)算法模型進(jìn)行介紹,以至于前后銜接生硬。這也將使各位讀者不僅能學(xué)會(huì)一個(gè)算法的原理和使用方法,同時(shí)還能知道它所提出的契機(jī),養(yǎng)成這樣的思維習(xí)慣對(duì)于一些讀者后續(xù)的論文寫作也是百利而無(wú)一害的。 如履薄冰,有理有據(jù),這是本書在編寫過(guò)程中所遵循的第三大原則。在本書簽訂出版合同之初我們就預(yù)留了充分的時(shí)間,約定15個(gè)月交稿,計(jì)劃12個(gè)月完稿,而實(shí)際上14個(gè)月就完成了,目的就是能在一個(gè)輕松的氛圍下完成寫作。不過(guò)如果再算上之前在理解Transformer(2021年38月)和BERT(2021年8月2022年4月)這兩個(gè)模型所花費(fèi)的13個(gè)月時(shí)間,整本書總共歷經(jīng)了27個(gè)月,所以我們也時(shí)常告誡自己切莫心急浮躁、切莫急功近利、切莫誤人子弟,要為我們寫下的每一句話、每個(gè)字負(fù)責(zé)。同時(shí),在本書的編寫過(guò)程中對(duì)于每個(gè)重要細(xì)節(jié)的把握我們也會(huì)進(jìn)行多方求證,力爭(zhēng)在理解上不會(huì)出現(xiàn)太大偏差。對(duì)于同一個(gè)模型的實(shí)現(xiàn)過(guò)程我們通常會(huì)參考不同框架中的實(shí)現(xiàn)源碼,例如參考TensorFlow、PyTorch、Transformers及論文作者的實(shí)現(xiàn)等,然后根據(jù)這些代碼整理出一份保留核心邏輯且適合初學(xué)者學(xué)習(xí)的示例代碼。 例如在介紹BERT模型的實(shí)現(xiàn)過(guò)程時(shí),先后閱讀了GoogleResearch、PyTorch和Transformers框架中的相關(guān)實(shí)現(xiàn)過(guò)程; 為了弄清楚fastText模型中關(guān)于中文Ngram的構(gòu)建方式,我們?cè)诠俜介_(kāi)源項(xiàng)目的dictionary.cc文件中找到了佐證; 為了畫出ELMo模型的真實(shí)結(jié)構(gòu)圖,我們?cè)诠俜降腁llennlp庫(kù)中見(jiàn)到了答案; 為了弄清楚大語(yǔ)言模型對(duì)話場(chǎng)景中模型在推理時(shí)的具體解碼過(guò)程,我們歷經(jīng)幾番周折終于在Transformer庫(kù)的generation/utils.py模塊中找到了示例,甚至就連GPT這個(gè)簡(jiǎn)稱的來(lái)歷我們也都細(xì)致地進(jìn)行了考究,而這些本可以一筆帶過(guò)。 對(duì)于GPT這個(gè)簡(jiǎn)稱的來(lái)歷,它到底應(yīng)該是Generative PreTraining的縮寫,還是Generative Pretraining Transformer的縮寫,我們也曾反復(fù)思考過(guò)很多次。此時(shí)有讀者可能會(huì)說(shuō): 這還用想?當(dāng)然是后者,因?yàn)镚PT用到的是Transformer中解碼器的部分?僧(dāng)時(shí)我們并不這樣認(rèn)為。首先GPT表示生成式預(yù)訓(xùn)練模型Generative PreTraining也并無(wú)不可,因?yàn)樗拇_是第1個(gè)大規(guī)模語(yǔ)料下的生成式預(yù)訓(xùn)練模型; 其次GPT1的論文中并沒(méi)有明確交代T的代指,甚至全文中根本沒(méi)有出現(xiàn)GPT這一縮寫,反而從標(biāo)題Improving Language Understanding by Generative PreTraining來(lái)看它更符合是Generative PreTraining的縮寫; 最后,我們檢索OpenAI 官網(wǎng)的所有論文和內(nèi)容后,仍沒(méi)有明確發(fā)現(xiàn)GPT的來(lái)由,但對(duì)于這件事的疑惑并沒(méi)有停止。在我們寫作GPT2的相關(guān)內(nèi)容時(shí)意外發(fā)現(xiàn)了論文的第二作者 Jeffrey Wu 的 GitHub賬戶。在瀏覽他的所有項(xiàng)目時(shí)我們意外發(fā)現(xiàn)了一個(gè)名為minGPT的工程,其簡(jiǎn)介中赫然寫到一句描述: A minimal PyTorch reimplementation of the OpenAI GPT(Generative Pretrained Transformer)training,到這里總算是找到了官方對(duì)于GPT簡(jiǎn)稱的認(rèn)證。 當(dāng)然,上面提到的細(xì)節(jié)之處本書中還有很多,讀者可以在閱讀學(xué)習(xí)的過(guò)程中自行慢慢體會(huì)。本書的目的只有一個(gè),那就是所有的坑都讓我們先來(lái)踩,所有的錯(cuò)都先讓我們來(lái)犯,各位讀者只需跟隨本書的足跡一步一步踏入深度學(xué)習(xí)的大門。不過(guò)遺憾的是,這本書也只能剛好帶領(lǐng)各位讀者進(jìn)入深度學(xué)習(xí)的大門,至于怎么將這些技術(shù)用得更好、用得更出色還需要各位讀者在實(shí)際使用中進(jìn)行反復(fù)錘煉。 掃描目錄上方的二維碼可下載本書配套資源。 致謝 首先感謝清華大學(xué)出版社趙佳霓編輯的耐心指點(diǎn),以及對(duì)本書出版的推動(dòng)。其次感謝在本書中所引用文獻(xiàn)的作者,沒(méi)有你們的付出也不會(huì)有本書的出版。如果說(shuō)我們看得比別人更遠(yuǎn)一些,那只是因?yàn)槲覀冋驹诹司奕说募绨蛏。在本書的寫作過(guò)程中從《動(dòng)手學(xué)深度學(xué)習(xí)》《神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》,以及斯坦福大學(xué)的CS224N和CS231N中獲得了不少靈感,在此特意向李沐老師和邱錫鵬老師及相關(guān)作者表示感謝,感謝這些深度學(xué)習(xí)領(lǐng)域中的巨人。同時(shí)我們也要感謝我們的家人在身后默默地支持我們。最后要感謝我自己,感謝那個(gè)曾經(jīng)無(wú)數(shù)次想要放棄但依舊堅(jiān)持下來(lái)的自己。 寫好一本書不容易,寫好一本能讓初學(xué)者讀懂且有所裨益的書更不容易。由于我們才學(xué)和資歷尚淺,書中難免存在著這樣或那樣目前尚未發(fā)現(xiàn)的錯(cuò)誤,因此還請(qǐng)各位讀者海涵與見(jiàn)諒。同時(shí),也歡迎各位同行前輩對(duì)本拙作不吝指教。在今后的歲月里,我們也將不遺余力地持續(xù)去打磨這兩本書中的內(nèi)容,力爭(zhēng)以最直觀、最簡(jiǎn)潔和最有新意的語(yǔ)言將各個(gè)算法的原理與實(shí)現(xiàn)呈現(xiàn)在各位讀者面前,繼續(xù)秉持著為往圣繼絕學(xué)的初心。
王成,華東交通大學(xué)計(jì)算機(jī)應(yīng)用技術(shù)碩士畢業(yè),機(jī)器學(xué)習(xí)領(lǐng)域CSDN與知乎專欄常駐作者,浦發(fā)銀行創(chuàng)新研究中心自然語(yǔ)言處理工程師,自媒體創(chuàng)作者。專注于機(jī)器學(xué)習(xí)、深度學(xué)習(xí)技術(shù)原理分享,寫作八年累積數(shù)百萬(wàn)字手稿,出版了《跟我一起學(xué)機(jī)器學(xué)習(xí)》,并著有This Post Is All You Need等電子讀物。 第1章深度學(xué)習(xí)簡(jiǎn)介 1.1深度學(xué)習(xí)的發(fā)展階段 1.1.1早期理論的發(fā)展 1.1.2人工智能的萌芽 1.1.3反向傳播算法的發(fā)展 1.1.4卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展 1.1.5循環(huán)神經(jīng)網(wǎng)絡(luò)的發(fā)展 1.1.6自然語(yǔ)言處理的發(fā)展 1.2深度學(xué)習(xí)中的關(guān)鍵人物 1.3深度學(xué)習(xí)框架介紹 1.3.1深度學(xué)習(xí)框架的出現(xiàn) 1.3.2深度學(xué)習(xí)框架的歷史 1.4本書的體系結(jié)構(gòu) 1.4.1面向的讀者 1.4.2內(nèi)容與結(jié)構(gòu) 1.4.3代碼及資源 第2章環(huán)境配置 2.1體系結(jié)構(gòu)介紹 2.1.1基礎(chǔ)軟硬件設(shè)施 2.1.2版本依賴關(guān)系 2.1.3Conda工具介紹 2.1.4安裝源介紹 2.1.5小結(jié) 2.2深度學(xué)習(xí)環(huán)境安裝 2.2.1在Windows環(huán)境下 2.2.2在Linux環(huán)境下 2.2.3實(shí)戰(zhàn)示例 2.2.4GPU租用 2.2.5小結(jié) 2.3開(kāi)發(fā)環(huán)境安裝配置 2.3.1Jupyter Notebook安裝與使用 2.3.2PyCharm安裝與使用 2.3.3遠(yuǎn)程連接使用 2.3.4小結(jié) 第3章深度學(xué)習(xí)基礎(chǔ) 3.1線性回歸 3.1.1理解線性回歸模型 3.1.2建立線性回歸模型 3.1.3求解線性回歸模型 3.1.4多項(xiàng)式回歸建模 3.1.5從特征輸入到特征提取 3.1.6從線性輸入到非線性變換 3.1.7單層神經(jīng)網(wǎng)絡(luò) 3.1.8深度神經(jīng)網(wǎng)絡(luò) 3.1.9小結(jié) 3.2線性回歸的簡(jiǎn)捷實(shí)現(xiàn) 3.2.1PyTorch使用介紹 3.2.2房?jī)r(jià)預(yù)測(cè)實(shí)現(xiàn) 3.2.3梯形面積預(yù)測(cè)實(shí)現(xiàn) 3.2.4小結(jié) 3.3梯度下降與反向傳播 3.3.1梯度下降引例 3.3.2方向?qū)?shù)與梯度 3.3.3梯度下降原理 3.3.4前向傳播過(guò)程 3.3.5傳統(tǒng)方式梯度求解 3.3.6反向傳播過(guò)程 3.3.7梯度消失和梯度爆炸 3.3.8小結(jié) 3.4從零實(shí)現(xiàn)回歸模型 3.4.1網(wǎng)絡(luò)結(jié)構(gòu) 3.4.2模型實(shí)現(xiàn) 3.4.3小結(jié) 3.5從邏輯回歸到Softmax回歸 3.5.1理解邏輯回歸模型 3.5.2建立邏輯回歸模型 3.5.3求解邏輯回歸模型 3.5.4從二分類到多分類 3.5.5Softmax回歸 3.5.6特征的意義 3.5.7從具體到抽象 3.5.8從淺層到深層 3.5.9小結(jié) 3.6Softmax回歸的簡(jiǎn)捷實(shí)現(xiàn) 3.6.1PyTorch使用介紹 3.6.2手寫體分類實(shí)現(xiàn) 3.6.3小結(jié) 3.7從零實(shí)現(xiàn)分類模型 3.7.1網(wǎng)絡(luò)結(jié)構(gòu) 3.7.2模型實(shí)現(xiàn) 3.7.3小結(jié) 3.8回歸模型評(píng)估指標(biāo) 3.8.1常見(jiàn)回歸評(píng)估指標(biāo) 3.8.2回歸指標(biāo)示例代碼 3.8.3小結(jié) 3.9分類模型評(píng)估指標(biāo) 3.9.1準(zhǔn)確率 3.9.2精確率與召回率計(jì)算 3.9.3準(zhǔn)確率與召回率的區(qū)別 3.9.4多分類下的指標(biāo)計(jì)算 3.9.5TopK準(zhǔn)確率 3.9.6小結(jié) 3.10過(guò)擬合與正則化 3.10.1模型擬合 3.10.2過(guò)擬合與欠擬合概念 3.10.3解決欠擬合與過(guò)擬合問(wèn)題 3.10.4泛化誤差的來(lái)源 3.10.5測(cè)試集導(dǎo)致的泛化誤差 3.10.6訓(xùn)練集導(dǎo)致的泛化誤差 3.10.72正則化原理 3.10.82正則化中的參數(shù)更新 3.10.92正則化示例代碼 3.10.101正則化原理 3.10.111與2正則化差異 3.10.12丟棄法 3.10.13小結(jié) 3.11超參數(shù)與交叉驗(yàn)證 3.11.1超參數(shù)介紹 3.11.2模型選擇 3.11.3基于交叉驗(yàn)證的手寫體分類 3.11.4小結(jié) 3.12激活函數(shù) 3.12.1Sigmoid激活函數(shù) 3.12.2Tanh激活函數(shù) 3.12.3ReLU激活函數(shù) 3.12.4LeakyReLU激活函數(shù) 3.12.5小結(jié) 3.13多標(biāo)簽分類 3.13.1Sigmoid損失 3.13.2交叉熵?fù)p失 3.13.3不考慮部分正確的評(píng)估指標(biāo) 3.13.4考慮部分正確的評(píng)估指標(biāo) 3.13.5小結(jié) 第4章卷積神經(jīng)網(wǎng)絡(luò) 4.1卷積的概念 4.1.1深度學(xué)習(xí)的思想 4.1.2卷積操作的作用 4.1.3卷積操作的原理 4.1.4小結(jié) 4.2卷積的計(jì)算過(guò)程 4.2.1多卷積核 4.2.2卷積的計(jì)算過(guò)程 4.2.3深度卷積 4.2.4小結(jié) 4.3填充和池化 4.3.1填充操作 4.3.2形狀計(jì)算 4.3.3卷積示例代碼 4.3.4池化操作 4.3.5池化的作用 4.3.6池化示例代碼 4.3.7小結(jié) 4.4LeNet5網(wǎng)絡(luò) 4.4.1LeNet5動(dòng)機(jī) 4.4.2LeNet5結(jié)構(gòu) 4.4.3LeNet5實(shí)現(xiàn) 4.4.4小結(jié) 4.5AlexNet網(wǎng)絡(luò) 4.5.1AlexNet動(dòng)機(jī) 4.5.2AlexNet結(jié)構(gòu) 4.5.3AlexNet實(shí)現(xiàn) 4.5.4小結(jié) 4.6VGG網(wǎng)絡(luò) 4.6.1VGG動(dòng)機(jī) 4.6.2VGG結(jié)構(gòu) 4.6.3VGG實(shí)現(xiàn) 4.6.4小結(jié) 4.7NIN網(wǎng)絡(luò) 4.7.1NIN動(dòng)機(jī) 4.7.2NIN結(jié)構(gòu) 4.7.3NIN實(shí)現(xiàn) 4.7.4小結(jié) 4.8GoogLeNet網(wǎng)絡(luò) 4.8.1GoogLeNet動(dòng)機(jī) 4.8.2GoogLeNet結(jié)構(gòu) 4.8.3GoogLeNet實(shí)現(xiàn) 4.8.4小結(jié) 4.9ResNet網(wǎng)絡(luò) 4.9.1ResNet動(dòng)機(jī) 4.9.2ResNet結(jié)構(gòu) 4.9.3ResNet實(shí)現(xiàn) 4.9.4小結(jié) 4.10DenseNet網(wǎng)絡(luò) 4.10.1DenseNet動(dòng)機(jī) 4.10.2DenseNet結(jié)構(gòu) 4.10.3DenseNet實(shí)現(xiàn) 4.10.4小結(jié) 第5章模型訓(xùn)練與復(fù)用 5.1參數(shù)及日志管理 5.1.1參數(shù)傳遞 5.1.2參數(shù)載入 5.1.3定義日志函數(shù) 5.1.4日志輸出示例 5.1.5打印模型參數(shù) 5.1.6小結(jié) 5.2TensorBoard可視化 5.2.1安裝與啟動(dòng) 5.2.2連接與訪問(wèn) 5.2.3TensorBoard使用場(chǎng)景 5.2.4使用實(shí)例 5.2.5小結(jié) 5.3模型的保存與復(fù)用 5.3.1查看模型參數(shù) 5.3.2自定義參數(shù)前綴 5.3.3保存訓(xùn)練模型 5.3.4復(fù)用模型推理 5.3.5復(fù)用模型訓(xùn)練 5.3.6小結(jié) 5.4模型的遷移學(xué)習(xí) 5.4.1遷移學(xué)習(xí) 5.4.2模型定義與比較 5.4.3參數(shù)微調(diào) 5.4.4參數(shù)凍結(jié) 5.4.5小結(jié) 5.5開(kāi)源模型復(fù)用 5.5.1ResNet結(jié)構(gòu)介紹 5.5.2遷移模型構(gòu)造 5.5.3結(jié)果對(duì)比 5.5.4小結(jié) 5.6多GPU訓(xùn)練 5.6.1訓(xùn)練方式 5.6.2數(shù)據(jù)并行 5.6.3使用示例 5.6.4小結(jié) 5.7數(shù)據(jù)預(yù)處理緩存 5.7.1修飾器介紹 5.7.2修飾器定義 5.7.3定義數(shù)據(jù)集構(gòu)造類 5.7.4定義緩存修飾器 5.7.5小結(jié) 第6章模型優(yōu)化方法 6.1學(xué)習(xí)率調(diào)度器 6.1.1使用示例 6.1.2實(shí)現(xiàn)原理 6.1.3狀態(tài)恢復(fù) 6.1.4小結(jié) 6.2梯度裁剪 6.2.1基于閾值裁剪 6.2.2基于范數(shù)裁剪 6.2.3使用示例 6.2.4小結(jié) 6.3批歸一化 6.3.1批歸一化動(dòng)機(jī) 6.3.2批歸一化原理 6.3.3批歸一化實(shí)現(xiàn) 6.3.4小結(jié) 6.4層歸一化 6.4.1層歸一化動(dòng)機(jī) 6.4.2層歸一化原理 6.4.3層歸一化實(shí)現(xiàn) 6.4.4小結(jié) 6.5組歸一化 6.5.1組歸一化動(dòng)機(jī) 6.5.2組歸一化原理 6.5.3組歸一化實(shí)現(xiàn) 6.5.4小結(jié) 6.6動(dòng)量法 6.6.1動(dòng)量法動(dòng)機(jī) 6.6.2動(dòng)量法原理 6.6.3使用示例 6.6.4小結(jié) 6.7AdaGrad算法 6.7.1AdaGrad動(dòng)機(jī) 6.7.2AdaGrad原理 6.7.3使用示例 6.7.4小結(jié) 6.8AdaDelta算法 6.8.1AdaDelta動(dòng)機(jī) 6.8.2AdaDelta原理 6.8.3使用示例 6.8.4小結(jié) 6.9Adam算法 6.9.1Adam動(dòng)機(jī) 6.9.2Adam原理 6.9.3使用示例 6.9.4小結(jié) 6.10初始化方法 6.10.1初始化動(dòng)機(jī) 6.10.2初始化原理 6.10.3使用示例 6.10.4小結(jié) 第7章循環(huán)神經(jīng)網(wǎng)絡(luò) 7.1RNN 7.1.1RNN動(dòng)機(jī) 7.1.2RNN原理 7.1.3RNN計(jì)算示例 7.1.4RNN類型 7.1.5多層RNN 7.1.6RNN示例代碼 7.1.7BPTT原理 7.1.8小結(jié) 7.2時(shí)序數(shù)據(jù) 7.2.1時(shí)序圖片 7.2.2基于RNN的圖片分類 7.2.3時(shí)序文本 7.2.4基于RNN的文本分類 7.2.5小結(jié) 7.3LSTM網(wǎng)絡(luò) 7.3.1LSTM動(dòng)機(jī) 7.3.2LSTM結(jié)構(gòu) 7.3.3LSTM實(shí)現(xiàn) 7.3.4LSTM梯度分析 7.3.5小結(jié) 7.4GRU網(wǎng)絡(luò) 7.4.1GRU動(dòng)機(jī) 7.4.2GRU結(jié)構(gòu) 7.4.3GRU實(shí)現(xiàn) 7.4.4GRU與LSTM對(duì)比 7.4.5類RNN模型 7.4.6小結(jié) 7.5BiRNN網(wǎng)絡(luò) 7.5.1BiRNN動(dòng)機(jī) 7.5.2BiRNN結(jié)構(gòu) 7.5.3BiRNN實(shí)現(xiàn) 7.5.4小結(jié) 7.6CharRNN網(wǎng)絡(luò) 7.6.1任務(wù)構(gòu)造原理 7.6.2數(shù)據(jù)預(yù)處理 7.6.3古詩(shī)生成任務(wù) 7.6.4小結(jié) 第8章時(shí)序與模型融合 8.1TextCNN 8.1.1TextCNN結(jié)構(gòu) 8.1.2文本分詞 8.1.3TextCNN實(shí)現(xiàn) 8.1.4小結(jié) 8.2TextRNN 8.2.1TextRNN結(jié)構(gòu) 8.2.2TextRNN實(shí)現(xiàn) 8.2.3小結(jié) 8.3CNNRNN 8.3.1CLSTM結(jié)構(gòu) 8.3.2CLSTM實(shí)現(xiàn) 8.3.3BiLSTMCNN結(jié)構(gòu) 8.3.4BiLSTMCNN實(shí)現(xiàn) 8.3.5小結(jié) 8.4ConvLSTM網(wǎng)絡(luò) 8.4.1ConvLSTM動(dòng)機(jī) 8.4.2ConvLSTM結(jié)構(gòu) 8.4.3ConvLSTM實(shí)現(xiàn) 8.4.4KTH數(shù)據(jù)集構(gòu)建 8.4.5KTH動(dòng)作識(shí)別任務(wù) 8.4.6小結(jié) 8.53DCNN 8.5.13DCNN動(dòng)機(jī) 8.5.23DCNN結(jié)構(gòu) 8.5.33DCNN實(shí)現(xiàn) 8.5.4小結(jié) 8.6STResNet 8.6.1STResNet動(dòng)機(jī) 8.6.2任務(wù)背景 8.6.3STResNet結(jié)構(gòu) 8.6.4數(shù)據(jù)集構(gòu)建 8.6.5STResNet實(shí)現(xiàn) 8.6.6小結(jié) 第9章自然語(yǔ)言處理 9.1自然語(yǔ)言處理介紹 9.1.1語(yǔ)言模型 9.1.2基于規(guī)則的語(yǔ)言模型 9.1.3基于統(tǒng)計(jì)的語(yǔ)言模型 9.1.4基于神經(jīng)網(wǎng)絡(luò)的語(yǔ)言模型 9.1.5小結(jié) 9.2Word2Vec詞向量 9.2.1Word2Vec動(dòng)機(jī) 9.2.2Word2Vec模型 9.2.3連續(xù)詞袋模型 9.2.4跳元模型 9.2.5小結(jié) 9.3Word2Vec訓(xùn)練與使用 9.3.1近似訓(xùn)練 9.3.2載入預(yù)訓(xùn)練詞向量 9.3.3可視化與類別計(jì)算 9.3.4詞向量訓(xùn)練 9.3.5小結(jié) 9.4GloVe詞向量 9.4.1GloVe動(dòng)機(jī) 9.4.2共現(xiàn)矩陣 9.4.3GloVe原理 9.4.4GloVe詞向量使用 9.4.5小結(jié) 9.5詞向量的微調(diào)使用 9.5.1詞嵌入層介紹 9.5.2詞嵌入層使用 9.5.3多通道TextCNN網(wǎng)絡(luò) 9.5.4小結(jié) 9.6fastText網(wǎng)絡(luò) 9.6.1fastText動(dòng)機(jī) 9.6.2fastText原理 9.6.3fastText庫(kù)介紹 9.6.4詞向量的使用與訓(xùn)練 9.6.5fastText文本分類 9.6.6小結(jié) 9.7Seq2Seq網(wǎng)絡(luò) 9.7.1Seq2Seq動(dòng)機(jī) 9.7.2Seq2Seq結(jié)構(gòu) 9.7.3搜索策略 9.7.4小結(jié) 9.8序列模型評(píng)價(jià)指標(biāo) 9.8.1困惑度 9.8.2雙語(yǔ)評(píng)估輔助 9.8.3小結(jié) 9.9NMT網(wǎng)絡(luò) 9.9.1谷歌翻譯簡(jiǎn)介 9.9.2統(tǒng)計(jì)翻譯模型弊端 9.9.3NMT數(shù)據(jù)集構(gòu)建 9.9.4Seq2Seq實(shí)現(xiàn) 9.9.5NMT模型實(shí)現(xiàn) 9.9.6NMT推理實(shí)現(xiàn) 9.9.7NMT模型訓(xùn)練 9.9.8小結(jié) 9.10注意力機(jī)制 9.10.1注意力的起源 9.10.2注意力機(jī)制思想 9.10.3注意力計(jì)算框架 9.10.4填充注意力掩碼 9.10.5Bahdanau注意力 9.10.6Luong注意力 9.10.7小結(jié) 9.11含注意力的NMT網(wǎng)絡(luò) 9.11.1含注意力的NMT結(jié)構(gòu) 9.11.2含注意力的NMT實(shí)現(xiàn) 9.11.3模型訓(xùn)練 9.11.4小結(jié) 9.12含注意力的RNN 9.12.1含注意力的RNN結(jié)構(gòu) 9.12.2含注意力的RNN實(shí)現(xiàn) 9.12.3小結(jié) 第10章現(xiàn)代神經(jīng)網(wǎng)絡(luò) 10.1ELMo網(wǎng)絡(luò) 10.1.1ELMo動(dòng)機(jī) 10.1.2ELMo結(jié)構(gòu) 10.1.3ELMo實(shí)現(xiàn) 10.1.4ELMo遷移 10.1.5小結(jié) 10.2Transformer網(wǎng)絡(luò) 10.2.1Transformer動(dòng)機(jī) 10.2.2自注意力機(jī)制 10.2.3多頭注意力機(jī)制 10.2.4輸入編碼 10.2.5小結(jié) 10.3Transformer結(jié)構(gòu) 10.3.1單層Transformer結(jié)構(gòu) 10.3.2多層Transformer結(jié)構(gòu) 10.3.3多頭注意力實(shí)現(xiàn) 10.3.4小結(jié) 10.4Transformer實(shí)現(xiàn) 10.4.1嵌入層實(shí)現(xiàn) 10.4.2編碼器實(shí)現(xiàn) 10.4.3解碼器實(shí)現(xiàn) 10.4.4Transformer網(wǎng)絡(luò)實(shí)現(xiàn) 10.4.5小結(jié) 10.5Transformer對(duì)聯(lián)模型 10.5.1數(shù)據(jù)預(yù)處理 10.5.2網(wǎng)絡(luò)結(jié)構(gòu) 10.5.3模型訓(xùn)練 10.5.4模型推理 10.5.5小結(jié) 10.6BERT網(wǎng)絡(luò) 10.6.1BERT動(dòng)機(jī) 10.6.2BERT結(jié)構(gòu) 10.6.3BERT輸入層 10.6.4預(yù)訓(xùn)練任務(wù) 10.6.5小結(jié) 10.7從零實(shí)現(xiàn)BERT 10.7.1工程結(jié)構(gòu) 10.7.2Input Embedding實(shí)現(xiàn) 10.7.3BERT網(wǎng)絡(luò)實(shí)現(xiàn) 10.7.4小結(jié) 10.8BERT文本分類模型 10.8.1任務(wù)構(gòu)造原理 10.8.2數(shù)據(jù)預(yù)處理 10.8.3加載預(yù)訓(xùn)練模型 10.8.4文本分類 10.8.5小結(jié) 10.9BERT問(wèn)題選擇模型 10.9.1任務(wù)構(gòu)造原理 10.9.2數(shù)據(jù)預(yù)處理 10.9.3問(wèn)題選擇 10.9.4小結(jié) 10.10BERT問(wèn)題回答模型 10.10.1任務(wù)構(gòu)造原理 10.10.2樣本構(gòu)造與結(jié)果篩選 10.10.3數(shù)據(jù)預(yù)處理 10.10.4問(wèn)題回答 10.10.5小結(jié) 10.11BERT命名體識(shí)別模型 10.11.1任務(wù)構(gòu)造原理 10.11.2數(shù)據(jù)預(yù)處理 10.11.3命名體識(shí)別 10.11.4小結(jié) 10.12BERT從零訓(xùn)練 10.12.1構(gòu)建流程與格式化 10.12.2數(shù)據(jù)預(yù)處理 10.12.3預(yù)訓(xùn)練任務(wù)實(shí)現(xiàn) 10.12.4模型訓(xùn)練與微調(diào) 10.12.5小結(jié) 10.13GPT1模型 10.13.1GPT1動(dòng)機(jī) 10.13.2GPT1結(jié)構(gòu) 10.13.3GPT1實(shí)現(xiàn) 10.13.4小結(jié) 10.14GPT2與GPT3模型 10.14.1GPT2動(dòng)機(jī) 10.14.2GPT2結(jié)構(gòu) 10.14.3GPT2使用 10.14.4GPT3結(jié)構(gòu) 10.14.5GPT3的局限性與安全性 10.14.6小結(jié) 10.15基于GPT2的中文預(yù)訓(xùn)練模型 10.15.1項(xiàng)目介紹 10.15.2生成結(jié)果篩選 10.15.3模型推理 10.15.4模型訓(xùn)練 10.15.5小結(jié) 10.16InstructGPT與ChatGPT 10.16.1InstructGPT動(dòng)機(jī) 10.16.2人類反饋強(qiáng)化學(xué)習(xí) 10.16.3InstructGPT原理 10.16.4InstructGPT評(píng)估及結(jié)果 10.16.5InstructGPT數(shù)據(jù)集 10.16.6InstructGPT局限性 10.16.7ChatGPT 10.16.8小結(jié) 10.17ChatGPT與提示詞工程 10.17.1提示詞工程 10.17.2提示詞的構(gòu)成 10.17.3簡(jiǎn)單提示詞 10.17.4少樣本提示詞 10.17.5情境化提示詞 10.17.6定制化 10.17.7場(chǎng)景應(yīng)用 10.17.8ChatGPT的攻擊與防御 10.17.9小結(jié) 10.18百川大模型使用 10.18.1模型簡(jiǎn)介 10.18.2項(xiàng)目介紹 10.18.3模型結(jié)構(gòu) 10.18.4模型推理 10.18.5模型微調(diào) 10.18.6小結(jié) 10.19百川大模型實(shí)現(xiàn) 10.19.1解碼緩存原理 10.19.2解碼層實(shí)現(xiàn) 10.19.3語(yǔ)言模型實(shí)現(xiàn) 10.19.4模型微調(diào)實(shí)現(xiàn) 10.19.5模型推理實(shí)現(xiàn) 10.19.6模型解碼過(guò)程 10.19.7小結(jié) 10.20GPT4與GPT的使用 10.20.1GPT4介紹 10.20.2GPT4模型的使用 10.20.3GPT介紹 10.20.4小結(jié) 參考文獻(xiàn)
你還可能感興趣
我要評(píng)論
|