深度強化學習:基於Python的理論及實踐(2021年機械工業出版社出版的圖書)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

《深度強化學習:基於Python的理論及實踐》是2021年機械工業出版社出版的圖書。

基本介紹

  • 中文名:深度強化學習:基於Python的理論及實踐
  • 出版時間:2021年10月1日
  • 出版社:機械工業出版社
  • ISBN:9787111689331
內容簡介,圖書目錄,作者簡介,

內容簡介

深度強化學習結合了深度學習和強化學習,使人工智慧體能夠在沒有監督的情況下學習如何解決順序決策問題。在過去的十年中,深度強化學習在一系列問題上取得了顯著的成果,涵蓋從單機遊戲和多人遊戲到機器人技術等方方面面。本書採用理論結合實踐的方法,從直覺開始,然後仔細解釋深度強化學習算法的理論,討論在配套軟體庫SLM Lab中的實現,最後呈現深度強化學習算法的實踐細節。

圖書目錄

讚譽
譯者序
序言
前言
致謝
第1章 強化學習簡介1
 1.1 強化學習1
 1.2 強化學習中的MDP4
 1.3 強化學習中的學習函式7
 1.4 深度強化學習算法9
  1.4.1 基於策略的算法9
  1.4.2 基於值的算法10
  1.4.3 基於模型的算法10
  1.4.4 組合方法11
  1.4.5 本書中的算法12
  1.4.6 同策略和異策略算法12
  1.4.7 小結12
 1.5 強化學習中的深度學習13
 1.6 強化學習與監督學習14
  1.6.1 缺乏先知14
  1.6.2 反饋稀疏性15
  1.6.3 數據生成15
 1.7 總結16
第一部分 基於策略的算法和基於值的算法
第2章 REINFORCE18
 2.1 策略18
 2.2 目標函式19
 2.3 策略梯度19
  2.3.1 策略梯度推導20
 2.4 蒙特卡羅採樣22
 2.5 REINFORCE算法23
  2.5.1 改進的REINFORCE算法23
 2.6 實現REINFORCE24
  2.6.1 一種最小化REINFORCE的實現24
  2.6.2 用PyTorch構建策略26
  2.6.3 採樣動作28
  2.6.4 計算策略損失29
  2.6.5 REINFORCE訓練循環30
  2.6.6 同策略記憶體回放31
 2.7 訓練REINFORCE智慧型體33
 2.8 實驗結果36
  2.8.1 實驗:評估折扣因子γ的影響36
  2.8.2 實驗:評估基準線的影響37
 2.9 總結39
 2.10 擴展閱讀39
 2.11 歷史回顧39
第3章 SARSA40
 3.1 Q函式和V函式40
 3.2 時序差分學習42
  3.2.1 時間差分學習示例44
 3.3 SARSA中的動作選擇48
  3.3.1 探索和利用49
 3.4 SARSA算法50
  3.4.1 同策略算法51
 3.5 實現SARSA52
  3.5.1 動作函式:ε-貪婪52
  3.5.2 計算Q損失52
  3.5.3 SARSA訓練循環54
  3.5.4 同策略批處理記憶體回放55
 3.6 訓練SARSA智慧型體56
 3.7 實驗結果58
  3.7.1 實驗:評估學習率的影響58
 3.8 總結60
 3.9 擴展閱讀60
 3.10 歷史回顧60
第4章 深度Q網路62
 4.1 學習DQN中的Q函式62
 4.2 DQN中的動作選擇64
  4.2.1 Boltzmann策略65
 4.3 經驗回放67
 4.4 DQN算法68
 4.5 實現DQN69
  4.5.1 計算Q損失70
  4.5.2 DQN訓練循環70
  4.5.3 記憶體回放71
 4.6 訓練DQN智慧型體74
 4.7 實驗結果77
  4.7.1 實驗:評估網路架構的影響77
 4.8 總結78
 4.9 擴展閱讀79
 4.10 歷史回顧79
第5章 改進的深度Q網路80
 5.1 目標網路80
 5.2 雙重DQN算法82
 5.3 優先權經驗回放85
  5.3.1 重要性抽樣86
 5.4 實現改進的DQN88
  5.4.1 網路初始化88
  5.4.2 計算Q損失89
  5.4.3 更新目標網路90
  5.4.4 包含目標網路的DQN91
  5.4.5 雙重DQN91
  5.4.6 優先權經驗回放91
 5.5 訓練DQN智慧型體玩Atari遊戲96
 5.6 實驗結果101
  5.6.1 實驗:評估雙重DQN與PER的影響101
 5.7 總結104
 5.8 擴展閱讀104
第二部分 組合方法
第6章 優勢演員-評論家算法106
 6.1 演員106
 6.2 評論家107
  6.2.1 優勢函式107
  6.2.2 學習優勢函式110
 6.3 A2C算法111
 6.4 實現A2C113
  6.4.1 優勢估計113
  6.4.2 計算值損失和策略損失115
  6.4.3 演員-評論家訓練循環116
 6.5 網路架構117
 6.6 訓練A2C智慧型體118
  6.6.1 在Pong上使用n步回報的A2C算法118
  6.6.2 在Pong上使用GAE的A2C算法121
  6.6.3 在BipedalWalker上使用n步回報的A2C算法122
 6.7 實驗結果124
  6.7.1 實驗:評估n步回報的影響124
  6.7.2 實驗:評估GAE中λ的影響126
 6.8 總結127
 6.9 擴展閱讀128
 6.10 歷史回顧128
第7章 近端策略最佳化算法130
 7.1 替代目標函式130
  7.1.1 性能突然下降130
  7.1.2 修改目標函式132
 7.2 近端策略最佳化136
 7.3 PPO算法139
 7.4 實現PPO141
  7.4.1 計算PPO的策略損失141
  7.4.2 PPO訓練循環142
 7.5 訓練PPO智慧型體143
  7.5.1 在Pong上使用PPO算法143
  7.5.2 在BipedalWalker上使用PPO算法146
 7.6 實驗結果149
  7.6.1 實驗:評估GAE中λ的影響149
  7.6.2 實驗:評估裁剪變數ε的影響150
 7.7 總結152
 7.8 擴展閱讀152
第8章 並行方法153
 8.1 同步並行153
 8.2 異步並行154
  8.2.1 Hogwild!算法155
 8.3 訓練A3C智慧型體157
 8.4 總結160
 8.5 擴展閱讀160
第9章 算法總結161
第三部分 實踐細節
第10章 深度強化學習工程實踐164
 10.1 軟體工程實踐164
  10.1.1 單元測試164
  10.1.2 代碼質量169
  10.1.3 Git工作流170
 10.2 調試技巧171
  10.2.1 生命跡象172
  10.2.2 策略梯度診斷172
  10.2.3 數據診斷173
  10.2.4 預處理器174
  10.2.5 記憶體174
  10.2.6 算法函式174
  10.2.7 神經網路175
  10.2.8 算法簡化177
  10.2.9 問題簡化177
  10.2.10 超參數178
  10.2.11 實驗室工作流178
 10.3 Atari技巧179
 10.4 深度強化學習小結181
  10.4.1 超參數表181
  10.4.2 算法性能比較184
 10.5 總結186
第11章 SLM Lab187
 11.1 SLM Lab算法實現187
 11.2 spec檔案188
  11.2.1 搜尋spec語法190
 11.3 運行SLM Lab192
  11.3.1 SLM Lab指令193
 11.4 分析實驗結果193
  11.4.1 實驗數據概述193
 11.5 總結195
第12章 神經網路架構196
 12.1 神經網路的類型196
  12.1.1 多層感知機196
  12.1.2 卷積神經網路198
  12.1.3 循環神經網路199
 12.2 選擇網路族的指導方法199
  12.2.1 MDP與POMDP200
  12.2.2 根據環境選擇網路202
 12.3 網路API204
  12.3.1 輸入層和輸出層形狀推斷205
  12.3.2 自動構建網路207
  12.3.3 訓練步驟209
  12.3.4 基礎方法的使用210
 12.4 總結211
 12.5 擴展閱讀212
第13章 硬體213
 13.1 計算機213
 13.2 數據類型217
 13.3 在強化學習中最佳化數據類型219
 13.4 選擇硬體222
 13.5 總結223
第四部分 環境設計
第14章 狀態226
 14.1 狀態示例226
 14.2 狀態完整性231
 14.3 狀態複雜性231
 14.4 狀態信息損失235
  14.4.1 圖像灰度235
  14.4.2 離散化235
  14.4.3 散列衝突236
  14.4.4 元信息損失236
 14.5 預處理238
  14.5.1 標準化239
  14.5.2 圖像預處理240
  14.5.3 時間預處理241
 14.6 總結244
第15章 動作245
 15.1 動作示例245
 15.2 動作完整性247
 15.3 動作複雜性248
 15.4 總結251
 15.5 擴展閱讀:日常事務中的動作設計252
第16章 獎勵255
 16.1 獎勵的作用255
 16.2 獎勵設計準則256
 16.3 總結259
第17章 轉換函式260
 17.1 可行性檢測260
 17.2 真實性檢測262
 17.3 總結263後記264
附錄A 深度強化學習時間線267
附錄B 示例環境269
參考文獻274

作者簡介

勞拉·格雷澤
(Laura Graesser)
軟體工程師,在谷歌從事機器人技術方面的工作。她擁有紐約大學計算機科學碩士學位,專攻機器學習方向。
龔輝倫
(Wah Loon Keng)
Machine Zone的人工智慧工程師,致力於將深度強化學習套用於工業問題。他擁有理論物理和計算機科學的背景。
他們共同開發了兩個深度強化學習軟體庫,並就此進行了多次主題講座和技術輔導。
主要譯者:
許靜
南開大學人工智慧學院副院長,機器智慧型所所長,教授,博士生導師。2003年獲得南開大學博士學位,主要研究方向為人工智慧、大數據分析和軟體安全。已完成多項國jia級、省部級、國際合作、國內合作項目,發表學術論文100餘篇,出版教材一部,申請發明專利20餘項;獲得天津市科技進步二等獎兩項;現為IEEE會員、CCF高級會員、天津市圖形圖像學會常務理事。

相關詞條

熱門詞條

聯絡我們