深度學(xué)習(xí)是人工智能的重要分支,在多個應(yīng)用領(lǐng)域取得了突破性成果。本書作為深度學(xué)習(xí)的入門教材,基本涵蓋了深度學(xué)習(xí)的各個方面。全書共8章,第1章概要介紹了深度學(xué)習(xí)的基本概念、典型算法及應(yīng)用;第2~5章是本書的核心內(nèi)容,詳細(xì)介紹了卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、Transformer和生成對抗網(wǎng)絡(luò)的基本原理、典型算法以及主要應(yīng)用;第6章介紹了一些典型的深度生成模型以及近期比較流行的擴散模型;第7章介紹了深度學(xué)習(xí)中常用的正則化與優(yōu)化方法;第8章介紹了TensorFlow、PyTorch和飛槳三個常用的深度學(xué)習(xí)框架。本書每章都附有復(fù)習(xí)題,中間各章還附有實驗題,便于讀者復(fù)習(xí)知識點和進行實踐鍛煉。此外,附錄中還給出了一些數(shù)學(xué)基礎(chǔ)知識和中英文術(shù)語對照。
本書可作為高等院校計算機科學(xué)與技術(shù)、智能科學(xué)與技術(shù)、自動化、電子科學(xué)與技術(shù)等相關(guān)專業(yè)的研究生或本科生教材,也可作為深度學(xué)習(xí)研究人員與算法工程師的參考書。
?讀者通過本書可以掌握深度學(xué)習(xí)的基本原理、核心技術(shù)以及實踐技能。
?各章內(nèi)容相對獨立,讀者可根據(jù)需要選擇閱讀。
?每章附有復(fù)習(xí)題和實驗題,便于讀者復(fù)習(xí)重要知識點和進行實踐技能鍛煉。
?每章附有“本章人物”專欄,介紹與該章內(nèi)容相關(guān)的著名科學(xué)家。
?附錄中給出了數(shù)學(xué)基礎(chǔ)知識和中英文術(shù)語對照,便于讀者查閱學(xué)習(xí)。
前言
ChatGPT等大型語言模型的出現(xiàn)引發(fā)了新一輪人工智能浪潮,這被認(rèn)為是繼互聯(lián)網(wǎng)之后信息技術(shù)發(fā)展史上的又一個里程碑。ChatGPT等大型語言模型均基于Transformer構(gòu)建,Transformer本身就是一種深度學(xué)習(xí)模型,這足以說明深度學(xué)習(xí)在人工智能中具有舉足輕重的地位。深度學(xué)習(xí)在計算機視覺、語音識別和自然語言處理等領(lǐng)域都取得了大量突破性的成果,很多成果已經(jīng)在我國經(jīng)濟與社會發(fā)展、人民生產(chǎn)生活中發(fā)揮了重要作用,如人臉識別、語音識別、語音合成、機器翻譯、問答系統(tǒng)和產(chǎn)品缺陷檢測等。目前,深度學(xué)習(xí)的應(yīng)用領(lǐng)域還在不斷擴展,如基于AI的內(nèi)容生成、蛋白質(zhì)結(jié)構(gòu)預(yù)測、新興材料結(jié)構(gòu)預(yù)測、天氣預(yù)報以及數(shù)學(xué)發(fā)現(xiàn)等,并且在部分領(lǐng)域已經(jīng)取得了重要進展。
2018~2019學(xué)年春季學(xué)期,我在中國科學(xué)院大學(xué)首次開設(shè)了“深度學(xué)習(xí)”課程,選課人數(shù)超過400人,由于當(dāng)時市面上并沒有合適的教材可用,為了講好這門課,我花費了大量時間備課,好在自己的研究方向跟深度學(xué)習(xí)緊密相關(guān),積累了不少素材,但仍閱讀了大量文獻資料來撰寫講義和制作課件。我很早就有將課程講義完善并出版的想法,但是由于教學(xué)科研工作繁忙,直到學(xué)校批復(fù)“深度學(xué)習(xí)”課程要出版教材,我才付諸行動。在此要感謝學(xué)校教務(wù)處田晨晨老師和計算機學(xué)院楊林春老師在本書撰寫過程中的支持與幫助,同時也要感謝機械工業(yè)出版社對本書出版工作的大力支持。
作為高等學(xué)校教材,本書寫作的初衷是希望幫助同學(xué)們掌握深度學(xué)習(xí)的基本原理、核心技術(shù)以及實踐技能。全書共分8章,各章內(nèi)容相對獨立,在講授或者閱讀時不一定要按照順序進行。第1章概要介紹了深度學(xué)習(xí)的基本概念、典型算法及應(yīng)用;第2~5章是本書的核心內(nèi)容,詳細(xì)介紹了卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、Transformer和生成對抗網(wǎng)絡(luò)的相關(guān)知識;第6章介紹了一些典型的深度生成模型以及近期比較流行的擴散模型;第7章介紹了深度學(xué)習(xí)中常用的正則化與優(yōu)化方法;第8章介紹了TensorFlow、PyTorch和飛槳三個常用的深度學(xué)習(xí)框架。此外,附錄中還給出了一些數(shù)學(xué)基礎(chǔ)知識和中英文術(shù)語對照。
每章都給出了復(fù)習(xí)題,以幫助讀者復(fù)習(xí)該章內(nèi)容。同時,我認(rèn)為只有通過動手實踐才能深刻領(lǐng)會深度學(xué)習(xí)算法的精髓,因此,第2~7章都給出了一些實驗題,便于選用本書的教師有選擇地安排教學(xué)實驗。此外,為了讓讀者更好地了解深度學(xué)習(xí)的起源與發(fā)展,在每章最后還開設(shè)了“本章人物”專欄,介紹與該章內(nèi)容相關(guān)的著名科學(xué)家。
當(dāng)然,由于深度學(xué)習(xí)技術(shù)的發(fā)展日新月異,本書并沒有覆蓋深度學(xué)習(xí)的全部內(nèi)容,希望再版時能夠不斷更新,也希望廣大讀者提出寶貴建議。
本書能夠完成,還要感謝“深度學(xué)習(xí)”課程教學(xué)團隊的張新鋒老師、林姝老師和萬方老師的支持與幫助,感謝CCIP實驗室的各位同學(xué),包括李鵬飛、李帥敏、景琨、王義宇、劉淼、李科堯、向迅之、王迪、陳旭、邱柏瑜、夏琦等。北京交通大學(xué)于劍教授審閱了教材全稿并提出了很好的修改建議,在此對于劍教授表示衷心的感謝。此外,本書參考了大量學(xué)術(shù)文獻與互聯(lián)網(wǎng)資源,在此對文獻與資源作者同樣表示衷心的感謝!
最后,由于本人能力有限,書中難免會有不當(dāng)和錯誤之處,還請各位讀者不吝告知,我將及時糾正!
徐俊剛
中國科學(xué)院大學(xué)
2024年4月于北京
徐俊剛 中國科學(xué)院大學(xué)計算機科學(xué)與技術(shù)學(xué)院教授,博士生導(dǎo)師,云計算與智能信息處理實驗室(Cloud Computing & Intelligent Information Processing Lab,CCIP實驗室)主任,中國科學(xué)院大學(xué)第六屆學(xué)位評定委員會計算機與控制學(xué)位評定委員會委員,計算機科學(xué)與技術(shù)學(xué)院教學(xué)委員會委員,計算機科學(xué)與技術(shù)學(xué)院“深度學(xué)習(xí)”課程首席教授。2003年博士畢業(yè)于中國科學(xué)院軟件研究所,2005年清華大學(xué)計算機科學(xué)與技術(shù)系博士后出站。研究領(lǐng)域包括深度學(xué)習(xí)、自動機器學(xué)習(xí)和多模態(tài)智能分析等,主持國家科技支撐計劃課題、國家自然科學(xué)基金面上項目、北京市科技計劃課題、北京市自然科學(xué)基金面上項目等科研項目多項,發(fā)表論文100余篇,F(xiàn)為國家科技專家?guī)鞂<,北京市科學(xué)技術(shù)委員會、中關(guān)村科技園區(qū)管理委員會專家。目前任中國人工智能學(xué)會智能服務(wù)專業(yè)委員會常務(wù)委員,中國計算機學(xué)會人工智能與模式識別專業(yè)委員會執(zhí)行委員、數(shù)據(jù)庫專業(yè)委員會執(zhí)行委員和自然語言處理專業(yè)委員會執(zhí)行委員。講授的“深度學(xué)習(xí)”課程被評為2021年中國科學(xué)院大學(xué)“校級優(yōu)秀研究生課程”,個人榮獲2016年“中國科學(xué)院朱李月華優(yōu)秀教師獎”。
目錄
序
前言
主要符號表
第1章 引言 1
1.1 深度學(xué)習(xí)的起源與發(fā)展 1
1.1.1 深度學(xué)習(xí)的起源 1
1.1.2 深度學(xué)習(xí)的發(fā)展 2
1.2 深度學(xué)習(xí)與機器學(xué)習(xí)、人工智能的關(guān)系 4
1.2.1 人工智能 4
1.2.2 機器學(xué)習(xí) 4
1.2.3 深度學(xué)習(xí) 5
1.3 深度學(xué)習(xí)的基本概念和典型算法 6
1.3.1 深度學(xué)習(xí)的基本概念 6
1.3.2 典型深度學(xué)習(xí)算法 6
1.4 深度學(xué)習(xí)的主要應(yīng)用概述 12
1.4.1 深度學(xué)習(xí)在計算機視覺領(lǐng)域的應(yīng)用 12
1.4.2 深度學(xué)習(xí)在語音處理領(lǐng)域的應(yīng)用 13
1.4.3 深度學(xué)習(xí)在自然語言處理領(lǐng)域的應(yīng)用 14
1.4.4 深度學(xué)習(xí)在多模態(tài)處理領(lǐng)域的應(yīng)用 14
1.5 本書的組織結(jié)構(gòu) 14
復(fù)習(xí)題 15
參考文獻 15
本章人物:Geoffrey Hinton教授 18
第2章 卷積神經(jīng)網(wǎng)絡(luò) 19
2.1 卷積神經(jīng)網(wǎng)絡(luò)的起源與發(fā)展 19
2.1.1 卷積神經(jīng)網(wǎng)絡(luò)的起源 19
2.1.2 卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展 20
2.2 卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu) 21
2.2.1 卷積層 21
2.2.2 激活函數(shù) 26
2.2.3 池化層 30
2.2.4 全連接層 30
2.2.5 輸出層 30
2.3 卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練 31
2.3.1 卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程 31
2.3.2 池化層的訓(xùn)練 31
2.3.3 卷積層的訓(xùn)練 33
2.4 典型卷積神經(jīng)網(wǎng)絡(luò) 35
2.4.1 LeNet-5 35
2.4.2 AlexNet 37
2.4.3 VGGNet 39
2.4.4 GoogleNet 41
2.4.5 ResNet 42
2.5 卷積神經(jīng)網(wǎng)絡(luò)的主要應(yīng)用 43
2.5.1 目標(biāo)檢測 43
2.5.2 圖像分割 52
2.5.3 姿態(tài)估計 56
2.5.4 人臉識別 58
復(fù)習(xí)題 62
實驗題 62
參考文獻 63
本章人物:Yann LeCun教授 65
第3章 循環(huán)神經(jīng)網(wǎng)絡(luò) 66
3.1 循環(huán)神經(jīng)網(wǎng)絡(luò)的起源與發(fā)展 66
3.2 循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練 67
3.3 長短期記憶網(wǎng)絡(luò) 70
3.4 循環(huán)神經(jīng)網(wǎng)絡(luò)的變種 73
3.4.1 GRU 73
3.4.2 雙向RNN 75
3.4.3 堆疊RNN 75
3.5 循環(huán)神經(jīng)網(wǎng)絡(luò)的典型應(yīng)用 76
3.5.1 語言模型 76
3.5.2 自動文本摘要 79
3.5.3 機器閱讀理解 82
復(fù)習(xí)題 85
實驗題 86
參考文獻 86
本章人物:Jürgen Schmidhuber教授 89
第4章 Transformer 90
4.1 注意力機制 90
4.1.1 注意力機制的Encoder-Decoder結(jié)構(gòu) 90
4.1.2 注意力機制的分類 92
4.2 Transformer概述 93
4.2.1 Transformer的結(jié)構(gòu) 93
4.2.2 Transformer的輸入編碼 94
4.2.3 Transformer中的自注意力機制 95
4.2.4 Transformer中的其他細(xì)節(jié) 98
4.2.5 基于Transformer的大規(guī)模預(yù)訓(xùn)練模型 99
4.3 GPT系列模型 99
4.3.1 GPT-1 99
4.3.2 GPT-2 101
4.3.3 GPT-3 102
4.3.4 InstructGPT和ChatGPT 103
4.4 BERT系列模型 104
4.4.1 與其他大規(guī)模預(yù)訓(xùn)練模型的區(qū)別 105
4.4.2 BERT的架構(gòu)與參數(shù) 105
4.4.3 BERT的輸入表示 105
4.4.4 BERT的訓(xùn)練 107
4.4.5 BERT的變種 107
4.5 Swin Transformer 109
4.5.1 Swin Transformer的提出 109
4.5.2 Swin Transformer結(jié)構(gòu) 109
4.5.3 Swin Transformer的滑動窗口機制 111
4.6 Transformer的主要應(yīng)用 112
4.6.1 自然語言處理領(lǐng)域 112
4.6.2 計算機視覺領(lǐng)域 117
4.6.3 多模態(tài)領(lǐng)域 121
復(fù)習(xí)題 128
實驗題 128
參考文獻 128
本章人物:Yoshua Bengio教授 131
第5章 生成對抗網(wǎng)絡(luò) 132
5.1 GAN的基本原理 132
5.1.1 零和博弈 132
5.1.2 GAN的基本結(jié)構(gòu) 133
5.1.3 GAN的目標(biāo)函數(shù) 134
5.1.4 GAN的訓(xùn)練 134
5.2 GAN的優(yōu)化與改進 135
5.2.1 限定條件優(yōu)化 136
5.2.2 迭代式生成優(yōu)化 138
5.2.3 結(jié)構(gòu)優(yōu)化 141
5.3 GAN的主要應(yīng)用 143
5.3.1 圖像生成 143
5.3.2 圖像轉(zhuǎn)換 144
5.3.3 圖像超分辨率重建 147
5.3.4 音樂生成 148
5.3.5 異常檢測 152
復(fù)習(xí)題 156
實驗題 156
參考文獻 156
本章人物:Ian Goodfellow博士 158
第6章 深度生成模型 159
6.1 深度生成模型概述 159
6.2 Hopfield神經(jīng)網(wǎng)絡(luò) 160
6.3 玻爾茲曼機與受限玻爾茲曼機 162
6.3.1 玻爾茲曼機 162
6.3.2 受限玻爾茲曼機 163
6.4 Sigmoid信念網(wǎng)絡(luò)與深度信念網(wǎng)絡(luò) 165
6.4.1 Sigmoid信念網(wǎng)絡(luò) 165
6.4.2 深度信念網(wǎng)絡(luò) 166
6.5 深度玻爾茲曼機 167
6.6 自編碼器及其變種 169
6.6.1 自編碼器 169
6.6.2 降噪自編碼器 170
6.6.3 稀疏自編碼器 170
6.6.4 深度自編碼器 171
6.7 擴散模型 172
6.7.1 前向過程 173
6.7.2 逆向過程 174
6.7.3 DDPM的訓(xùn)練 176
6.8 深度生成模型的應(yīng)