TensorFlow2 強化學習手冊 TensorFlow 2 Reinforcement Learning Cookbook: Over 50 recipes to help you build, train, and deploy learning agents for real-world applications

[美]普拉文·帕拉尼薩米(Praveen Palanisamy) 著 陳翔 王璽鈞 譯

  • TensorFlow2 強化學習手冊-preview-1
  • TensorFlow2 強化學習手冊-preview-2
  • TensorFlow2 強化學習手冊-preview-3
TensorFlow2 強化學習手冊-preview-1

買這商品的人也買了...

商品描述

本書首先介紹深度強化學習的基礎知識以及TensorFlow 2.x的**主要版本。隨後介紹OpenAI Gym、基於模型的RL和無模型的RL,並學習如何開發基本代理。深入介紹發現如何實施高級深度強化學習算法,例如行動者批評、深度確定性策略梯度、深度Q網絡、近端策略優化以及深度循環Q網絡,以訓練RL代理。同時,本書通過構建用於自動完成任務的加密貨幣交易代理,股票/股票交易代理和智能代理等實例,探索現實世界中的強化學習。最後,本書介紹如何使用TensorFlow 2.x將深度強化學習代理部署到雲並構建跨平臺應用程序。

目錄大綱

 

目   錄

 

第 1 章  使用 TensorFlow 2.x 開發深度強化學習的基本模塊  1

1.1 技術要求  1

1.2 構建訓練強化學習智能體的環境和獎勵機制  1

1.2.1 前期準備  2

1.2.2 實現步驟  2

1.2.3 工作原理  8

1.3 針對離散動作空間和離散決策問題實現基於神經網絡的強化學習策略    8

1.3.1 前期準備  9

1.3.2 實現步驟  9

1.3.3 工作原理   13

1.4 針對連續動作空間和連續控制問題實現基於神經網絡的強化學習策略  13

1.4.1 前期準備   14

1.4.2 實現步驟   14

1.4.3 工作原理   19

1.5 將 OpenAI Gym 作為強化學習的訓練環境  20

1.5.1 前期準備   20

1.5.2 實現步驟   20

1.5.3 工作原理   22

1.6 構建神經網絡智能體  22

1.6.1 前期準備   23

1.6.2 實現步驟   23

1.6.3 工作原理   26

1.7 構建神經網絡進化智能體    27

1.7.1 前期準備   27

1.7.2 實現步驟   27

1.7.3 工作原理   34

1.8 參考資料    34

第 2 章  基於價值、策略和行動者-評論家的深度強化學習算法實現. 35

2.1 技術要求    35

2.2 構建用於訓練強化學習智能體的隨機環境   35

2.2.1 前期準備   36

2.2.2 實現步驟   37

2.2.3 工作原理   42

2.3 構建基於價值的強化學習智能體算法  42

2.3.1 前期準備   43

2.3.2 實現步驟   43

2.3.3 工作原理   46

2.4 實現時序差分學習  47

2.4.1 前期準備   47

2.4.2 實現步驟   48

2.4.3 工作原理   52

2.5 構建強化學習中的蒙特卡洛預測和控制算法    53

2.5.1 前期準備   54

2.5.2 實現步驟   54

2.5.3 工作原理   58

2.6 實現 SARSA 算法和對應的強化學習智能體    59

2.6.1 前期準備   59

2.6.2 實現步驟   59

2.6.3 工作原理   61

2.7 構建基於 Q 學習的智能體  62

2.7.1 前期準備   62

2.7.2 實現步驟   63

2.7.3 工作原理   64

2.8 實現策略梯度    65

2.8.1 前期準備   65

2.8.2 實現步驟   66

2.8.3 工作原理   70

2.9 實現行動者-評論家算法    70

2.9.1 前期準備   70

2.9.2 實現步驟   71

2.9.3 工作原理   74

第 3 章  高級強化學習算法的實現    75

3.1 技術要求    75

3.2 實現 Deep Q 學習算法、DQN 和 Double-DQN 智能體  75

3.2.1 前期準備   76

3.2.2 實現步驟   76

3.2.3 工作原理   81

3.3 實現 Dueling DQN 智能體  81

3.3.1 前期準備   81

3.3.2 實現步驟   82

3.3.3 工作原理   86

3.4 實現 Dueling Double DQN 算法和 DDDQN 智能體    86

3.4.1 前期準備   87

3.4.2 實現步驟   87

3.4.3 工作原理   91

3.5 實現深度遞歸 Q 學習算法和 DRQN 智能體    91

3.5.1 前期準備   91

3.5.2 實現步驟   92

3.5.3 工作原理   96

3.6 實現異步優勢行動者-評論家算法和 A3C 智能體    96

3.6.1 前期準備   96

3.6.2 實現步驟   97

3.6.3 工作原理   104

3.7 實現近端策略優化算法和 PPO 智能體    104

3.7.1 前期準備   104

3.7.2 實現步驟   105

3.7.3 工作原理   112

3.8 實現深度確定性策略梯度算法和 DDPG 智能體  112

3.8.1 前期準備   112

3.8.2 實現步驟   113

3.8.3 工作原理   119

第 4 章  現實世界中的強化學習——構建加密貨幣交易智能體  120

4.1 技術要求  120

4.2 使用真實市場數據搭建一個比特幣交易強化學習平臺    120

4.2.1 前期準備   121

4.2.2 實現步驟   121

4.2.3 工作原理   127

4.3 使用價格圖表搭建一個以太坊交易強化學習平臺   128

4.3.1 前期準備   128

4.3.2 實現步驟   129

4.3.3 工作原理   135

4.4 為強化學習智能體搭建一個高級的加密貨幣交易平臺    135

4.4.1 前期準備   135

4.4.2 實現步驟   136

4.4.3 工作原理   140

4.5 使用強化學習訓練一個加密貨幣交易智能體  141

4.5.1 前期準備   141

4.5.2 實現步驟   141

4.5.3 工作原理   153

第 5 章  現實世界中的強化學習——建立股票/股份交易智能體    154

5.1 技術要求  154

5.2 使用真實的證券交易所數據搭建一個股票市場交易強化學習平臺 155

5.2.1 前期準備   155

5.2.2 實現步驟   155

5.2.3 工作原理   159

5.3 使用價格圖表搭建一個股票市場交易強化學習平臺    159

5.3.1 前期準備   160

5.3.2 實現步驟   160

5.3.3 工作原理   165

5.4 搭建一個高級的股票交易強化學習平臺以訓練智能體模仿專業交易員    165

5.4.1 前期準備   165

5.4.2 實現步驟   166

5.4.3 工作原理   171

第 6 章  現實世界中的強化學習——構建智能體來完成您的待辦事項    173

6.1 技術要求  173

6.2 為現實世界的強化學習搭建學習環境    174

6.2.1 前期準備   174

6.2.2 實現步驟   174

6.2.3 工作原理   181

6.3 構建一個強化學習智能體來完成網絡上的任務——行動號召  181

6.3.1 前期準備   182

6.3.2 實現步驟   182

6.3.3 工作原理   192

6.4 構建一個用於可視化頁面的自動登錄機器人  193

6.4.1 前期準備   194

6.4.2 實現步驟   194

6.4.3 工作原理   202

6.5 訓練一個強化學習智能體來自動為您的行程預訂航班    203

6.5.1 前期準備   203

6.5.2 實現步驟   204

6.5.3 工作原理   211

6.6 訓練一個強化學習智能體來管理您的電子郵件  212

6.6.1 前期準備   212

6.6.2 實現步驟   213

6.6.3 工作原理   217

6.7 訓練一個強化學習智能體來自動管理您的社交媒體賬戶    218

6.7.1 前期準備   218

6.7.2 實現步驟   219

6.7.3 工作原理   226

第 7 章  在雲端部署深度強化學習智能體    228

7.1 技術要求  228

7.2 實現強化學習智能體的運行組件   228

7.2.1 前期準備   229

7.2.2 實現步驟   229

7.2.3 工作原理   234

7.3 建立強化學習環境模擬器的服務   234

7.3.1 前期準備   235

7.3.2 實現步驟   235

7.3.3 工作原理   241

7.4 使用遠程模擬服務器訓練強化學習智能體  242

7.4.1 前期準備   242

7.4.2 實現步驟   242

7.4.3 工作原理   246

7.5 測試/評估強化學習智能體    246

7.5.1 前期準備   247

7.5.2 實現步驟   247

7.5.3 工作原理   250

7.6 組裝強化學習智能體進行部署——一個交易機器人    250

7.6.1 前期準備   251

7.6.2 實現步驟   251

7.6.3 工作原理   256

7.7 將強化學習智能體部署到雲端——交易機器人即服務    256

7.7.1 前期準備   257

7.7.2 實現步驟   257

7.7.3 工作原理   259

第 8 章  使用分佈式訓練加速深度強化學習智能體開發    261

8.1 技術要求  261

8.2 使用 TensorFlow 2.x 的分佈式深度學習模型——多 GPU 訓練   261

8.2.1 前期準備   262

8.2.2 實現步驟   262

8.2.3 工作原理   268

8.3 縱向擴展與橫向擴展——多機、多 GPU 訓練  268

8.3.1 前期準備   269

8.3.2 實現步驟   269

8.3.3 工作原理   272

8.4 大規模訓練深度強化學習智能體——多 GPU PPO 智能體  272

8.4.1 前期準備   272

8.4.2 實現步驟   272

8.4.3 工作原理   284

8.5 為加速訓練的分佈式深度強化學習的基礎模塊  284

8.5.1 前期準備   284

8.5.2 實現步驟   285

8.5.3 工作原理   290

8.6 使用 Ray、Tune 和 RLLib 進行大規模的深度強化學習智能體訓練    291

8.6.1 前期準備   291

8.6.2 實現步驟   291

8.6.3 工作原理   296

第 9 章  深度強化學習智能體的多平臺部署  297

9.1 技術要求  297

9.2 使用 TensorFlow Lite 組裝用於移動和物聯網設備的深度強化學習智能體    297

9.2.1 前期準備   298

9.2.2 實現步驟   298

9.2.3 工作原理   303

9.3 在移動設備上部署強化學習智能體    304

9.3.1 前期準備   305

9.3.2 實現步驟   306

9.3.3 工作原理   313

9.4 使用 TensorFlow.js 為 Web 和 Node.js 組裝深度強化學習智能體    313

9.4.1 前期準備   313

9.4.2 實現步驟   314

9.4.3 工作原理   318

9.5 將深度強化學習智能體部署為服務    318

9.5.1 前期準備   319

9.5.2 實現步驟   319

9.5.3 工作原理   323

9.6 為跨平臺部署組裝深度強化學習智能體   323

9.6.1 前期準備   323

9.6.2 實現步驟   324

9.6.3 工作原理   330