神經(jīng)網(wǎng)絡在深度學習和人工智能中發(fā)揮著非常重要的作用,其應用領域非常廣泛,涵蓋從醫(yī)療診斷、財務預測到機器診斷等多個領域。
《神經(jīng)網(wǎng)絡設計與實現(xiàn)》旨在指導你以實用的方式學習神經(jīng)網(wǎng)絡。書中將簡要介紹感知器網(wǎng)絡,從而幫助你入門。然后,你將獲得有關(guān)機器學習的見解,并了解人工智能的未來。接下來,你將研究如何使用嵌入來處理文本數(shù)據(jù),并學習長短期記憶網(wǎng)絡在解決常見自然語言處理問題中的作用。該書還將演示如何實現(xiàn)高級概念,包括遷移學習、生成對抗網(wǎng)絡、自編碼器和強化學習,以及有關(guān)神經(jīng)網(wǎng)絡領域新進展的更多內(nèi)容。
在完成該書的學習后,你將掌握構(gòu)建、訓練和優(yōu)化自己的神經(jīng)網(wǎng)絡模型所需的技能,該模型能夠提供可預測的解決方案。通過閱讀該書,你將:
●了解如何使用反向傳播訓練網(wǎng)絡。
●了解遷移學習的概念,以使用Keras和VGG網(wǎng)絡解決任務。
●探索如何加載和轉(zhuǎn)換圖像以用于神經(jīng)網(wǎng)絡。
●掌握LSTM和NLP等高級、復雜的深度學習概念,以掌握新知識。
●研究如何將神經(jīng)網(wǎng)絡應用于多個領域。
●探索創(chuàng)新算法,例如生成對抗網(wǎng)絡和深度強化學習。
●解決神經(jīng)網(wǎng)絡開發(fā)面臨的共同挑戰(zhàn)。
適讀人群 :本書為中階書籍,適合對AI和深度學習感興趣并且想進一步提高技能的讀者閱讀。 系統(tǒng)性——本書系統(tǒng)地整理了神經(jīng)網(wǎng)絡的知識體系,從機器學習基礎、深度學習和高級應用領域三個層面來串聯(lián)神經(jīng)網(wǎng)路所涉及的知識點,使讀者對神經(jīng)網(wǎng)絡技術(shù)的理解更具系統(tǒng)性、條理性和全面性。
可讀性——本書在編排上由淺入深,在語言表達上力求通俗易懂,并通過增加圖例、示例以及必要的數(shù)學推導來理解抽象的概念。同時提供了延伸閱讀,便于讀者查用。
實踐性——本書通過解決具體問題(如計算機視覺問題、NLP問題等)來介紹神經(jīng)網(wǎng)絡和深度學習的核心理論。
譯 者 序
“暮色蒼?磩潘,亂云飛渡仍從容。天生一個仙人洞,無限風光在險峰!
深度學習自2006年正式提出以來,經(jīng)過15年多的發(fā)展,無論是在理論還是在實際應用方面,都得到了突破性的進展。它使人工智能(AI)產(chǎn)生了革命性的突破,讓人們切實領略到人工智能給生活帶來改變的潛力。機器學習與深度學習因而成為很多AI公司、科研院所和高校的主要研究內(nèi)容。
近年來,深度學習、遷移學習與強化學習已經(jīng)成為獨立的研究分支,學術(shù)界和產(chǎn)業(yè)界在理論、算法和應用方面均取得了長足發(fā)展,深度學習+場景/強化學習+場景的AI產(chǎn)品已經(jīng)給人類帶來了很多方便。
本書從機器學習基礎、深度學習應用和高級機器學習這三個方面入手,結(jié)合算法理論、代碼實現(xiàn)和應用場景,介紹了機器學習的新動向和新技術(shù)。全書分為三部分,第一部分為神經(jīng)網(wǎng)絡入門。第1章主要介紹人工智能的歷史、機器學習概述和監(jiān)督學習算法。第2章介紹神經(jīng)網(wǎng)絡基礎、感知器、神經(jīng)網(wǎng)絡以及FFNN算法實現(xiàn)。第二部分為深度學習應用。第3章主要介紹基于卷積神經(jīng)網(wǎng)絡的圖像處理。第4章介紹文本挖掘。第5章介紹循環(huán)神經(jīng)網(wǎng)絡。第6章介紹如何利用遷移學習重用神經(jīng)網(wǎng)絡。第三部分為高級應用領域。第7章主要對生成對抗網(wǎng)絡的挑戰(zhàn)、發(fā)展變化和時間表進行了介紹,并實現(xiàn)了DCGAN、CycleGAN、ProGAN、StarGAN、StyleGAN等算法。第8章主要對自編碼器、損失函數(shù)和遇到的挑戰(zhàn)進行了介紹,并實現(xiàn)了變分自編碼器。第9章對深度置信網(wǎng)絡(DBN)的架構(gòu)、訓練和調(diào)參進行了介紹。第10章主要講解了強化學習的基本定義,并介紹了Q-learning和冰湖問題。第11章首先對本書進行了總結(jié),然后對人工智能和機器學習的未來進行了展望,其中包括對AI的可解釋性和安全性等問題的討論。
本書的翻譯工作由四川省農(nóng)業(yè)科學院遙感應用研究所郭濤和吉林大學朱夢瑤發(fā)起并組建翻譯團隊完成。其中四川外國語大學成都學院余秋琳負責第1、2和11章,北華航天工業(yè)學院趙子輝負責第3、4和5章,吉林大學朱夢瑤負責第8、9和10章,郭濤負責第6章、第7章和前言等內(nèi)容,并由郭濤和朱夢瑤負責統(tǒng)稿、校對和審核。在此感謝所有參與本書的翻譯校對和技術(shù)審核的人員,感謝你們對本書的出版做出的貢獻。
鑒于本書涉及的廣度和深度,以及譯者團隊的水平,本書的翻譯難免有錯漏之處,歡迎各位讀者在閱讀過程中將本書的問題和勘誤提交至Github(https://github.com/guotao0628/Hands-On-Neural-Networks)。
最后,感謝機械工業(yè)出版社華章分社的王春華編輯和李美瑩編輯,她們?yōu)楸WC本書的質(zhì)量做了大量的編輯和校對工作,在此深表謝意。
郭 濤
2021年
列奧納多·德·馬爾希
(Leonardo De Marchi)
目前是Badoo的數(shù)據(jù)科學家主管,Badoo是世界上的大型交友網(wǎng)站之一,擁有超過4億名用戶。他也是ideai.io(一家專門從事機器學習培訓的公司)的首席教練,為大型機構(gòu)和有活力的初創(chuàng)企業(yè)提供技術(shù)和管理培訓。他擁有人工智能專業(yè)碩士學位,曾在體育界擔任數(shù)據(jù)科學家。
勞拉·米切爾
(Laura Mitchell)
目前是Badoo的首席數(shù)據(jù)科學家。Laura在NLP、圖像分類和推薦系統(tǒng)等項目的交付方面具有豐富的實踐經(jīng)驗,包括從最初的構(gòu)思到產(chǎn)品化。她熱衷于學習新技術(shù)并緊跟行業(yè)趨勢。
譯者序
前言
第一部分 神經(jīng)網(wǎng)絡入門
第1章 有監(jiān)督學習入門2
1.1 人工智能的歷史2
1.2 機器學習概述4
1.2.1 有監(jiān)督學習4
1.2.2 無監(jiān)督學習4
1.2.3 半監(jiān)督學習5
1.2.4 強化學習5
1.3 配置環(huán)境6
1.3.1 了解虛擬環(huán)境7
1.3.2 Anaconda8
1.3.3 Docker9
1.4 Python有監(jiān)督學習實踐9
1.5 特征工程11
1.6 有監(jiān)督學習算法14
1.6.1 指標15
1.6.2 模型評估17
1.7 總結(jié)19
第2章 神經(jīng)網(wǎng)絡基礎20
2.1 感知器20
2.2 Keras27
2.3 前饋神經(jīng)網(wǎng)絡29
2.3.1 反向傳播介紹31
2.3.2 激活函數(shù)33
2.3.3 Keras實現(xiàn)36
2.4 從頭開始使用Python編寫FFNN40
2.4.1 FFNN的Keras實現(xiàn)43
2.4.2 TensorBoard45
2.4.3 XOR問題中的TensorBoard45
2.5 總結(jié)48
第二部分 深度學習應用
第3章 基于卷積神經(jīng)網(wǎng)絡的圖像處理50
3.1 理解卷積神經(jīng)網(wǎng)絡50
3.2 卷積層52
3.2.1 池化層55
3.2.2 丟棄層57
3.2.3 歸一化層57
3.2.4 輸出層57
3.3 Keras中的卷積神經(jīng)網(wǎng)絡58
3.3.1 加載數(shù)據(jù)58
3.3.2 創(chuàng)建模型60
3.3.3 網(wǎng)絡配置60
3.4 Keras表情識別63
3.5 優(yōu)化網(wǎng)絡68
3.6 總結(jié)70
第4章 利用文本嵌入71
4.1 面向NLP的機器學習71
4.2 理解詞嵌入73
4.2.1 詞嵌入的應用73
4.2.2 Word2vec74
4.3 GloVe80
4.3.1 全局矩陣分解80
4.3.2 使用GloVe模型82
4.3.3 基于GloVe的文本分類85
4.4 總結(jié)87
第5章 循環(huán)神經(jīng)網(wǎng)絡88
5.1 理解循環(huán)神經(jīng)網(wǎng)絡88
5.1.1 循環(huán)神經(jīng)網(wǎng)絡原理90
5.1.2 循環(huán)神經(jīng)網(wǎng)絡類型91
5.1.3 損失函數(shù)94
5.2 長短期記憶95
5.2.1 LSTM架構(gòu)95
5.2.2 Keras長短期記憶實現(xiàn)98
5.3 PyTorch基礎知識102
5.4 總結(jié)106
第6章 利用遷移學習重用神經(jīng)網(wǎng)絡107
6.1 遷移學習理論107
6.1.1 多任務學習介紹108
6.1.2 重用其他網(wǎng)絡作為特征提取器108
6.2 實現(xiàn)多任務學習108
6.3 特征提取110
6.4 在PyTorch中實現(xiàn)遷移學習110
6.5 總結(jié)116
第三部分 高級應用領域
第7章 使用生成算法118
7.1 判別算法與生成算法118
7.2 理解GAN120
7.2.1 訓練GAN121
7.2.2 GAN面臨的挑戰(zhàn)123
7.3 GAN的發(fā)展變化和時間線124
7.3.1 條件GAN125
7.3.2 DCGAN125
7.3.3 Pix2Pix GAN131
7.3.4 StackGAN132
7.3.5 CycleGAN133
7.3.6 ProGAN135
7.3.7 StarGAN136
7.3.8 BigGAN138
7.3.9 StyleGAN139
7.3.10 Deepfake142
7.3.11 RadialGAN143
7.4 總結(jié)144
7.5 延伸閱讀144
第8章 實現(xiàn)自編碼器146
8.1 自編碼器概述146
8.2 自編碼器的應用147
8.3 瓶頸和損失函數(shù)147
8.4 自編碼器的標準類型148
8.4.1 欠完備自編碼器148
8.4.2 多層自編碼器151
8.4.3 卷積自編碼器152
8.4.4 稀疏自編碼器155
8.4.5 去噪自編碼器156
8.4.6 收縮自編碼器157
8.5 變分自編碼器157
8.6 訓練變分自編碼器159
8.7 總結(jié)164
8.8 延伸閱讀164
第9章 DBN165
9.1 DBN概述165
9.1.1 貝葉斯置信網(wǎng)絡166
9.1.2 受限玻爾茲曼機167
9.2 DBN架構(gòu)176
9.3 訓練DBN177
9.4 微調(diào)179
9.5 數(shù)據(jù)集和庫179
9.5.1 示例—有監(jiān)督的DBN分類180
9.5.2 示例—有監(jiān)督的DBN回歸181
9.5.3 示例—無監(jiān)督的DBN分類182
9.6 總結(jié)183
9.7 延伸閱讀183
第10章 強化學習184
10.1 基本定義184
10.2 Q-learning介紹187
10.2.1 學習目標187
10.2.2 策略優(yōu)化188
10.2.3 Q-learning方法188
10.3 使用OpenAI Gym188
10.4 冰湖問題191
10.5 總結(jié)199
第11章 下一步是什么200
11.1 本書總結(jié)200
11.2 機器學習的未來201
11.3 通用人工智能202
11.3.1 AI倫理問題203
11.3.2 可解釋性203
11.3.3 自動化204
11.3.4 AI安全性204
11.3.5 問責制205
11.4 結(jié)語205