【包郵】強化學習精要 核心算法與TensorFlow實現+深入淺齣強化學習 原理入門

【包郵】強化學習精要 核心算法與TensorFlow實現+深入淺齣強化學習 原理入門 pdf epub mobi txt 電子書 下載 2025

圖書標籤:
  • 強化學習
  • 機器學習
  • 深度學習
  • TensorFlow
  • 算法
  • 入門
  • 原理
  • 智能體
  • 包郵
  • 書籍
想要找書就要到 靜思書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
店鋪: 藍墨水圖書專營店
齣版社: 電子工業齣版社
ISBN:9787121340000
商品編碼:27795100280

具體描述


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

 

 

 

叢書名 :博文視點AI係列

作 譯 者:馮超

齣版時間:2018-04    韆 字 數:470

版    次:01-01    頁    數:392

開    本:16開

裝    幀:

I S B N :9787121340000     

換    版:

所屬分類:科技 >> 計算機 >> 計算機科學

紙質書定價:¥80.0  

《強化學習精要:核心算法與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 參考資料. . . . . . . . . . . . . . . .

 

 

深入淺齣強化學習:原理入門

    定價    79.00

齣版社    電子工業齣版社

版次    1

齣版時間    2018年01月

開本    16

作者    郭憲,方勇純 著

裝幀    平裝

頁數    256

字數    

ISBN編碼    9787121329180

 

 

1 緒論 1

 

1.1 這是一本什麼書 1

 

1.2 強化學習可以解決什麼問題 2

 

1.3 強化學習如何解決問題 4

 

1.4 強化學習算法分類及發展趨勢 5

 

1.5 強化學習仿真環境構建 7

 

1.5.1 gym安裝及簡單的demo示例 8

 

1.5.2 深入剖析gym環境構建 10

 

1.6 本書主要內容及安排 12

 

第*篇 強化學習基礎 17

 

2 馬爾科夫決策過程 18

 

2.1 馬爾科夫決策過程理論講解 18

 

2.2 MDP中的概率學基礎講解 26

 

2.3 基於gym的MDP實例講解 29

 

2.4 習題 34

 

3 基於模型的動態規劃方法 36

 

3.1 基於模型的動態規劃方法理論 36

 

3.2 動態規劃中的數學基礎講解 47

 

3.2.1 綫性方程組的迭代解法 47

 

3.2.2 壓縮映射證明策略評估的收斂性 49

 

3.3 基於gym的編程實例 52

 

3.4 *優控製與強化學習比較 54

 

3.5 習題 56

 

第*篇 基於值函數的強化學習方法 57

 

4 基於濛特卡羅的強化學習方法 58

 

4.1 基於濛特卡羅方法的理論 58

 

4.2 統計學基礎知識 67

 

4.3 基於Python的編程實例 71

 

4.4 習題 74

 

5 基於時間差分的強化學習方法 75

 

5.1 基於時間差分強化學習算法理論講解 75

 

5.2 基於Python和gym的編程實例 83

 

5.3 習題 87

 

6 基於值函數逼近的強化學習方法 88

 

6.1 基於值函數逼近的理論講解 88

 

6.2 DQN及其變種 94

 

6.2.1 DQN方法 94

 

6.2.2 Double DQN 100

 

6.2.3 優先迴放(Prioritized Replay) 102

 

6.2.4 Dueling DQN 104

 

6.3 函數逼近方法 105

 

6.3.1 基於非參數的函數逼近 105

 

6.3.2 基於參數的函數逼近 111

 

6.3.3 捲積神經網絡 117

 

6.4 習題 123

 

第三篇 基於直接策略搜索的強化學習方法 125

 

7 基於策略梯度的強化學習方法 126

 

7.1 基於策略梯度的強化學習方法理論講解 126

 

7.2 基於gym和TensorFlow的策略梯度算法實現 134

 

7.2.1 安裝Tensorflow 135

 

7.2.2 策略梯度算法理論基礎 135

 

7.2.3 Softmax策略及其損失函數 136

 

7.2.4 基於TensorFlow的策略梯度算法實現 138

 

7.2.5 基於策略梯度算法的小車倒立擺問題 141

 

7.3 習題 141

 

8 基於置信域策略優化的強化學習方法 142

 

8.1 理論基礎 143

 

8.2 TRPO中的數學知識 153

 

8.2.1 信息論 153

 

8.2.2 優化方法 155

 

8.3 習題 164

 

9 基於確定性策略搜索的強化學習方法 165

 

9.1 理論基礎 165

 

9.2 習題 170

 

10 基於引導策略搜索的強化學習方法 171

 

10.1 理論基礎 171

 

10.2 GPS中涉及的數學基礎 178

 

10.2.1 監督相LBFGS優化方法 178

 

10.2.2 ADMM算法 179

 

10.2.3 KL散度與變分推理 183

 

10.3 習題 184

 

第四篇 強化學習研究及前沿 185

 

11 逆嚮強化學習 186

 

11.1 概述 186

 

11.2 基於*大邊際的逆嚮強化學習 187

 

11.3 基於*大熵的逆嚮強化學習 194

 

11.4 習題 201

 

12 組閤策略梯度和值函數方法 202

 

13 值迭代網絡 207

 

13.1 為什麼要提齣值迭代網絡 207

 

13.2 值迭代網絡 210

 

14 基於模型的強化學習方法:PILCO及其擴展 214

 

14.1 概述 214

 

14.2 PILCO 216

 

14.3 濾波PILCO和探索PILCO 226

 

14.3.1 濾波PILCO算法 227

 

14.3.2 有嚮探索PILCO算法 230

 

14.4 深度PILCO 232

 

後記 235

 

參考文獻 237

 

 

 

推薦序一

 

強化學習是機器學習的一個重要分支,它試圖解決決策優化的問題。所謂決策優化,是指麵對特定狀態(State,S),采取什麼行動方案(Action,A),纔能使收益*大(Reward,R)。很多問題都與決策優化有關,比如下棋、投資、課程安排、駕車,動作模仿等。

 

AlphaGo的核心算法,就是強化學習。AlphaGo不僅穩操勝券地戰勝瞭當今世界所有人類高手,而且甚至不需要學習人類棋手的棋譜,完全靠自己摸索,就在短短幾天內,發現並超*瞭一韆多年來人類積纍的全部圍棋戰略戰術。

 

*簡單的強化學習的數學模型,是馬爾科夫決策過程(Markov Decision Process,MDP)。之所以說MDP是一個簡單的模型,是因為它對問題做瞭很多限製。

 

1.麵對的狀態st,數量是有限的。

 

2.采取的行動方案at,數量也是有限的。

 

3.對應於特定狀態st,當下的收益rt是明確的。


智能決策的脈搏:探索強化學習的深層奧秘與實際應用 在這個數據爆炸、智能驅動的時代,如何讓機器像人類一樣,通過不斷試錯和學習,自主地做齣最優決策?強化學習(Reinforcement Learning, RL)正是迴答這一挑戰的核心學科。它以其獨特的學習範式,在遊戲、自動駕駛、機器人控製、推薦係統等眾多領域展現齣強大的潛力,並正以前所未有的速度改變著我們的世界。 這本深入淺齣的著作,旨在帶領讀者穿越強化學習的迷人世界,從最基礎的原理齣發,循序漸進地揭示其核心算法的精髓,並通過TensorFlow這一強大的深度學習框架,提供詳實可行的代碼實現。我們不僅會深入剖析那些驅動智能體(Agent)行為的“思考”模式,更會強調這些理論如何在真實的復雜環境中落地生根,展現強化學習從抽象概念到具體應用的完整蛻變。 第一部分:強化學習的基石——理解智能體與環境的交互 強化學習的核心在於智能體(Agent)與環境(Environment)之間的一係列交互。書中將首先構建起這個基本框架,讓讀者清晰地理解: 智能體(Agent):作為學習和決策的主體,它擁有感知當前狀態(State)的能力,並根據其策略(Policy)選擇動作(Action)。 環境(Environment):智能體所處的外部世界,它接收智能體的動作,並根據自身的動態規律,嚮智能體反饋新的狀態和相應的奬勵(Reward)。 狀態(State):描述瞭環境在某一時刻的完整信息。例如,在圍棋遊戲中,狀態就是棋盤上所有棋子的位置;在自動駕駛中,狀態可能包括車輛的速度、位置、周圍障礙物信息等。 動作(Action):智能體可以執行的操作。例如,在圍棋遊戲中,動作就是落子在某個空位;在機器人控製中,動作可能是移動關節的角度。 奬勵(Reward):智能體執行某個動作後,環境給予的即時反饋信號,它直接指示瞭動作的好壞。正奬勵代錶著朝著目標邁進,負奬勵(懲罰)則代錶著偏離目標。 策略(Policy):智能體的核心“大腦”,它定義瞭在給定狀態下,智能體采取何種動作的概率分布。策略的優化是強化學習的最終目標,即找到能夠最大化纍積奬勵的策略。 價值函數(Value Function):用於評估某個狀態或某個狀態-動作對的長期“好壞”。它衡量瞭從當前狀態開始,遵循特定策略所能獲得的期望纍積奬勵。價值函數是許多強化學習算法的重要組成部分。 通過生動形象的比喻和圖示,我們將清晰地闡述這些概念,並引齣強化學習的根本問題:智能體如何在有限的觀察和反饋下,學習到一種最優策略,從而最大化其長期纍積奬勵? 第二部分:核心算法的深入解析——從經典到前沿 理解瞭基礎框架後,我們將全麵而深入地剖析強化學習的經典算法和當前主流的先進算法: 動態規劃(Dynamic Programming, DP):作為強化學習的理論基石,DP算法(如策略評估、策略改進、價值迭代、策略迭代)在已知環境模型的情況下,能夠精確計算最優策略。我們將詳細講解其原理,並指齣其局限性(需要完整模型)。 濛特卡洛方法(Monte Carlo, MC):當環境模型未知時,MC方法通過對完整的“迴閤”(Episode)進行采樣,從實際經驗中學習價值函數和策略。我們將講解如何利用MC方法進行學習,並分析其收斂性和效率。 時間差分學習(Temporal Difference, TD):TD學習是強化學習中最具代錶性的算法之一,它結閤瞭DP和MC的優點,能夠在不等待迴閤結束的情況下,利用當前步的奬勵和下一狀態的估計價值來更新當前狀態的價值。 Q-Learning:一種離策略(Off-policy)的TD控製算法,直接學習最優動作價值函數Q(s, a),即使當前策略不是最優的,也能學習到最優策略。我們將詳細講解其更新規則和原理。 SARSA:一種在策略(On-policy)的TD控製算法,它學習的是在當前策略下執行動作的價值。我們將對比Q-Learning和SARSA的異同,理解它們在不同場景下的適用性。 深度強化學習(Deep Reinforcement Learning, DRL):將深度神經網絡(DNN)與強化學習相結閤,剋服瞭傳統方法在處理高維狀態空間時的瓶頸。 深度Q網絡(Deep Q-Network, DQN):首次將DNN成功應用於Q-Learning,通過經驗迴放(Experience Replay)和目標網絡(Target Network)等技術,實現瞭在Atari遊戲中的超人錶現。我們將詳細講解DQN的結構、訓練過程以及關鍵技術。 策略梯度(Policy Gradient, PG):直接學習策略函數,而不是價值函數。PG方法通過優化策略參數,使得策略能夠生成更好的動作。我們將介紹REINFORCE等基礎PG算法。 Actor-Critic方法:結閤瞭價值函數和策略梯度的方法,Actor(策略網絡)負責生成動作,Critic(價值網絡)負責評估Actor的動作。我們將深入講解A2C、A3C等經典的Actor-Critic算法,理解其高效性和穩定性。 高級算法:還將觸及更前沿的算法,如TRPO(Trust Region Policy Optimization)、PPO(Proximal Policy Optimization),它們在策略更新的穩定性和效率上進行瞭進一步的優化,是當前許多SOTA(State-Of-The-Art)研究的基礎。 在講解每一種算法時,我們不僅會清晰地闡述其數學原理,更會提供詳細的僞代碼,幫助讀者理解算法的每一步操作。 第三部分:TensorFlow的實踐——將理論轉化為代碼 理論的掌握固然重要,但真正讓強化學習“活”起來,離不開實際的編程實現。本部分將以TensorFlow為工具,將前麵講解的各種核心算法付諸實踐: TensorFlow基礎迴顧:針對可能不熟悉TensorFlow的讀者,我們將簡要迴顧其基本概念,如張量(Tensor)、計算圖(Computational Graph)、變量(Variable)、占位符(Placeholder)以及常用API。 構建神經網絡模型:學習如何使用TensorFlow構建用於代錶策略或價值函數的神經網絡。我們將討論不同類型的網絡結構,如全連接網絡(Fully Connected Networks)、捲積神經網絡(Convolutional Neural Networks, CNN)以及循環神經網絡(Recurrent Neural Networks, RNN),並根據不同的問題選擇閤適的網絡架構。 算法的TensorFlow實現: DQN實現:我們將一步步展示如何使用TensorFlow構建DQN模型,包括經驗迴放緩衝區、目標網絡的更新機製等。 Policy Gradient實現:展示如何構建策略網絡,並利用TensorFlow計算梯度更新策略參數。 Actor-Critic實現:講解如何同時構建Actor和Critic網絡,並利用TensorFlow實現它們的協同訓練。 實戰項目演示:通過幾個精心挑選的實戰項目,讓讀者親身體驗強化學習的魅力。例如: 經典控製問題:如CartPole(倒立擺)、MountainCar(爬山車)等,這些問題雖然簡單,但能夠清晰地展示基本算法的學習過程。 Atari遊戲:利用DQN等算法,讓智能體學習玩像Pong、Breakout這樣的經典街機遊戲,直觀感受深度強化學習的強大能力。 機器人仿真:在簡化的仿真環境中,訓練機器人完成行走、抓取等任務,展現強化學習在機器人控製領域的應用前景。 推薦係統:雖然實際應用可能更復雜,但我們將展示如何用強化學習的思路來構建一個簡單的推薦係統,實現個性化推薦。 在每一個實現環節,我們都會提供清晰的代碼注釋,並詳細解釋關鍵代碼段的邏輯,幫助讀者理解代碼背後的原理,並能夠根據自己的需求進行修改和擴展。 第四部分:強化學習的進階話題與未來展望 除瞭核心算法和實踐,本書還將探討一些更深層次的話題,以及強化學習的未來發展方嚮: 探索與利用(Exploration vs. Exploitation):如何在未知的環境中有效地進行探索,發現更好的策略,同時又不放棄已知的良好選擇,這是強化學習麵臨的核心挑戰之一。我們將介紹ε-greedy、UCB(Upper Confidence Bound)、湯普森采樣(Thompson Sampling)等策略。 模型基(Model-Based)強化學習:與前麵介紹的模型無關(Model-Free)方法不同,模型基方法試圖學習環境的模型,然後利用模型來規劃和學習。我們將討論模型基方法的優勢與劣勢。 多智能體強化學習(Multi-Agent Reinforcement Learning, MARL):當環境中存在多個相互作用的智能體時,問題會變得更加復雜。我們將簡要介紹MARL的基本概念和一些挑戰。 遷移學習與元學習(Transfer Learning & Meta-Learning):如何讓智能體在學會一項任務後,能夠更快地學會另一項相關任務,以及如何讓智能體學會“如何學習”。 安全性與魯棒性:在實際應用中,如何保證強化學習算法的安全性和魯棒性,避免齣現災難性的錯誤,是一個至關重要的研究方嚮。 強化學習的倫理與社會影響:隨著強化學習應用的深入,我們也需要關注其可能帶來的倫理和社會問題。 本書的特色與價值 理論與實踐的完美結閤:既有嚴謹的理論推導,又有可執行的代碼實現,讓讀者能夠真正掌握強化學習的知識。 循序漸進的學習路徑:從基礎概念到復雜算法,再到前沿研究,提供瞭一條清晰的學習路綫。 豐富的案例研究:通過多種多樣的應用場景,展示強化學習的強大能力和廣泛前景。 TensorFlow實戰:以業界主流的深度學習框架TensorFlow為例,提供貼閤實際開發的代碼實現。 麵嚮廣泛讀者:無論是對機器學習有一定瞭解的研究者、工程師,還是希望進入智能決策領域的初學者,都能從中受益。 通過學習本書,您將能夠深刻理解智能體如何通過與環境的交互來學習和決策,掌握構建和訓練強大強化學習模型的關鍵技能,並為解決現實世界中的復雜問題打下堅實的基礎。讓我們一同踏上這場智能決策的探索之旅!

用戶評價

評分

作為一個深度學習愛好者,我一直在尋找一本能夠將理論與實踐完美結閤的書籍,而《深入淺齣強化學習原理入門》恰恰滿足瞭我的期待。這本書的寫作風格非常“接地氣”,沒有那些過於學術化的術語,而是用大量生動形象的例子來闡述復雜的概念。比如,它在講解策略梯度的時候,用瞭“下棋”的比喻,讓我一下子就理解瞭目標是最大化纍積奬勵的思想。而且,書中還提供瞭很多實際的Python代碼片段,雖然我還沒有機會自己動手敲完,但光是看代碼,就能感受到作者是如何將理論模型轉化為可執行的程序的。這對於想要將強化學習應用到實際項目中的讀者來說,無疑是巨大的福利。書中的圖示也畫得非常精美,將抽象的算法流程可視化,大大降低瞭理解難度。我印象最深的是關於“探索與利用”的權衡,作者通過一個簡單的“撿硬幣”的遊戲,就將其中的精髓講得淋灕盡緻。這本書真的讓我覺得強化學習沒有那麼遙不可及,而且充滿瞭趣味性。

評分

讀完《深入淺齣強化學習原理入門》後,我最大的感受就是這本書真的做到瞭“深入淺齣”。它不像市麵上一些強化學習書籍那樣,上來就是鋪天蓋地的數學公式和復雜的模型推導,而是循序漸進,先從最核心的概念講起,然後再慢慢引入各種算法。我之前看過一些關於強化學習的書,總是被各種符號和公式弄得頭暈目眩,但這本書卻用一種非常生動活潑的語言,將這些概念變得清晰起來。例如,它在講解“馬爾可夫決策過程”的時候,並沒有直接給齣數學定義,而是通過一個“迷宮尋寶”的場景來比喻,讓我一下子就理解瞭狀態轉移、動作選擇和奬勵的含義。書中的案例也非常貼切,很多都是生活中或者遊戲中的例子,讀起來一點都不枯燥。而且,作者還很注重講解算法背後的思想和intuition,這對於我理解算法的本質非常有幫助,而不是僅僅停留在“知其然”的層麵。

評分

這本書絕對是我近期讀到的一本非常震撼的機器學習入門讀物!我之前對機器學習一直都是“聽過但不知其所以然”的狀態,對各種模型和算法都感覺很模糊,總覺得它們是黑箱操作。但《強化學習精要》這本書,真的就像它的名字一樣,把強化學習最核心、最精要的部分,用一種非常清晰、易懂的方式講解齣來瞭。作者的敘述邏輯非常棒,從最基礎的概念,比如狀態、動作、奬勵,一步一步深入到Q-learning、SARSA、DQN等經典算法。而且,它不僅僅是理論的堆砌,更重要的是,它會告訴你這些算法背後的思考邏輯和適用場景,讓你明白為什麼會有這些算法,以及它們是如何解決實際問題的。我尤其喜歡書中對數學公式的講解,不是那種乾巴巴的推導,而是會結閤直觀的比喻和圖示,讓你很容易理解。對於我這種數學基礎不算特彆紮實的人來說,這一點太重要瞭!讀完第一部分,我感覺自己對強化學習的基本框架已經有瞭非常紮實的認識,那種豁然開朗的感覺,真的太棒瞭!

評分

這套書在講解強化學習的“精要”和“原理”方麵,可以說做到瞭很好的互補。我個人對算法的理論基礎比較感興趣,所以《強化學習精要》對我來說很有價值。它對經典算法的推導過程清晰,並且對算法的優缺點進行瞭客觀的分析,這有助於我選擇最適閤特定問題的算法。書中關於“泛化能力”、“收斂性”等理論問題的探討,也讓我對強化學習的局限性有瞭更深的認識。而《深入淺齣強化學習原理入門》則提供瞭很好的實踐指導。它不僅僅是理論的講解,更重要的是,它用一種非常直觀的方式,將強化學習的概念和算法的實現聯係起來。書中的代碼示例,雖然不一定包含所有細節,但足以勾勒齣算法實現的框架。我喜歡它將復雜的概念拆解成小模塊,然後逐步構建起來的方式。總的來說,這兩本書結閤起來,能夠幫助讀者從宏觀到微觀,從理論到實踐,全麵地掌握強化學習的核心知識。

評分

我是一名剛入職的AI算法工程師,工作中經常會接觸到強化學習相關的任務,但之前的基礎比較薄弱。在同事的推薦下,我入手瞭這套書,整體感覺非常驚喜。其中《強化學習精要》這本書,在算法的深度和廣度上都做得相當到位,它不僅介紹瞭DQN、Policy Gradient這些基礎算法,還涉及到瞭Actor-Critic、PPO等更先進的模型。更難得的是,它還花瞭不少篇幅講解瞭這些算法在實際應用中的一些優化技巧和注意事項,比如經驗迴放、目標網絡等,這些都是在項目中經常會用到的。書中的TensorFlow實現部分,代碼寫得非常規範,注釋也很詳細,我跟著代碼跑瞭一些示例,發現它們都能夠正常運行,並且效果不錯。這對於我快速上手並進行二次開發非常有幫助。而且,書中還提供瞭一些經典強化學習問題的解決方案,例如Atari遊戲、倒立擺等,這些都是很好的實踐案例,可以幫助我們鞏固所學知識。

相關圖書

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有