遷移學習作為機器學習和人工智能領域的重要方法,在計算機視覺、自然語言處理(NLP)、語音識別等領域都得到廣泛應用。本書是遷移學習技術的實用入門圖書,能夠帶領讀者深入實踐自然語言處理模型。首先,本書回顧了機器學習中的關鍵概念,并介紹了機器學習的發(fā)展歷史,以及NLP遷移學習的進展;其次,深入探討了一些重要的NLP遷移學習方法NLP淺層遷移學習和NLP深度遷移學習;最后,涵蓋NLP遷移學習領域中重要的子領域以Transformer作為關鍵功能的深度遷移學習技術。讀者可以動手將現(xiàn)有的先進模型應用于現(xiàn)實世界的應用程序,包括垃圾電子郵件分類器、IMDb電影評論情感分類器、自動事實檢查器、問答系統(tǒng)和翻譯系統(tǒng)等。
本書文字簡潔、論述精辟、層次清晰,既適合擁有NLP基礎的機器學習和數(shù)據(jù)科學相關的開發(fā)人員閱讀,也適合作為高等院校計算機及相關專業(yè)的學生參考用書。
·內(nèi)容基礎且實用。本書是關于遷移學習技術在NLP領域的實用指南,能夠幫助讀者快速了解相關的機器學習概念,并將其應用于現(xiàn)實世界的問題。
·內(nèi)容技術新。本書詳細介紹了如何使用遷移學習技術來解決新場景、新任務和新環(huán)境的問題,使得機器學習系統(tǒng)更加可靠和魯棒。
·具有實戰(zhàn)性。本書提供了如何使用遷移學習來改進NLP模型的實踐指導,讀者可以學習如何從預訓練模型開始,調(diào)整以滿足確切的需求,從而提供先進的結果。
·涵蓋廣泛主題。本書涵蓋了各種NLP應用程序,包括垃圾電子郵件分類器、IMDb電影評論情緒分析器、自動事實檢查器、問答系統(tǒng)和翻譯系統(tǒng)等,使讀者能夠全面了解遷移學習在NLP領域的應用。
·參考價值高。本書不僅適合擁有NLP基礎的機器學習和數(shù)據(jù)科學的開發(fā)人員閱讀,同時也適合高等院校計算機及相關專業(yè)的學生和軟件學院的學生參考,具有很高的參考價值。
·清晰易懂的文字表述:本書采用簡潔明了的文字表述,使讀者能夠輕松理解書中的內(nèi)容,降低閱讀門檻。
Paul Azunre擁有麻省理工學院計算機科學博士學位,曾擔任美國國防部高級研究計劃局(DARPA)的多個研究項目的主任研究員。由他創(chuàng)建的Algorine公司致力于推進AI/ML技術并讓這些技術產(chǎn)生重大社會影響。Paul還參與創(chuàng)建了Ghana NLP開源社區(qū)。該社區(qū)專注于NLP技術的應用,尤其是對加納語和其他低資源語言進行遷移學習。
第 一部分 導論
第 1章 遷移學習簡介 3
1.1 NLP領域典型任務概述 5
1.2 理解人工智能背景下的NLP技術 6
1.2.1 人工智能 7
1.2.2 機器學習 7
1.2.3 自然語言處理 11
1.3 NLP發(fā)展簡史 12
1.3.1 NLP簡介 12
1.3.2 遷移學習的進展 14
1.4 計算機視覺中的遷移學習 16
1.4.1 概述 16
1.4.2 ImageNet預訓練模型 17
1.4.3 ImageNet預訓練模型的微調(diào) 18
1.5 NLP遷移學習成為一個令人興奮的研究課題的原因 19
小結 20
第 2章 從頭開始:數(shù)據(jù)預處理 21
2.1 垃圾電子郵件分類任務中示例數(shù)據(jù)的預處理 23
2.1.1 加載并檢視Enron電子郵件語料庫 24
2.1.2 加載并檢視欺詐電子郵件數(shù)據(jù)集 26
2.1.3 將電子郵件文本轉(zhuǎn)換為數(shù)值 30
2.2 電影評論情感分類任務中示例數(shù)據(jù)的預處理 32
2.3 廣義線性模型 35
2.3.1 邏輯斯諦回歸 36
2.3.2 支持向量機 38
小結 38
第3章 從頭開始:基準測試和優(yōu)化 41
3.1 基于決策樹的模型 41
3.1.1 隨機森林 42
3.1.2 梯度提升機 42
3.2 神經(jīng)網(wǎng)絡模型 47
3.2.1 語言模型嵌入 47
3.2.2 BERT模型簡介 52
3.3 效果優(yōu)化 56
3.3.1 手動超參調(diào)優(yōu) 56
3.3.2 系統(tǒng)化超參調(diào)優(yōu) 57
小結 58
第二部分 基于循環(huán)神經(jīng)網(wǎng)絡的淺層遷移學習和深度遷移學習
第4章 NLP淺層遷移學習 63
4.1 基于預訓練詞嵌入的半監(jiān)督學習 65
4.2 基于高級表示的半監(jiān)督學習 69
4.3 多任務學習 71
4.3.1 問題的提出以及淺層神經(jīng)網(wǎng)絡單任務基線 72
4.3.2 雙任務實驗 74
4.4 領域適配 75
小結 78
第5章 基于循環(huán)神經(jīng)網(wǎng)絡的深度遷移學習實驗的數(shù)據(jù)預處理 79
5.1 表格分類數(shù)據(jù)的預處理 81
5.1.1 獲取并檢視表格數(shù)據(jù) 82
5.1.2 預處理表格數(shù)據(jù) 85
5.1.3 對預處理數(shù)據(jù)進行數(shù)字編碼 87
5.2 預處理示例數(shù)據(jù)的事實核查 87
5.2.1 特殊問題考量 88
5.2.2 加載并檢視事實核查數(shù)據(jù) 88
小結 89
第6章 基于循環(huán)神經(jīng)網(wǎng)絡的NLP深度遷移學習 91
6.1 SIMOn 91
6.1.1 通用神經(jīng)網(wǎng)絡結構概述 92
6.1.2 表格數(shù)據(jù)建模 93
6.1.3 SIMOn在表格數(shù)據(jù)分類中的應用 93
6.2 ELMo 100
6.2.1 ELMo雙向語言建模 101
6.2.2 ELMo在虛假新聞檢測任務中的應用 102
6.3 ULMFiT 104
6.3.1 以語言模型為目標任務的微調(diào) 104
6.3.2 以分類為目標任務的微調(diào) 105
小結 105
第三部分 基于Transformer的深度遷移學習以及適配策略
第7章 基于Transformer的深度遷移學習和GPT 109
7.1 Transformer 110
7.1.1 transformers庫簡介與注意力可視化 113
7.1.2 自注意力 115
7.1.3 殘差連接、編碼器-解碼器注意力和位置編碼 117
7.1.4 預訓練的編碼器-解碼器在機器翻譯任務中的應用 120
7.2 GPT 121
7.2.1 模型結構概述 122
7.2.2 Transformer pipeline及其在文本生成任務中的應用 124
7.2.3 聊天機器人任務中的應用 126
小結 128
第8章 基于BERT和mBERT的NLP深度遷移學習 129
8.1 BERT 130
8.1.1 BERT模型結構 131
8.1.2 在自動問答任務中的應用 134
8.1.3 在空白填寫和后續(xù)句預測任務中的應用 136
8.2 mBERT的跨語言學習 138
8.2.1 JW300數(shù)據(jù)集概述 139
8.2.2 用預訓練分詞器將mBERT遷移到Twi單語言數(shù)據(jù) 139
8.2.3 根據(jù)Twi單語言數(shù)據(jù)從頭訓練mBERT模型和分詞器 142
小結 143
第9章 ULMFiT與知識蒸餾的適配策略 145
9.1 逐步解凍和差別式微調(diào) 146
9.1.1 預訓練語言模型微調(diào) 147
9.1.2 以分類為目標任務的微調(diào) 149
9.2 知識蒸餾 151
小結 156
第 10章 ALBERT、適配器和多任務適配策略 157
10.1 嵌入因子分解與跨層參數(shù)共享 158
10.2 多任務微調(diào) 162
10.2.1 GLUE數(shù)據(jù)集 163
10.2.2 GLUE單任務微調(diào) 164
10.2.3 序列化適配 167
10.3 適配器 169
小結 171
第 11章 總結 173
11.1 關鍵概念概述 174
11.2 其他新興研究趨勢 179
11.2.1 RoBERTa 180
11.2.2 GPT-3 180
11.2.3 XLNet 182
11.2.4 BigBird 182
11.2.5 Longformer 182
11.2.6 Reformer 183
11.2.7 T5 183
11.2.8 BART 184
11.2.9 XLM 185
11.2.10 TAPAS 185
11.3 NLP遷移學習的發(fā)展方向 186
11.4 倫理和環(huán)境因素 187
11.5 最新進展 189
11.5.1 Kaggle和Zindi比賽 189
11.5.2 arXiv 190
11.5.3 新聞與社交媒體 190
11.6 寫在最后 191
附錄A Kaggle入門 193
A.1 通過Kaggle Kernel免費使用GPU 193
A.2 競賽、討論區(qū)和博客 198
附錄B 深度學習的基礎工具簡介 201
B.1 隨機梯度下降 202
B.2 TensorFlow 203
B.3 PyTorch 206
B.4 Keras、fast.ai庫和Hugging Face的transformers庫 207