解剖深度學習原理:從0編寫深度學習庫

解剖深度學習原理:從0編寫深度學習庫

《解剖深度學習原理:從0編寫深度學習庫》是電子工業出版社出版圖書,作者是董洪偉。

深度學習人工智慧的核心技術,本書從原理到實現,結合實戰案例介紹了深度學習的基本理論、網路結構、最佳化技術和實際套用

基本介紹

  • 中文名:解剖深度學習原理:從0編寫深度學習庫
  • 作者:董洪偉
  • 出版社:電子工業出版社
  • 出版時間:2021年7月
  • 頁數:628 頁
  • 定價:158 元
  • 開本:16 開
  • ISBN:9787121414497
內容簡介,圖書目錄,作者簡介,

內容簡介

深入淺出地介紹了深度學習的基本原理和實現過程,帶領讀者用Python的NumPy庫從底層而不是藉助現有的深度學習庫,從0開始構建屬於自己的深度學習庫

圖書目錄

第1章 編程和數學基礎 1
1.1 Python快速入門 1
1.1.1 快速安裝Python 1
1.1.2 Python基礎 2
1.1.3 Python中的常見運算 5
1.1.4 Python控制語句 7
1.1.5 Python常用容器類型 10
1.1.6 Python常用函式 16
1.1.7 類和對象 22
1.1.8 Matplotlib入門 24
1.2 張量庫NumPy 33
1.2.1 什麼是張量 33
1.2.2 創建ndarray對象 37
1.2.3 ndarray數組的索引和切片 53
1.2.4 張量的計算 57
1.3 微積分 63
1.3.1 函式 64
1.3.2 四則運算和複合運算 66
1.3.3 極限和導數 69
1.3.4 導數的四則運算和鏈式法則 72
1.3.5 計算圖、正向計算和反向傳播求導 74
1.3.6 多變數函式的偏導數與梯度 75
1.3.7 向量值函式的導數與Jacobian矩陣 78
1.3.8 積分 83
1.4 機率基礎 84
1.4.1 機率 84
1.4.2 條件機率、聯合機率、全機率公式、貝葉斯公式 86
1.4.3 隨機變數 88
1.4.4 離散型隨機變數的機率分布 89
1.4.5 連續型隨機變數的機率密度 91
1.4.6 隨機變數的分布函式 93
1.4.7 期望、方差、協方差、協變矩陣 95
第2章 梯度下降法 99
2.1 函式極值的必要條件 99
2.2 梯度下降法基礎 101
2.3 梯度下降法的參數最佳化策略 108
2.3.1 Momentum法 108
2.3.2 AdaGrad法 110
2.3.3 AdaDelta法 112
2.3.4 RMSprop法 114
2.3.5 Adam法 115
2.4 梯度驗證 117
2.4.1 比較數值梯度和分析梯度 117
2.4.2 通用的數值梯度 118
2.5 分離梯度下降法與參數最佳化策略 119
2.5.1 參數最佳化器 119
2.5.2 接受參數最佳化器的梯度下降法 120
第3章 線性回歸、邏輯回歸和softmax回歸 122
3.1 線性回歸 122
3.1.1 餐車利潤問題 122
3.1.2 機器學習與人工智慧 123
3.1.3 什麼是線性回歸 126
3.1.4 用正規方程法求解線性回歸問題 127
3.1.5 用梯度下降法求解線性回歸問題 129
3.1.6 調試學習率 133
3.1.7 梯度驗證 135
3.1.8 預測 135
3.1.9 多特徵線性回歸 136
3.2 數據的規範化 143
3.2.1 預測大壩出水量 143
3.2.2 數據的規範化過程 147
3.3 模型的評估 149
3.3.1 欠擬合和過擬合 149
3.3.2 驗證集和測試集 153
3.3.3 學習曲線 155
3.3.4 偏差和方差 160
3.4 正則化 165
3.5 邏輯回歸 168
3.5.1 邏輯回歸基礎 169
3.5.2 邏輯回歸的NumPy實現 173
3.5.3 實戰:鳶尾花分類的NumPy實現 178
3.6 softmax回歸 180
3.6.1 spiral數據集 180
3.6.2 softmax函式 181
3.6.3 softmax回歸模型 186
3.6.4 多分類交叉熵損失 188
3.6.5 通過加權和計算交叉熵損失 191
3.6.6 softmax回歸的梯度計算 191
3.6.7 softmax回歸的梯度下降法的實現 197
3.6.8 spiral數據集的softmax回歸模型 197
3.7 批梯度下降法和隨機梯度下降法 199
3.7.1 MNIST手寫數字集 199
3.7.2 用部分訓練樣本訓練邏輯回歸模型 201
3.7.3 批梯度下降法 202
3.7.4 隨機梯度下降法 207
第4章 神經網路 209
4.1 神經網路概述 209
4.1.1 感知機和神經元 209
4.1.2 激活函式 213
4.1.3 神經網路與深度學習 216
4.1.4 多個樣本的正向計算 221
4.1.5 輸出 224
4.1.6 損失函式 224
4.1.7 基於數值梯度的神經網路訓練 229
4.2 反向求導 235
4.2.1 正向計算和反向求導 235
4.2.2 計算圖 237
4.2.3 損失函式關於輸出的梯度 239
4.2.4 2層神經網路的反向求導 242
4.2.5 2層神經網路的Python實現 247
4.2.6 任意層神經網路的反向求導 252
4.3 實現一個簡單的深度學習框架 256
4.3.1 神經網路的訓練過程 256
4.3.2 網路層的代碼實現 257
4.3.3 網路層的梯度檢驗 260
4.3.4 神經網路的類 261
4.3.5 神經網路的梯度檢驗 263
4.3.6 基於深度學習框架的MNIST手寫數字識別 266
4.3.7 改進的通用神經網路框架:分離加權和與激活函式 268
4.3.8 獨立的參數最佳化器 276
4.3.9 fashion-mnist的分類訓練 279
4.3.10 讀寫模型參數 282
第5章 改進神經網路性能的基本技巧 285
5.1 數據處理 285
5.1.1 數據增強 285
5.1.2 規範化 289
5.1.3 特徵工程 289
5.2 參數調試 296
5.2.1 權重初始化 296
5.2.2 最佳化參數 301
5.3 批規範化 301
5.3.1 什麼是批規範化 301
5.3.2 批規範化的反向求導 303
5.3.3 批規範化的代碼實現 304
5.4 正則化 310
5.4.1 權重正則化 310
5.4.2 Dropout 312
5.4.3 早停法 316
5.5 梯度爆炸和梯度消失 317
第6章 卷積神經網路 318
6.1 卷積入門 319
6.1.1 什麼是卷積 319
6.1.2 一維卷積 325
6.1.3 二維卷積 326
6.1.4 多通道輸入和多通道輸出 338
6.1.5 池化 341
6.2 卷積神經網路概述 344
6.2.1 全連線神經元和卷積神經元 345
6.2.2 卷積層和卷積神經網路 346
6.2.3 卷積層和池化層的反向求導及代碼實現 349
6.2.4 卷積神經網路的代碼實現 361
6.3 卷積的矩陣乘法 364
6.3.1 一維卷積的矩陣乘法 364
6.3.2 二維卷積的矩陣乘法 365
6.3.3 一維卷積反向求導的矩陣乘法 371
6.3.4 二維卷積反向求導的矩陣乘法 373
6.4 基於坐標索引的快速卷積 377
6.5 典型卷積神經網路結構 393
6.5.1 LeNet-5 393
6.5.2 AlexNet 394
6.5.3 VGG 395
6.5.4 殘差網路 396
6.5.5 Inception網路 398
6.5.6 NiN 399
第7章 循環神經網路 403
7.1 序列問題和模型 403
7.1.1 股票價格預測問題 404
7.1.2 機率序列模型和語言模型 405
7.1.3 自回歸模型 406
7.1.4 生成自回歸數據 406
7.1.5 時間窗方法 408
7.1.6 時間窗採樣 409
7.1.7 時間窗方法的建模和訓練 409
7.1.8 長期預測和短期預測 410
7.1.9 股票價格預測的代碼實現 412
7.1.10 k-gram語言模型 415
7.2 循環神經網路基礎 416
7.2.1 無記憶功能的非循環神經網路 417
7.2.2 具有記憶功能的循環神經網路 418
7.3 穿過時間的反向傳播 421
7.4 單層循環神經網路的實現 425
7.4.1 初始化模型參數 425
7.4.2 正向計算 425
7.4.3 損失函式 427
7.4.4 反向求導 427
7.4.5 梯度驗證 429
7.4.6 梯度下降訓練 432
7.4.7 序列數據的採樣 433
7.4.8 序列數據的循環神經網路訓練和預測 441
7.5 循環神經網路語言模型和文本的生成 448
7.5.1 字元表 448
7.5.2 字元序列樣本的採樣 450
7.5.3 模型的訓練和預測 452
7.6 循環神經網路中的梯度爆炸和梯度消失 455
7.7 長短期記憶網路 456
7.7.1 LSTM的神經元 457
7.7.2 LSTM的反向求導 460
7.7.3 LSTM的代碼實現 461
7.7.4 LSTM的變種 469
7.8 門控循環單元 470
7.8.1 門控循環單元的工作原理 470
7.8.2 門控循環單元的代碼實現 472
7.9 循環神經網路的類及其實現 475
7.9.1 用類實現循環神經網路 475
7.9.2 循環神經網路單元的類實現 483
7.10 多層循環神經網路和雙向循環神經網路 491
7.10.1 多層循環神經網路 491
7.10.2 多層循環神經網路的訓練和預測 497
7.10.3 雙向循環神經網路 500
7.11 Seq2Seq模型 506
7.11.1 機器翻譯概述 507
7.11.2 Seq2Seq模型的實現 508
7.11.3 字元級的Seq2Seq模型 516
7.11.4 基於Word2Vec的Seq2Seq模型 522
7.11.5 基於詞嵌入層的Seq2Seq模型 533
7.11.6 注意力機制 541
第8章 生成模型 552
8.1 生成模型概述 552
8.2 自動編碼器 556
8.2.1 什麼是自動編碼器 557
8.2.2 稀疏編碼器 559
8.2.3 自動編碼器的代碼實現 560
8.3 變分自動編碼器 563
8.3.1 什麼是變分自動編碼器 563
8.3.2 變分自動編碼器的損失函式 564
8.3.3 變分自動編碼器的參數重採樣 565
8.3.4 變分自動編碼器的反向求導 565
8.3.5 變分自動編碼器的代碼實現 566
8.4 生成對抗網路 571
8.4.1 生成對抗網路的原理 573
8.4.2 生成對抗網路訓練過程的代碼實現 577
8.5 生成對抗網路建模實例 579
8.5.1 一組實數的生成對抗網路建模 579
8.5.2 二維坐標點的生成對抗網路建模 585
8.5.3 MNIST手寫數字集的生成對抗網路建模 590
8.5.4 生成對抗網路的訓練技巧 594
8.6 生成對抗網路的損失函式及其機率解釋 594
8.6.1 生成對抗網路的損失函式的全局最優解 594
8.6.2 Kullback-Leibler散度和Jensen-Shannon散度 595
8.6.3 生成對抗網路的最大似然解釋 598
8.7 改進的損失函式——Wasserstein GAN 599
8.7.1 Wasserstein GAN的原理 599
8.7.2 Wasserstein GAN的代碼實現 603
8.8 深度卷積對抗網路 605
8.8.1 一維轉置卷積 606
8.8.2 二維轉置卷積 609
8.8.3 卷積對抗網路的代碼實現 612
參考文獻 617

作者簡介

董洪偉
哈爾濱工業大學數學力學系套用數學本科、基礎數學碩士,南京航空航天大學航空宇航製造工程專業博士。2008-2009年德州農工大學tamu訪問學者,2016年休斯敦大學訪問研究。從事過曲面造型、特徵造型的算法研究和系統實現,開發過數控玻璃切割系統。在高校從事過高等數學、線性代數、機率統計、數據結構、C++程式語言、圖形學、計算機網路等課程教學,主要研究方向:計算機圖形學與計算機視覺、深度學習人工智慧等。

相關詞條

熱門詞條

聯絡我們