碼農的零門檻AI課:基於fastai與PyTorch的深度學習

碼農的零門檻AI課:基於fastai與PyTorch的深度學習

《碼農的零門檻AI課:基於fastai與PyTorch的深度學習》深入淺出地介紹了深度學習的概念,並為讀者提供了掌握深度學習的詳細指導。 本書的目標讀者是對深度學習感興趣的廣大程式設計師,只要你有一些編程基礎,即可通過這本書輕鬆上手深度學習。

基本介紹

  • 中文名:碼農的零門檻AI課:基於fastai與PyTorch的深度學習
  • 作者:【澳】Jeremy Howard、【法】Sylvain Gugger
  • 譯者:陳志凱、熊英鷹
  • 出版時間:2023年6月
  • 出版社:電子工業出版社
  • 頁數:572 頁
  • ISBN:9787121455728
  • 定價:179.00 元
  • 開本:16 開
內容簡介,圖書目錄,作者簡介,

內容簡介

深度學習通常被視為數學博士和大型科技公司的專屬領域。但是正如本書所呈現的那樣,熟悉Python的程式設計師可以通過少量的數學背景、少量的數據和最少的代碼在深度學習中取得令人震驚的成果。《碼農的零門檻AI課:基於fastai與PyTorch的深度學習》的兩位作者用口語化且簡單明了的方式描述了各種抽象的理論概念,希望通過本書能讓儘可能多的人了解深度學習。

圖書目錄

前言................................................................................xxi
序................................................................................xxvii
第Ⅰ部分 上手實踐深度學習
第 1 章 你的深度學習之旅....................................................... 3
人人都可以學會深度學習.............................................................................................3
神經網路簡史...............................................................................................................5
作者介紹.......................................................................................................................8
如何學習深度學習........................................................................................................9
你的項目和思維模式...........................................................................................11
構建模型相關的庫和運行環境 :PyTorch、fastai 和 Jupyter(它們都不重要).......... 12
你的第一個模型..........................................................................................................14
找一台擁有合適 GPU 的計算機用於深度學習 ................................................... 14
運行你的第一個 notebook...................................................................................15
什麼是機器學習 ..................................................................................................20
什麼是神經網路..................................................................................................23
一些深度學習的術語...........................................................................................24
機器學習的局限性..............................................................................................25
圖像識別器工作的方式.......................................................................................27
圖像識別器在學習什麼.......................................................................................33
圖像識別器可處理非圖像任務............................................................................ 36
術語回顧.............................................................................................................39
深度學習不僅僅用於圖像分類...................................................................................41
驗證集和測試集..........................................................................................................48
根據判斷定義測試集...........................................................................................50
選擇你想要冒險探索的方向.......................................................................................53
問題 ............................................................................................................................54
深入研究.............................................................................................................55
第 2 章 從模型到輸出.......................................................... 56
深度學習的實踐 ..........................................................................................................56
開始你的項目......................................................................................................57
深度學習的研究進展...........................................................................................58
傳動系統方法......................................................................................................62
收集數據.....................................................................................................................63
從數據到數據載入器..................................................................................................68
數據增強 .............................................................................................................72
訓練模型,並使用模型進行數據清洗........................................................................ 73
將模型轉換為線上應用程式.......................................................................................76
使用模型進行推理..............................................................................................76
從模型創建 notebook 套用..................................................................................78
讓 notebook 成為一個真正的應用程式 ............................................................... 80
部署你的應用程式..............................................................................................81
如何避免災難.............................................................................................................84
不可預見的後果和反饋迴路 ...............................................................................86
寫下來.........................................................................................................................87
問題............................................................................................................................88
深入研究.............................................................................................................89
第 3 章 數據倫理................................................................ 90
數據倫理的主要案例..................................................................................................91
各種 Bug 和追索權:漏洞百出的醫療保健福利算法 .........................................92
反饋迴路 :YouTube 的推薦系統........................................................................ 92
偏見 :拉塔尼亞 ·斯威尼“已被捕”................................................................... 92
為什麼倫理如此重要...........................................................................................93
在產品設計中結合機器學習.......................................................................................96
數據倫理專題.............................................................................................................97
追索權和問責制..................................................................................................98
反饋迴路.............................................................................................................98
偏見...................................................................................................................101
謠言....................................................................................................................111
識別和解決倫理問題 ................................................................................................112
分析你正在做的項目.........................................................................................113
落地流程 ...........................................................................................................113
多元的力量........................................................................................................115
公平、問責和透明............................................................................................116
政策的作用...............................................................................................................117
監管的有效性....................................................................................................118
權利與政策........................................................................................................118
汽車 :前車之鑑................................................................................................119
結論 ..........................................................................................................................119
問題..........................................................................................................................120
深入研究 ...........................................................................................................121
上手實踐深度學習 :圓滿完成.................................................................................122
第Ⅱ部分 理解 fastai 的套用
第 4 章 深入探索謎底:訓練數字分類器....................................125
像素 :計算機視覺的基礎.........................................................................................125
第一次嘗試 :像素相似度.........................................................................................129
Numpy 數組和 PyTorch 張量.............................................................................134
使用廣播機制計算指標.............................................................................................136
隨機梯度下降法 ........................................................................................................140
梯度計算...........................................................................................................144
通過學習率疊代................................................................................................146
一個直觀的隨機梯度下降案例.......................................................................... 148
梯度下降的總結................................................................................................153
MNIST 損失函式 ......................................................................................................154
sigmoid..............................................................................................................160
隨機梯度下降及小批次.....................................................................................161
將它們集成在一起....................................................................................................162
創建一個最佳化器................................................................................................166
增加一個非線性特徵................................................................................................168
更深入一些........................................................................................................172
術語回顧 ...................................................................................................................172
問題..........................................................................................................................174
深入研究 ...........................................................................................................175
第 5 章 圖像分類..............................................................176
從貓狗識別到寵物分類.............................................................................................176
圖像尺寸的預處理....................................................................................................179
檢查和調試數據塊 ............................................................................................182
交叉熵損失...............................................................................................................184
查看激活值和標籤............................................................................................185
softmax ..............................................................................................................186
對數似然...........................................................................................................189
使用對數函式....................................................................................................191
模型解釋...................................................................................................................193
改進我們的模型........................................................................................................195
學習率查找器....................................................................................................195
解凍與遷移學習................................................................................................197
區別學習率........................................................................................................199
選擇訓練的周期數............................................................................................202
更深的網路架構 ................................................................................................202
結論..........................................................................................................................204
問題..........................................................................................................................205
深入研究...........................................................................................................206
第 6 章 其他計算機視覺問題.................................................207
多標籤分類...............................................................................................................207
數據...................................................................................................................208
構建數據塊........................................................................................................210
二元交叉熵........................................................................................................214
回歸 ..........................................................................................................................219
配置數據...........................................................................................................220
訓練模型 ...........................................................................................................223
結論..........................................................................................................................225
問題..........................................................................................................................225
深入研究...........................................................................................................226
第 7 章 訓練最高水準的模型.................................................227
Imagenette.................................................................................................................227
標準化.......................................................................................................................229
漸進式調整尺寸........................................................................................................231
測試期的數據增強....................................................................................................233
Mixup........................................................................................................................234
標籤平滑...................................................................................................................237
結論..........................................................................................................................239
問題..........................................................................................................................239
深入研究...........................................................................................................240
第 8 章 深入協同過濾.........................................................241
了解數據...................................................................................................................242
學習潛在特徵...........................................................................................................244
創建 DataLoaders......................................................................................................245
從頭開始進行協同過濾.............................................................................................248
權重衰減...........................................................................................................251
創建我們自己的嵌入模組.................................................................................253
嵌入和偏差的解釋....................................................................................................255
使用 fastai.collab ...............................................................................................257
嵌入距離...........................................................................................................257
啟動協同過濾模型的自助取樣.................................................................................258
用於協同過濾的深度學習.........................................................................................259
結論..........................................................................................................................262
問題..........................................................................................................................262
深入研究...........................................................................................................263
第 9 章 深入學習表格建模....................................................264
分類嵌入...................................................................................................................264
超越深度學習...........................................................................................................269
數據集.......................................................................................................................270
Kaggle 競賽 .......................................................................................................270
查看數據...........................................................................................................272
決策樹.......................................................................................................................274
處理日期...........................................................................................................275
使用 TabularPandas 和 TabularProc ...................................................................276
創建決策樹........................................................................................................279
分類變數 ...........................................................................................................283
隨機森林...................................................................................................................284
創建一個隨機森林............................................................................................285
out-of-bag error .................................................................................................287
模型解釋...................................................................................................................288
樹預測置信度的方差.........................................................................................288
特徵重要性........................................................................................................289
刪除低重要性特徵............................................................................................290
刪除冗餘特徵....................................................................................................291
部分依賴...........................................................................................................294
數據泄露...........................................................................................................296
樹解釋器 ...........................................................................................................298
外推與神經網路 ........................................................................................................299
外推問題...........................................................................................................299
查找域外數據....................................................................................................301
使用神經網路....................................................................................................303
集成..........................................................................................................................307
boosting.............................................................................................................308
將嵌入與其他方法相結合.................................................................................309
結論..........................................................................................................................310
問題..........................................................................................................................311
深入研究...........................................................................................................312
第 10 章 NLP 深度探究 :RNN............................................313
文本預處理...............................................................................................................314
分詞...................................................................................................................316
用 fastai 進行分詞.............................................................................................316
根據子詞分詞....................................................................................................320
使用 fastai 進行數值化......................................................................................322
將文本分批作為語言模型的輸入...................................................................... 323
訓練文本分類器........................................................................................................326
使用數據塊來訓練語言模型.............................................................................326
微調語言模型....................................................................................................328
保存和載入模型................................................................................................329
文本生成...........................................................................................................330
創建分類器的數據載入器.................................................................................331
微調分類模型....................................................................................................333
虛假信息和語言模型................................................................................................334
結論..........................................................................................................................337
問題..........................................................................................................................337
深入研究...........................................................................................................338
第 11 章 使用 fastai 的中間層 API 來處理數據..........................339
深入研究 fastai 的分層 API ......................................................................................339
轉換...................................................................................................................340
編寫自定義轉換................................................................................................342
管道...................................................................................................................343
TfmdLists 和 Dataset :轉換後的集合....................................................................... 343
TfmdLists..........................................................................................................344
Datasets .............................................................................................................346
套用中間層數據 API :孿生體(Siamese Pair)........................................................ 348
結論..........................................................................................................................352
問題..........................................................................................................................352
深入研究...........................................................................................................353
理解 fastai 的套用:總結 ..........................................................................................353
第Ⅲ部分 深度學習基礎
第 12 章 從零開始製作語言模型.............................................357
數據 ..........................................................................................................................357
從零開始構建你的第一個語言模型.......................................................................... 359
PyTorch 語言模型 .............................................................................................360
我們的第一個循環神經網路 .............................................................................363
改進 RNN.................................................................................................................364
維持 RNN 的狀態 ..............................................................................................365
創建更多的標誌................................................................................................368
多層循環神經網路....................................................................................................370
模型...................................................................................................................371
激活值消失 / 爆炸 .............................................................................................372
LSTM ........................................................................................................................373
從零開始構建 LSTM.........................................................................................374
使用 LSTM 訓練一個語言模型 .........................................................................377
對 LSTM 進行正則化................................................................................................378
dropout..............................................................................................................378
激活單元正則化和時序激活單元正則化........................................................... 380
訓練一個權重綁定正則化 LSTM...................................................................... 381
結論 ..........................................................................................................................382
問題..........................................................................................................................383
深入研究...........................................................................................................385
第 13 章 卷積神經網路.......................................................386
卷積的魔力...............................................................................................................386
套用一個卷積核................................................................................................389
PyTorch 中的卷積.............................................................................................391
步長和填充........................................................................................................393
理解卷積方程....................................................................................................395
我們的第一個卷積神經網路 .....................................................................................397
創建 CNN..........................................................................................................397
理解卷積運算....................................................................................................401
感受野...............................................................................................................402
關於 Twitter 的提示 ...........................................................................................403
彩色圖像...................................................................................................................405
改善訓練穩定性........................................................................................................408
簡單基準...........................................................................................................409
增加批次大小....................................................................................................411
1 周期訓練 ........................................................................................................412
批次歸一化........................................................................................................417
結論..........................................................................................................................419
問題..........................................................................................................................420
深入研究 ...........................................................................................................421
第 14 章 ResNet.............................................................422
回到 Imagenette........................................................................................................422
建立現代 CNN :ResNet...........................................................................................425
跳連 ...................................................................................................................426
最先進的 ResNet...............................................................................................431
瓶頸層...............................................................................................................434
結論 ..........................................................................................................................436
問題..........................................................................................................................436
深入研究...........................................................................................................438
第 15 章 深入研究套用架構..................................................439
計算機視覺...............................................................................................................439
cnn_learner........................................................................................................439
unet_learner.......................................................................................................441
Siamese 網路.....................................................................................................443
自然語言處理 ...........................................................................................................445
表格 ..........................................................................................................................446
結論..........................................................................................................................447
問題 ..........................................................................................................................449
深入研究 ...........................................................................................................450
第 16 章 訓練過程.............................................................451
建立基線...................................................................................................................451
通用最佳化器...............................................................................................................453
動量..........................................................................................................................454
RMSProp...................................................................................................................457
Adam.........................................................................................................................458
解耦權重衰減...........................................................................................................459
回調..........................................................................................................................460
創建一個回調函式............................................................................................463
回調排序和異常................................................................................................466
結論 ..........................................................................................................................468
問題..........................................................................................................................468
深入研究...........................................................................................................469
深度學習基礎 :總結................................................................................................469
第Ⅳ部分 從零開始學習深度學習
第 17 章 神經網路基礎.......................................................473
從零開始構建神經網路層.........................................................................................473
建立神經元模型................................................................................................473
從零開始進行矩陣乘法.....................................................................................474
逐元素運算........................................................................................................476
廣播...................................................................................................................477
愛因斯坦求和 ....................................................................................................482
前向和反向傳播........................................................................................................483
定義神經網路層並對其初始化.......................................................................... 483
梯度和反向傳播................................................................................................488
重構模型...........................................................................................................491
邁向 PyTorch.....................................................................................................492
結論..........................................................................................................................495
問題..........................................................................................................................496
深入研究...........................................................................................................497
第 18 章 用 CAM 做 CNN 的解釋.........................................498
CAM 和 hook............................................................................................................498
梯度 CAM.................................................................................................................502
結論..........................................................................................................................504
問題..........................................................................................................................504
深入研究...........................................................................................................504
第 19 章 從零開始構建 fastai Learner...................................505
數據 ..........................................................................................................................505
數據集...............................................................................................................507
Module 和 Parameter .................................................................................................510
簡單的 CNN......................................................................................................513
損失..........................................................................................................................514
Learner ......................................................................................................................516
回調 ...................................................................................................................518
調整學習率安排表 ............................................................................................519
結論 ..........................................................................................................................522
問題..........................................................................................................................522
深入研究 ...........................................................................................................523
第 20 章 總結..................................................................524
附錄 A 創建一個部落格.........................................................527
附錄 B 數據科學項目的檢查表...............................................536

作者簡介

Jeremy Howard是fast.ai的創始研究員,fast.ai研究所致力於讓大家更容易上手深度學習。同時,他也是舊金山大學傑出的研究科學家和世界經濟論壇全球AI理事會成員。
Sylvain Gugger是Hugging Face的研究工程師。此前,他曾是fast.ai的研究科學家,主要研究如何通過設計和改進技術讓模型在資源有限的情況下訓練得更快,以使更多的人使用深度學習。

相關詞條

熱門詞條

聯絡我們