深度強化學習實戰:用 OpenAI Gym 構建智能體 Hands-On Intelligent Agents with OpenAI Gym: Your guide to developing AI agents using deep reinforcement learning

Praveen Palanisamy 洪賢斌 ,湯奎樺

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

商品描述

這是一本介紹用OpenAI Gym 構建智能體的實戰指南。
全書先簡要介紹智能體和學習環境的一些入門知識,概述強化學習和深度強化學習的基本概念和知識點,
然後重點介紹OpenAI Gym 的相關內容,隨後在具體的Gym 環境中運用強化學習算法構建智能體。
本書還探討了這些算法在遊戲、自動駕駛領域的應用。
本書適合想用OpenAI Gym 構建智能體的讀者閱讀,
也適合對強化學習和深度強化學習感興趣的讀者參考。
讀者應具備一定的Python 編程基礎。

作者簡介

Praveen Palanisamy
專注於研究自主智能係統。
他是通用汽車研發部門的 AI(人工智能)研究員,主要負責針對自動駕駛開發基於深度強化學習的規劃和決策算法。
在此之前,他在卡內基-梅隆大學機器人所從事自動導航的研究
(包括可移動機器人的感知與智能),曾從*開始研發一個完整的、自動的機器人系統。

目錄大綱

目錄
第1章智能體與學習環境入門 1
1.1 智能體簡介 1
1.2 學習環境 2
1.3 OpenAI Gym簡介 3
1.4 理解OpenAI Gym的主要特性 8
1.4.1 簡單的環境接口 8
1.4.2 可比較與可複現 8
1.4.3 進程可監控 9
1.5 OpenAI Gym工具包的作用 9
1.6 創建第一個OpenAI Gym環境 9
1.7 小結 11
第2章強化學習和深度強化學習 12
2.1 強化學習簡介 12
2.2 直觀理解人工智能的含義和內容 13
2.2.1 監督學習 13
2.2.2 非監督學習 14
2.2.3 強化學習 14
2.3 強化學習實戰 14
2.3.1 智能體 15
2.3.2 獎勵 15
2.3.3 環境 15
2.3.4 狀態 16
2.3.5 模型 17
2.3.6 值函數 17
2.3.7 策略 18
2.4 馬爾可夫決策過程 18
2.5 動態規劃 19
2.6 蒙特卡洛學習和時序差分學習 19
2.7 SARSA和Q-Learning 20
2.8 深度強化學習 21
2.9 強化學習和深度強化學習算法的實踐應用 22
2.10 小結 23
第3章開啟OpenAI Gym和深度強化學習之旅 24
3.1 代碼庫、設置和配置 24
3.1.1 先決條件 25
3.1.2 創建conda環境 26
3.1.3 最小化安裝—快捷簡便的方法 27
3.1.4 完整安裝OpenAI Gym學習環境 28
3.2 安裝深度強化學習所需的工具和庫 32
3.2.1 安裝必備的系統軟件包 32
3.2.2 安裝CUDA 33
3.2.3 安裝PyTorch 34
3.3 小結 35
第4章探索Gym及其功能 36
4.1 探索環境列表和術語 36
4.1.1 術語 37
4.1.2 探索Gym環境 38
4.2 理解Gym接口 40
4.3 Gym中的空間 43
4.4 小結 47
第5章實現第一個智能體—解決過山車問題 48
5.1 了解過山車問題 48
5.2 從零開始實現Q-Learning智能體 50
5.2.1 Q-Learning回顧 53
5.2.2 使用Python和NumPy實現Q-Learning智能體 53
5.3 在Gym中訓練強化學習智能體 58
5.4 測試並記錄智能體的性能 58
5.5 一個簡單且完整的Q-Learner實現—過山車問題的解決方案 59
5.6 小結 63
第6章用深度Q-Learning實現最優化控制智能體 64
6.1 優化Q-Learning智能體 65
6.1.1 用神經網絡近似Q函數 65
6.1.2 經驗回放 71
6.1.3 重溫ε-貪婪動作策略 74
6.2 實現一個深度Q-Learning智能體 76
6.2.1 用PyTorch實現一個深度卷積Q網絡 77
6.2.2 使用目標Q網絡穩定智能體的學習 78
6.2.3 記錄和可視化智能體的學習過程 79
6.2.4 管理超參數和配置參數 81
6.2.5 用完整的深度Q-Learner處理輸入為原始像素的複雜問題 83
6.3 Atari Gym環境 89
6.4 訓練深度Q-Learner玩Atari遊戲 98
6.4.1 整合一個完整的深度Q-Learner 98
6.4.2 超參數 101
6.4.3 啟動訓練過程 102
6.4.4 在Atari遊戲中測試深度Q-Learner的性能 103
6.5 小結 104
第7章創建自定義OpenAI Gym環境—CARLA 105
7.1 理解Gym環境結構 105
7.1.1 為自定義Gym環境實現創建模板 106
7.1.2 在OpenAI Gym環境中註冊自定義環境 108
7.2 創建與OpenAI Gym兼容的CARLA環境 108
7.2.1 配置和初始化 110
7.2.2 實現reset方法 111
7.2.3 為CARLA環境實現step函數 115
7.2.4 測試CARLA Gym環境 120
7.3 小結 122
第8章用深度演員-評論家算法實現無人駕駛智能體 123
8.1 深度n步優勢演員-評論家算法 123
8.1.1 策略梯度 124
8.1.2 演員-評論家算法 126
8.1.3 優勢演員-評論家算法 127
8.1.4 n步優勢演員-評論家算法 129
8.1.5 深度n步優勢演員-評論家算法 132
8.2 實現深度n步優勢演員-評論家智能體 133
8.2.1 初始化演員和評論家網絡 133
8.2.2 用當前策略獲取n步經驗 137
8.2.3 計算演員和評論家的損失 137
8.2.4 更新演員-評論家模型 139
8.2.5 用於保存/加載、記錄、可視化和監視的工具 139
8.2.6 擴展——異步深度n步優勢演員-評論家 139
8.3 訓練一個“聰明”的自動駕駛智能體 140
8.3.1 訓練和測試深度n步優勢演員-評論家智能體 140
8.3.2 訓練智能體在CARLA中駕駛車輛 143
8.4 小結 144
第9章探索學習環境全景——Roboschool、Gym Retro、StarCraft-Ⅱ和DeepMind Lab 145
9.1 Gym接口兼容的環境 146
9.1.1 Roboschool 146
9.1.2 Gym Retro 150
9.2 其他基於Python的開源學習環境 153
9.2.1 星際爭霸Ⅱ—PySC2 153
9.2.2 DeepMind Lab 156
9.3 小結 160
第10章探索學習算法世界——DDPG(演員-評論家)、PPO (策略梯度)、Rainbow(基於值) 161
10.1 深度確定性策略梯度 162
10.2 近端策略優化 163
10.3 Rainbow 165
10.3.1 核心概念 165
10.3.2 優點及應用簡要總結 169
10.4 小結 170