本書從強化學習的基礎入手,以非常直觀易懂的例子和實際應用來解釋其中的每個概念,接著介紹一些前沿的研究及進展,這些進展使得強化學習可以超過其他(人工)智能系統。本書的目的不僅在于為讀者闡釋多種前沿強化學習算法背后的數學原理,而且也希望讀者們能在各自的應用領域中實際運用這些算法及類似的先進深度強化學習智能體。
本書從強化學習的基本模塊開始,涵蓋了流行的經典動態規劃方法和經典強化學習方法,如價值迭代和策略迭代;同時也包括一些傳統的強化學習算法,如時序差分學習、SARSA和Q學習。在此基礎之上,本書介紹了適用于現代強化學習環境和智能體的深度學習和輔助工具。本書繼而開始深入研究深度強化學習的概念,并介紹相應的算法,如深度Q網絡、雙DQN、競爭DQN、(深度)同步演員-評論家,(深度)異步優勢演員-評論家和深度確定性策略梯度。在每一個介紹這些概念的理論/數學原理的章節之后都附有可用于這些智能體實現的代碼。
第1章 強化學習簡介:AI智能體背后的智能
1.1 什么是人工智能,強化學習與它有什么關系
1.2 理解強化學習的基本設計
1.3 強化學習中的獎勵和確定一個合適的獎勵函數所涉及的問題
1.4 強化學習的狀態
1.5 強化學習中的智能體
1.6 小結
第2章 強化學習的數學和算法理解:馬爾可夫決策過程與解決方法
2.1 馬爾可夫決策過程
2.2 貝爾曼方程
2.3 動態規劃和貝爾曼方程
2.4 價值迭代和策略迭代方法
2.5 小結
第3章 編碼環境和馬爾可夫決策過程的求解:編碼環境、價值迭代和策略迭代算法
3.1 以網格世界問題為例
3.2 構建環境
3.3 平臺要求和代碼的工程架構
3.4 創建網格世界環境的代碼
3.5 基于價值迭代方法求解網格世界的代碼
3.6 基于策略迭代方法求解網格世界的代碼
3.7 小結
第4章 時序差分學習、SARSA和Q學習:幾種常用的基于值逼近的強化學習方法
4.1 經典DP的挑戰
4.2 基于模型和無模型的方法
4.3 時序差分(TD)學習
4.4 SARSA
4.5 Q學習
4.6 決定探索和利用之間概率的算法(賭博機算法)
4.7 小結
第5章 Q學習編程:Q學習智能體和行為策略編程
5.1 工程結構與依賴項
5.2 代碼
5.3 訓練統計圖
第6章 深度學習簡介
6.1 人工神經元深度學習的基石
6.2 前饋深度神經網絡(DNN)
6.3 深度學習中的架構注意事項
6.4 卷積神經網絡用于視覺深度學習
6.5 小結
第7章 可運用的資源:訓練環境和智能體實現庫
7.1 你并不孤單
7.2 標準化的訓練環境和平臺
7.3 Agent開發與實現庫
第8章 深度Q網絡、雙DQN和競爭DQN
8.1 通用人工智能
8.2 GoogleDeep Mind和AlphaGo簡介
8.3 DQN算法
8.4 雙DQN算法
8.5 競爭DQN算法
8.6 小結
第9章 雙DQN的代碼:用£衰減行為策略編碼雙DQN
9.1 項目結構和依賴關系
9.2 雙DQN智能體的代碼(文件:DoubleDQN.py)
9.3 訓練統計圖
第10章 基于策略的強化學習方法:隨機策略梯度與REINFORCE算法
10.1 基于策略的方法和策略近似介紹
10.2 基于價值的方法和基于策略的方法的廣義區別
10.3 計算策略梯度的問題
10.4 REINFORCE算法
10.5 REINFORCE算法中減少方差的方法
10.6 為REINFORCE算法選擇基線
10.7 小結
第11章 演員-評論家模型和A3C:異步優勢演員-評論家模型
11.1 演員-評論家方法簡介
11.2 演員-評論家方法的概念設計
11.3 演員-評論家實現的架構
11.4 異步優勢行動者-評論家實現(A3C)
11.5 (同步)優勢演員-評論家實現(A2C)
11.6 小結
第12章 A3C的代碼:編寫異步優勢演員-評論家代碼
12.1 項目結構和依賴關系
12.2 代碼(A3C_MasterFile:a3c_master.py)
12.3 訓練統計圖
第13章 確定性策略梯度和DDPG:基于確定性策略梯度的方法
13.1 確定性策略梯度(DPG)
13.2 深度確定性策略梯度(DDPG)
13.3 小結
第14章 DDPG的代碼:使用高級封裝的庫編寫DDPG的代碼
14.1 用于強化學習的高級封裝的庫
14.2 Mountain Car Continuous(Gym)環境
14.3 項目結構和依賴關系
14.4 代碼(文件:ddpg_continout_action.py)
14.5 智能體使用MountainCarContinous-v0環境
參考文獻