-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

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

( 簡體 字)
作者:馮超類別:1. -> 程式設計 -> 深度學習
譯者:
出版社:電子工業出版社強化學習精要:核心算法與TensorFlow實現 3dWoo書號: 48966
詢問書籍請說出此書號!

缺書
NT售價: 400

出版日:4/1/2018
頁數:392
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121340000
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

從你拿起本書的那一刻起,我們就一起踏上了這段有關強化學習的冒險之旅。本書中有簡單直白的敘述,也有復雜冗長的證明;有詼諧幽默,也有深刻的思考。所有的一切,都是為了幫助你更輕松地對強化學習有更多了解、更多感悟。
一年之前,我在拙作《深度學習輕松學:核心算法與視覺實踐》中,同樣以這段話作為開篇,唯一不同的是這一次書的主題換成了強化學習。近年來,強化學習領域有了很大的發展,基于強化學習開發的智能體也被人們熟知。于是越來越多的人開始關注強化學習,了解這個領域,并使用強化學習的方法解決問題。隨著深度學習的發展,強化學習也逐漸發揮出了自己的實力,憑借更靈活的問題定義方式,解決了很多其他方法難以解決的問題。
雖然強化學習這個領域已經有了多年的積累與發展,但是與深度學習相比,國內外與此相關的書籍與課程偏少。同時,由于強化學習融合了很多領域的知識,本身的技術難度較大,學習起來比較困難。兩者疊加,使得強化學習仍然是一個令很多人感到困惑的概念。
為了學習強化學習中的各種知識,作為本書的作者,我也花費了很多的精力。在閱讀了很多經典的書籍、論文和博客之后,我開始對強化學習有了自己的理解和體會。同時也積累了不少關于強化學習的“學習筆記”,其中的一部分已經在一些公開場合,例如我的知乎專欄《無痛的機器學習》(https://zhuanlan.zhihu.com/hsmyy)中與讀者分享過。在交流的過程中,我能感受到讀者對強化學習的濃厚興趣,同時自己也在分享中得到了提高。
經過長時間的積累,這些心得與體會最終凝結成了本書。在這個過程中我重新回顧了自己所學的知識,也進一步思考了強化學習各部分知識點之間的聯系。我希望可以給大家呈現一個盡可能完整而豐富的強化學習世界,與大家共同探討強化學習中的無限可能。
為了使更多的人能夠從本書中得到收獲,我選擇強化學習中比較經典的算法進行了介紹,這些都是強化學習中十分重要的內容,對不了解強化學習的讀者來說,可以幫助你快速了解強化學習的知識體系,對這個領域有一個全面的認識;對正在學習強化學習的讀者來說,本書中的知識同樣可以幫助你梳理強化學習的核心要點,加深對這些基本問題的理解。
在編寫這本書的過程中,我又一次體會到求知的艱辛。獲取知識的道路總是充滿荊棘,除了自身不斷地努力,更少不了身邊人對我的支持鼓勵。感謝家人對我的理解與支持,感謝編輯鄭柳潔女士再次成為我的伯樂,為我提供了很多幫助,感謝劉曉鳴先生為本書繪制了大量插圖。我相信我們的努力付出會使更多的人享受獲得知識的快樂。
本書的主要內容
強化學習在機器學習中的難度不低,它需要很多方面的知識輔助,同時自身也已經形成了一個龐大的體系。本書并不能幫助讀者完全掌握強化學習的所有知識點,所能做的只是展示其中部分基礎內容。本書不是一本科普讀物,想要閱讀本書需要具備一定的基礎知識,如微積分、線性代數等。部分章節也會梳理這些基礎知識,以確保讀者掌握這些知識的核心思想。本書各章節的核心內容如下。
第一部分主要介紹與強化學習有關的基礎知識,例如數學基礎、對應的程序開發基礎、強化學習的基本計算方法等。
第1章已經介紹了強化學習的基本概念,相信讀者對強化學習的目標、特點已經有了一定的了解。
第2章介紹相關的數學知識,如線性代數、概率論、重要性采樣、信息論等,幫助讀者快速回顧即將用到的數學知識。
第3章介紹強化學習中會用到的優化知識,主要介紹常見的梯度下降法(Gradient Descent)、共軛梯度法和自然梯度法,這三種方法將出現在后面的算法中。
第4章介紹書中代碼使用的計算框架TensorFlow。TensorFlow 是一款使用十分廣泛的框架,很多強化學習的算法選擇使用它進行實現,因此我們有必要學習它。本章將簡單介紹它的使用方法和一些基本原理,熟悉TensorFlow 的讀者可以跳過本章。
第5章介紹本書使用的另一個框架Gym 及在此框架上實現的算法集合Baselines。Gym 集成了大量的強化學習仿真環境,Baselines 則基于TensorFlow 和Gym 實現了一些經典的算法。本章將簡單介紹這兩個框架的基礎知識。
第6章介紹強化學習的基礎知識。例如馬爾可夫決策過程(Markov Decision Process),以及在簡單問題上的兩種經典動態規劃求解法:策略迭代法和價值迭代法。這些方法是強化學習算法的基石,絕大多數強化學習方法都是根據這些知識演變來的。
第二部分介紹以最優值函數為思想的一系列算法,其中的代表算法為Deep Q Network和Rainbow。
第7章介紹蒙特卡羅(Monte-Carlo)和時序差分(Temporal-Difference)兩種求解Model-free 問題的方法,并介紹Deep Q Network 算法的細節。
第8章介紹Deep Q-Learning 的一些改進算法,如Priority Replay Buffer、Duel Network等,并介紹改進的集成算法Rainbow。
第三部分介紹以策略梯度(Policy Gradient)為思想的一系列算法,其中的代表算法為Actor-Critic。
第9章介紹策略梯度法和Actor-Critic 算法的原理,同時介紹A2C 算法的實現細節。
第10章介紹使策略單調提升的算法,其中的代表為Trust Region Policy Optimization(TRPO)算法。
第11章介紹高樣本使用率的策略梯度算法,其中的代表算法為ACER 算法和確定策略梯度法(Deterministic Policy Gradient)。
第四部分介紹強化學習其他方面的內容。
第12章介紹回報稀疏情況下的一些求解方法,其中包括基于層次的強化學習和基于課程學習(Curriculum Learning)思想的方法。
第13 章介紹模型已知的一些算法,如基于蒙特卡羅樹搜索(Monte Carlo Tree Search,MCTS)的強化學習算法和iLQR 算法的原理。
第五部分介紹反向強化學習的基礎知識。
第14章介紹反向強化學習的基礎,以及基本的求解方法。
第15 章介紹最大熵反向強化學習(Max Entropy Inverse Reinforcement Learning)和生成對抗模仿學習(Generative Adversarial Imitation Learning)算法的內容。
雖然本書介紹了很多強化學習的內容,但實際上這只是強化學習中的一小部分,不過這些內容可以作為讀者入門強化學習的基礎,希望在下面的學習中讀者能夠有所收獲,并以此為基礎了解更多有關強化學習的內容。
由于本人才疏學淺,行文間難免有所紕漏,望各位讀者多多包涵,不吝賜教。
作者
內容簡介:

《強化學習精要:核心算法與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
序: