強化學習精要:核心算法與TensorFlow實現

《強化學習精要:核心算法與TensorFlow實現》是一部由馮超所編著的書籍,電子工業出版社出版發行。

基本介紹

  • 書名:強化學習精要:核心算法與TensorFlow實現
  • 作者:馮超
  • ISBN:9787121340000
  • 出版社電子工業出版社
出版信息,內容簡介,目錄,

出版信息

  • ISBN:9787121340000
  • 版次:1
  • 商品編碼:12344157
  • 品牌:Broadview
  • 包裝:平裝
  • 叢書名:博文視點AI系列
  • 開本:16開
  • 出版時間:2018-05-01
  • 用紙:膠版紙
  • 頁數:384
  • 字數:470000

內容簡介

《強化學習精要:核心算法與TensorFlow 實現》用通俗幽默的語言深入淺出地介紹了強化學習的基本算法與代碼實現,為讀者構建了一個完整的強化學習知識體系,同時介紹了這些算法的具體實現方式。從基本的馬爾可夫決策過程,到各種複雜的強化學習算法,讀者都可以從本書中學習到。本書除了介紹這些算法的原理,還深入分析了算法之間的內在聯繫,可以幫助讀者舉一反三,掌握算法精髓。書中介紹的代碼可以幫助讀者快速將算法套用到實踐中。

目錄

第一部分強化學習入門與基礎知識
1 引言2
1.1 強化學習的概念 2
1.1.1 巴浦洛夫的狗 3
1.1.2 俄羅斯方塊 4
1.2 站在被實驗者的角度看問題 5
1.3 強化學習效果的評估 8
1.3.1 不斷試錯 8
1.3.2 看重長期回報 8
1.4 強化學習與監督學習 9
1.4.1 強化學習與監督學習的本質 9
1.4.2 模仿學習 10
1.5 強化學習的實驗環境 11
1.5.1 Arcade Learning Environment 12
1.5.2 Box2D 12
1.5.3 MuJoCo 13
1.5.4 Gym 14
1.6 本書的主要內容 15
1.7 參考資料 16
2 數學與機器學習基礎17
2.1 線性代數基礎 17
2.2 對稱矩陣的性質 21
2.2.1 特徵值與特徵向量 21
2.2.2 對稱矩陣的特徵值和特徵向量 22
2.2.3 對稱矩陣的對角化 23
2.3 機率論 24
2.3.1 機率與分布 24
2.3.2 最大似然估計 27
2.4 重要性採樣 29
2.5 資訊理論基礎 33
2.6 KL 散度 35
2.7 凸函式及其性質 39
2.8 機器學習的基本概念 41
2.9 機器學習的目標函式 43
2.10 總結 45
3 最佳化算法47
3.1 梯度下降法 47
3.1.1 什麼是梯度下降法 47
3.1.2 優雅的步長 48
3.2 動量算法 53
3.3 共軛梯度法 59
3.3.1 精妙的約束 59
3.3.2 共軛 60
3.3.3 最佳化步長的確定 63
3.3.4 Gram-Schmidt 方法 64
3.3.5 共軛梯度 65
3.4 自然梯度法 69
3.4.1 基本概念 69
3.4.2 Fisher 信息矩陣 71
3.4.3 自然梯度法目標公式 76
3.5 總結 77
4 TensorFlow 入門78
4.1 TensorFlow 的基本使用方法 78
4.2 TensorFlow 原理介紹 82
4.2.1 創建變數的scope 83
4.2.2 創建一個Variable 背後的故事 89
4.2.3 運算操作 94
4.2.4 tf.gradients 96
4.2.5 Optimizer 102
4.2.6 TensorFlow 的反向傳播技巧 106
4.2.7 arg_scope 的使用 109
4.3 TensorFlow 的分散式訓練 113
4.3.1 基於MPI 的數據並行模型 114
4.3.2 MPI 的實現:mpi_adam 121
4.4 基於TensorFlow 實現經典網路結構 122
4.4.1 多層感知器 122
4.4.2 卷積神經網路 124
4.4.3 循環神經網路 126
4.5 總結 129
4.6 參考資料 129
5 Gym 與Baselines 130
5.1 Gym 130
5.1.1 Gym 的安裝 130
5.1.2 Gym 的基本使用方法 132
5.1.3 利用Gym 框架實現一個經典的棋類遊戲:蛇棋 134
5.2 Baselines 138
5.2.1 Baselines 中的Python 3 新特性 139
5.2.2 tf_util 141
5.2.3 對Gym 平台的擴展 142
5.3 總結 144
6 強化學習基本算法145
6.1 馬爾可夫決策過程 145
6.1.1 MDP:策略與環境模型 145
6.1.2 值函式與Bellman 公式 147
6.1.3 “表格式”Agent 151
6.2 策略疊代 153
6.2.1 策略疊代法 153
6.2.2 策略提升的證明 159
6.2.3 策略疊代的效果展示 160
6.3 價值疊代 162
6.3.1 N 輪策略疊代 162
6.3.2 從動態規劃的角度談價值疊代 165
6.3.3 價值疊代的實現 167
6.4 泛化疊代 168
6.4.1 兩個極端 168
6.4.2 廣義策略疊代法 169
6.4.3 泛化疊代的實現 170
6.5 總結 171
第二部分最優價值算法
7 Q-Learning 基礎173
7.1 狀態轉移機率:從掌握到放棄 173
7.2 蒙特卡羅方法 174
7.3 探索與利用 178
7.4 蒙特卡羅的方差問題 181
7.5 時序差分法與SARSA 183
7.6 Q-Learning 186
7.7 Q-Learning 的收斂性分析 189
7.8 從表格形式到價值模型 193
7.9 Deep Q Network 195
7.10 總結 202
7.11 參考資料 202
8 DQN 的改進算法203
8.1 Double Q-Learning 203
8.2 Priority Replay Buffer 204
8.3 Dueling DQN 209
8.4 解決DQN 的冷啟動問題 211
8.5 Distributional DQN 214
8.5.1 輸出價值分布 214
8.5.2 分布的更新 216
8.6 Noisy Network 218
8.7 Rainbow 221
8.7.1 Rainbow 的模型特點 221
8.7.2 Deep Q Network 的實現 223
8.8 總結 227
8.9 參考資料 227
第三部分基於策略梯度的算法
9 基於策略梯度的算法229
9.1 策略梯度法 229
9.1.1 算法推導 230
9.1.2 算法分析 233
9.1.3 算法改進 234
9.2 Actor-Critic 算法 236
9.2.1 降低算法的方差 236
9.2.2 A3C 算法 238
9.2.3 A2C 算法實戰 240
9.3 總結 243
9.4 參考資料 243
10 使策略單調提升的最佳化算法244
10.1 TRPO 244
10.1.1 策略的差距 245
10.1.2 策略提升的目標公式 247
10.1.3 TRPO 的目標定義 248
10.1.4 自然梯度法求解 251
10.1.5 TRPO 的實現 254
10.2 GAE 256
10.2.1 GAE 的公式定義 256
10.2.2 基於GAE 和TRPO 的值函式最佳化 259
10.2.3 GAE 的實現 260
10.3 PPO 261
10.3.1 PPO 介紹 261
10.3.2 PPO 算法實踐 263
10.4 總結 264
10.5 參考資料 264
11 Off-Policy 策略梯度法265
11.1 Retrace 266
11.1.1 Retrace 的基本概念 266
11.1.2 Retrace 的算法實現 267
11.2 ACER 270
11.2.1 Off-Policy Actor-Critic 270
11.2.2 ACER 算法 272
11.2.3 ACER 的實現 276
11.3 DPG 279
11.3.1 連續空間的策略最佳化 279
11.3.2 策略模型參數的一致性 280
11.3.3 DDPG 算法 283
11.3.4 DDPG 的實現 286
11.4 總結 289
11.5 參考資料 289
第四部分其他強化學習算法
12 稀疏回報的求解方法291
12.1 稀疏回報的困難 291
12.2 層次強化學習 294
12.3 HER 298
12.3.1 漸進式學習 299
12.3.2 HER 的實現 301
12.4 總結 304
12.5 參考資料 304
13 Model-based 方法305
13.1 AlphaZero 305
13.1.1 圍棋遊戲 305
13.1.2 Alpha-Beta 樹 307
13.1.3 MCTS 309
13.1.4 策略價值模型 312
13.1.5 模型的對決 316
13.2 iLQR 316
13.2.1 線性模型的求解法 317
13.2.2 非線性模型的解法 322
13.2.3 iLQR 的實現 325
13.3 總結 328
13.4 參考資料 328
第五部分反向強化學習
14 反向強化學習入門330
14.1 基本概念 330
14.2 從最優策略求解回報 332
14.2.1 求解回報的目標函式 332
14.2.2 目標函式的約束 334
14.3 求解線性規劃 335
14.3.1 線性規劃的求解過程 335
14.3.2 實際案例 337
14.4 無限狀態下的求解 338
14.5 從樣本中學習 342
14.6 總結 344
14.7 參考資料 344
15 反向強化學習算法2.0 345
15.1 最大熵模型 345
15.1.1 指數家族 346
15.1.2 最大熵模型的推導 349
15.1.3 最大熵模型的實現 354
15.2 最大熵反向強化學習 356
15.3 GAIL 361
15.3.1 GAN 的基本概念 361
15.3.2 GAN 的訓練分析 363
15.4 GAIL 實現 367
15.5 總結 370
15.6 參考資料 370

相關詞條

熱門詞條

聯絡我們