Python 深度強化學習入門:強化學習和深度學習的搜索與控制
內容描述
《Python深度強化學習入門:強化學習和深度學習的搜索與控制》共7章。
其中,第1章介紹了機器學習的分類、強化學習的學習機制以及深度強化學習的概念;
第2章通過強化學習的基本概念、馬爾科夫決策過程和貝爾曼方程、貝爾曼方程的求解方法、無模型控制等介紹了強化學習的基本算法;
第3章通過深度學習、卷積神經網絡(CNN)、循環神經網絡(RNN)介紹了強化學習中深度學習的特徵提取方法;
第4章通過行動價值函數的網絡表示、策略函數的網絡表示介紹了深度強化學習的實現;
第5章通過策略梯度法的連續控制、學習算法和策略模型等,詳細介紹了深度強化學習在連續控制問題中的應用及具體實現;
第6章通過巡迴推銷員問題和魔方問題詳細介紹了深度強化學習在組合優化中的應用及具體實現;
第7章通過SeqGAN的文本生成和神經網絡的架構搜索詳細介紹了深度強化學習在時間序列數據生成的應用。
在附錄中還給出了Colaboratory和Docker等深度強化學習開發環境的構建。
目錄大綱
目 錄
譯者序
原書前言
閱讀本書需要的知識基礎
本書的結構
本書示例的運行環境
1.1 機器學習的分類004
1.1.1 監督學習005
1.1.2 無監督學習006
1.1.3 強化學習007
1.2 強化學習的學習機制008
1.3 深度強化學習011
2.1 強化學習的基本概念014
2.1.1 強化學習的問題設定014
2.1.2 強化學習的機制014
2.1.3 關於本章的內容016
2.2 馬爾可夫決策過程和貝爾曼方程017
2.2.1 馬爾可夫決策過程017
2.2.2 貝爾曼方程020
2.3 貝爾曼方程的求解方法024
2.3.1 動態規劃法024
2.3.2 蒙特卡洛法031
2.3.3 TD學習法033
2.4 無模型控制037
2.4.1 策略改進的方法037
2.4.2 基於價值的方法038
2.4.3 基於策略的方法043
2.4.4 Actor-Critic法049
3.1 深度學習056
3.1.1 深度學習的出現和背景056
3.1.2 什麼是深度學習? 056
3.1.3 深度學習平台062
3.2 CNN067
3.2.1 什麼是CNN067
3.2.2 CNN的應用071
3.3 RNN074
3.3.1 什麼是RNN074
3.3.2 什麼是LSTM079
3.3.3 RNN的應用081
4.1 深度強化學習的發展086
4.1.1 DQN的出現086
4.1.2 用於強化學習的模擬器086
4.2 行動價值函數的網絡表示089
4.2.1 DQN算法089
4.2.2 DQN算法的實現092
4.2.3 學習結果099
4.3 策略函數的網絡表示101
4.3.1 Actor的實現101
4.3.2 Critic的實現101
4.3.3 示例代碼的介紹102
4.3.4 學習結果108
5.1 策略梯度法的連續控制114
5.1.1 連續控制114
5.1.2 策略梯度法學習114
5.2 學習算法和策略模型117
5.2.1 算法概況117
5.2.2 REINFORCE算法118
5.2.3 基準函數的引入118
5.2.4 高斯模型的策略概率119
5.3 連續行動模擬器121
5.3.1 pybullet-gym121
5.3.2 Walker2D122
5.4 算法的實現126
5.4.1 算法實現的總體構成126
5.4.2 train.py127
5.4.3 policy_estimator.py129
5.4.4 value_estimator.py132
5.5 學習結果及預測控制134
5.5.1 學習結果134
5.5.2 預測控制的結果136
5.5.3 其他環境模型的應用137
5.5.4 總結140
6.1 組合優化中的應用144
6.1.1 關於組合優化144
6.2 巡迴推銷員問題145
6.2.1 通過強化學習解決巡迴推銷員問題145
6.2.2 實現概要147
6.2.3 運行結果155
6.2.4 今後的發展趨勢157
6.3 魔方問題158
6.3.1 用強化學習解決魔方問題158
6.3.2 實現概要161
6.3.3 實現結果171
6.3.4 AC+MCTS算法的預測結果173
6.3.5 今後的發展趨勢177
6.4 總結179
7.1 根據SeqGAN的文本生成182
7.1.1 GAN182
7.1.2 SeqGAN183
7.1.3 輸入數據185
7.1.4 使用的算法及其實現187
7.1.5 實現結果195
7.1.6 總結198
7.2 神經網絡架構的搜索198
7.2.1 神經體系結構搜索198
7.2.2 語義分割199
7.2.3 U-Net200
7.2.4 文件目錄結構201
7.2.5 輸入數據201
7.2.6 所使用的算法204
7.2.7 實現結果213
7.2.8 總結215
附錄A Colaboratory的GPU環境構建218
A.1 Colaboratory218
A.2 Colaboratory的使用方法218
附錄B 通過Docker進行Windows環境的構建222
B.1 介紹222
B.2 Docker的安裝222
B.3 Docker映像的創建228
B.4 容器的啟動232
B.5 運行情況的查看234
參考文獻238