近年來(lái),隨著人工智能技術(shù)的不斷發(fā)展,強(qiáng)化學(xué)習(xí)作為一種重要的機(jī)器學(xué)習(xí)方法,受到了廣泛關(guān)注并得到大量應(yīng)用。強(qiáng)化學(xué)習(xí)借助智能體與環(huán)境的交互進(jìn)行學(xué)習(xí),在未知環(huán)境和復(fù)雜任務(wù)面前展現(xiàn)出了強(qiáng)大優(yōu)勢(shì)。其應(yīng)用場(chǎng)景從智能游戲、金融交易,延伸至自動(dòng)駕駛系統(tǒng),越來(lái)越多樣化,且在各領(lǐng)域的成功案例不斷出現(xiàn)。
盡管強(qiáng)化學(xué)習(xí)的理論基礎(chǔ)已相對(duì)成熟,但在實(shí)際應(yīng)用中仍面臨諸多挑戰(zhàn)。從算法的理論設(shè)計(jì)到具體項(xiàng)目的落地實(shí)踐,都需要深入理解強(qiáng)化學(xué)習(xí)的核心原理、常用算法,以及開發(fā)技術(shù)。所以,一本系統(tǒng)且全面介紹強(qiáng)化學(xué)習(xí)核心算法開發(fā)技術(shù)的實(shí)踐指南就顯得極為重要。
本書將理論與實(shí)踐相結(jié)合,深入解析強(qiáng)化學(xué)習(xí)的核心原理、經(jīng)典算法及其在實(shí)際項(xiàng)目中的應(yīng)用。通過深入淺出的講解,讀者將能夠掌握強(qiáng)化學(xué)習(xí)的基本概念、常用算法和開發(fā)技術(shù),從而能夠更好地應(yīng)用強(qiáng)化學(xué)習(xí)技術(shù),解決實(shí)際問題。
本書的特色
1. 全面、系統(tǒng)的學(xué)習(xí)路線
本書遵循邏輯嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)路線,從強(qiáng)化學(xué)習(xí)的基礎(chǔ)概念和理論入手,逐步深入介紹馬爾可夫決策過程、蒙特卡洛方法、Q-learning(Q 學(xué)習(xí))、DQN(Deep Q-Networks,深度Q網(wǎng)絡(luò))等經(jīng)典算法,再到更高級(jí)的算法[如Actor-Critic(演員-評(píng)論家)算法、PPO(Proximal Policy Optimization,近端策略優(yōu)化)算法等],以及模型預(yù)測(cè)控制、值分布式算法等內(nèi)容,覆蓋了強(qiáng)化學(xué)習(xí)領(lǐng)域的主要理論和算法。
2. 理論與實(shí)踐相結(jié)合
本書不但介紹強(qiáng)化學(xué)習(xí)的理論知識(shí),還通過大量實(shí)例和項(xiàng)目案例,把理論知識(shí)與實(shí)際項(xiàng)目相結(jié)合,助力讀者深入理解和掌握強(qiáng)化學(xué)習(xí)技術(shù)。
3. 豐富的項(xiàng)目實(shí)戰(zhàn)
每一章都包含實(shí)際項(xiàng)目的實(shí)戰(zhàn)案例,涵蓋機(jī)器人控制、游戲、金融投資、自動(dòng)駕駛等多個(gè)領(lǐng)域的應(yīng)用場(chǎng)景,讀者可通過實(shí)踐項(xiàng)目加深對(duì)理論知識(shí)的理解,提升實(shí)際應(yīng)用能力。
4. 詳細(xì)的算法原理解析
本書對(duì)每種算法的原理和實(shí)現(xiàn)細(xì)節(jié)都進(jìn)行了詳細(xì)闡釋,涵蓋數(shù)學(xué)推導(dǎo)、算法流程、代碼實(shí)現(xiàn)等,有助于讀者深入理解算法的內(nèi)在原理。
5. 項(xiàng)目實(shí)戰(zhàn)中的調(diào)試和優(yōu)化技巧
在項(xiàng)目實(shí)戰(zhàn)部分,本書還介紹了調(diào)試和優(yōu)化技巧,幫助讀者解決實(shí)際項(xiàng)目中遇到的各種問題和挑戰(zhàn)。
6. 提供豐富的配套資源
本書提供了網(wǎng)絡(luò)視頻教學(xué),這些視頻能夠幫助讀者提高學(xué)習(xí)效率,加深理解所學(xué)知識(shí)。讀者可通過掃描每章二級(jí)標(biāo)題下的二維碼獲取視頻資源,既可在線觀看,也可以下載到本地隨時(shí)學(xué)習(xí)。此外,本書的配書資源中還提供了全書案例的源代碼和PPT學(xué)習(xí)課件。
本書的讀者對(duì)象
學(xué)生和研究人員。對(duì)強(qiáng)化學(xué)習(xí)領(lǐng)域感興趣的本科生、研究生及科研人員,可將本書作為學(xué)習(xí)強(qiáng)化學(xué)習(xí)理論和算法的教材和參考書。
工程師和開發(fā)者。從事人工智能、機(jī)器學(xué)習(xí)、數(shù)據(jù)科學(xué)、自動(dòng)化等領(lǐng)域的工程師和開發(fā)者,若希望掌握強(qiáng)化學(xué)習(xí)核心技術(shù)并應(yīng)用到實(shí)際項(xiàng)目中,本書將有所幫助。
數(shù)據(jù)科學(xué)家和分析師。希望利用強(qiáng)化學(xué)習(xí)技術(shù)解決實(shí)際業(yè)務(wù)問題、優(yōu)化決策和策略的數(shù)據(jù)科學(xué)家、分析師以及相關(guān)領(lǐng)域的從業(yè)人員。
機(jī)器人工程師。從事機(jī)器人控制、路徑規(guī)劃等領(lǐng)域的工程師,若希望利用強(qiáng)化學(xué)習(xí)技術(shù)提升機(jī)器人的智能化水平和自主決策能力,可參考本書。
金融領(lǐng)域從業(yè)人員。對(duì)利用強(qiáng)化學(xué)習(xí)技術(shù)進(jìn)行金融投資決策和風(fēng)險(xiǎn)管理感興趣的金融分析師、交易員、量化分析師等。
自動(dòng)駕駛工程師。從事自動(dòng)駕駛系統(tǒng)開發(fā)和研究的工程師和研究人員,若希望利用強(qiáng)化學(xué)習(xí)技術(shù)提升自動(dòng)駕駛系統(tǒng)的性能和安全性,本書可供參考。
人工智能愛好者和技術(shù)熱愛者。對(duì)人工智能領(lǐng)域的技術(shù)和應(yīng)用感興趣,希望了解強(qiáng)化學(xué)習(xí)的原理、算法和實(shí)際應(yīng)用的人員。
致謝
本書編寫過程中,得到了清華大學(xué)出版社編輯的大力支持。正是各位編輯專業(yè)的工作態(tài)度,耐心的幫助和高效的工作,才使本書能在較短時(shí)間內(nèi)面世。此外,也非常感謝家人給予的支持。由于本人水平有限,書中難免存在疏漏之處,懇請(qǐng)廣大讀者提出寶貴意見或建議,以便修訂完善。
最后感謝您購(gòu)買本書,希望本書能成為您編程路上的領(lǐng)航者,祝您閱讀愉快!
編 者
第1章 強(qiáng)化學(xué)習(xí)基礎(chǔ) 1
1.1 強(qiáng)化學(xué)習(xí)概述 2
1.1.1 強(qiáng)化學(xué)習(xí)的背景 2
1.1.2 強(qiáng)化學(xué)習(xí)的核心特點(diǎn) 3
1.1.3 強(qiáng)化學(xué)習(xí)與其他機(jī)器學(xué)習(xí)方法的區(qū)別 3
1.2 強(qiáng)化學(xué)習(xí)的應(yīng)用領(lǐng)域 4
1.2.1 機(jī)器人控制與路徑規(guī)劃 4
1.2.2 游戲與虛擬環(huán)境 5
1.2.3 金融與投資決策 6
1.2.4 自動(dòng)駕駛與智能交通 6
1.2.5 自然語(yǔ)言處理 7
1.3 強(qiáng)化學(xué)習(xí)中的常用概念 8
1.3.1 智能體、環(huán)境與交互 8
1.3.2 獎(jiǎng)勵(lì)與回報(bào)的概念 9
1.3.3 馬爾可夫性質(zhì)與馬爾可夫決策過程 9
1.3.4 策略與價(jià)值函數(shù) 10
第2章 馬爾可夫決策過程 11
2.1 馬爾可夫決策過程的定義 12
2.1.1 馬爾可夫決策過程的核心思想 12
2.1.2 馬爾可夫決策過程的形式化定義 12
2.2 馬爾可夫決策過程的組成要素 13
2.2.1 狀態(tài)空間與狀態(tài)的定義 13
2.2.2 行動(dòng)空間與行動(dòng)的定義 14
2.2.3 獎(jiǎng)勵(lì)函數(shù)的作用與定義 14
2.2.4 轉(zhuǎn)移概率函數(shù)的意義與定義 15
2.2.5 實(shí)例分析:構(gòu)建一個(gè)簡(jiǎn)單的MDP 16
2.3 值函數(shù)與策略 18
2.3.1 值函數(shù)與策略的定義 18
2.3.2 值函數(shù)與策略的用法舉例 18
2.4 貝爾曼方程 20
2.4.1 貝爾曼預(yù)測(cè)方程與策略評(píng)估 20
2.4.2 貝爾曼最優(yōu)性方程與值函數(shù)之間的關(guān)系 22
2.4.3 貝爾曼最優(yōu)性方程與策略改進(jìn) 25
2.4.4 動(dòng)態(tài)規(guī)劃與貝爾曼方程的關(guān)系 28
2.4.5 貝爾曼方程在強(qiáng)化學(xué)習(xí)中的應(yīng)用 29
第3章 蒙特卡洛方法 35
3.1 蒙特卡洛預(yù)測(cè) 36
3.1.1 蒙特卡洛預(yù)測(cè)的核心思想 36
3.1.2 蒙特卡洛預(yù)測(cè)的步驟與流程 36
3.1.3 蒙特卡洛預(yù)測(cè)的樣本更新與更新規(guī)則 37
3.2 蒙特卡洛控制 39
3.2.1 蒙特卡洛控制的目標(biāo)與意義 39
3.2.2 蒙特卡洛控制的策略評(píng)估與改進(jìn) 40
3.2.3 蒙特卡洛控制的更新規(guī)則與收斂性 43
3.3 探索與策略改進(jìn) 45
3.3.1 探索與利用的平衡再探討 46
3.3.2 貪婪策略與? -貪婪策略的比較 47
3.3.3 改進(jìn)探索策略的方法 50
3.3.4 探索策略對(duì)蒙特卡洛方法的影響 52
第4章 Q-learning與貝爾曼方程 55
4.1 Q-learning算法的原理 56
4.1.1 Q-learning的動(dòng)作值函數(shù) 56
4.1.2 Q-learning算法中的貪婪策略與探索策略 58
4.1.3 Q-learning算法的收斂性與收斂條件 60
4.2 貝爾曼方程在Q-learning算法中的應(yīng)用 62
4.2.1 Q-learning算法與貝爾曼最優(yōu)性方程的關(guān)系 63
4.2.2 貝爾曼方程的迭代計(jì)算與收斂 65
4.2.3 Q-learning算法中貝爾曼方程的實(shí)際應(yīng)用 67
4.3 強(qiáng)化學(xué)習(xí)中的Q-learning 69
4.3.1 ? -貪婪策略與探索的關(guān)系 70
4.3.2 Q-learning中探索策略的變化與優(yōu)化 73
4.3.3 探索策略對(duì)Q-learning性能的影響分析 78
4.3.4 使用Q-learning尋找某股票的買賣點(diǎn) 79
第5章 時(shí)序差分學(xué)習(xí)和SARSA算法 83
5.1 時(shí)序差分預(yù)測(cè) 84
5.1.1 時(shí)序差分預(yù)測(cè)的核心思想 84
5.1.2 時(shí)序差分預(yù)測(cè)的基本公式 84
5.1.3 時(shí)序差分預(yù)測(cè)與狀態(tài)值函數(shù) 85
5.1.4 時(shí)序差分預(yù)測(cè)的實(shí)例分析 86
5.2 SARSA算法 88
5.2.1 SARSA算法的核心原理和步驟 88
5.2.2 SARSA算法的更新規(guī)則 90
5.2.3 SARSA算法的收斂性與收斂條件 93
5.2.4 SARSA算法實(shí)例分析 95
5.3 Q-learning算法的時(shí)序差分更新 99
5.3.1 時(shí)序差分學(xué)習(xí)與Q-learning的結(jié)合 99
5.3.2 Q-learning的時(shí)序差分更新算法 101
第6章 DQN算法 105
6.1 引言與背景 106
6.2 DQN算法的基本原理 106
6.3 DQN的網(wǎng)絡(luò)結(jié)構(gòu)與訓(xùn)練過程 110
6.3.1 DQN的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) 110
6.3.2 DQN算法的訓(xùn)練過程 112
6.3.3 經(jīng)驗(yàn)回放 114
6.3.4 目標(biāo)網(wǎng)絡(luò) 116
6.4 DQN算法的優(yōu)化與改進(jìn) 117
6.4.1 DDQN 117
6.4.2 競(jìng)爭(zhēng)DQN 118
6.4.3 優(yōu)先經(jīng)驗(yàn)回放 122
6.5 基于DQN算法的自動(dòng)駕駛程序 123
6.5.1 項(xiàng)目介紹 123
6.5.2 具體實(shí)現(xiàn) 124
第7章 DDQN算法 133
7.1 DDQN對(duì)標(biāo)準(zhǔn)DQN的改進(jìn) 134
7.2 雙重深度Q網(wǎng)絡(luò)的優(yōu)勢(shì) 134
7.3 《超級(jí)馬里奧》游戲的DDQN強(qiáng)化學(xué)習(xí)實(shí)戰(zhàn) 135
7.3.1 項(xiàng)目介紹 135
7.3.2 gym_super_mario_bros庫(kù)的介紹 136
7.3.3 環(huán)境預(yù)處理 136
7.3.4 創(chuàng)建DDQN模型 139
7.3.5 模型訓(xùn)練和測(cè)試 143
第8章 競(jìng)爭(zhēng)DQN算法 149
8.1 競(jìng)爭(zhēng)DQN 算法原理 150
8.1.1 競(jìng)爭(zhēng)DQN算法的動(dòng)機(jī)和核心思想 150
8.1.2 競(jìng)爭(zhēng)DQN 網(wǎng)絡(luò)架構(gòu) 150
8.2 競(jìng)爭(zhēng)DQN的優(yōu)勢(shì)與改進(jìn) 151
8.2.1 分離狀態(tài)價(jià)值和動(dòng)作優(yōu)勢(shì)的好處 151
8.2.2 優(yōu)化訓(xùn)練效率與穩(wěn)定性 152
8.2.3 解決過度估計(jì)問題的潛力 152
8.3 股票交易策略系統(tǒng) 153
8.3.1 項(xiàng)目介紹 153
8.3.2 數(shù)據(jù)準(zhǔn)備 154
8.3.3 數(shù)據(jù)拆分與時(shí)間序列 154
8.3.4 Environment(環(huán)境) 156
8.3.5 DQN算法實(shí)現(xiàn) 157
8.3.6 DDQN算法的實(shí)現(xiàn) 163
8.3.7 競(jìng)爭(zhēng)DQN算法的實(shí)現(xiàn) 167
第9章 REINFORCE算法 173
9.1 策略梯度介紹 174
9.1.1 策略梯度的重要概念和特點(diǎn) 174
9.1.2 策略梯度定理的數(shù)學(xué)推導(dǎo) 175
9.2 REINFORCE算法基礎(chǔ) 175
9.2.1 REINFORCE算法的基本原理 176
9.2.2 REINFORCE算法的更新規(guī)則 179
9.2.3 基線函數(shù)與REINFORCE算法的優(yōu)化 180
第10章 Actor-Critic算法 187
10.1 Actor-Critic算法的介紹與原理 188
10.1.1 強(qiáng)化學(xué)習(xí)中的策略梯度方法 188
10.1.2 Actor-Critic算法框架概述 189
10.1.3 Actor-Critic算法實(shí)戰(zhàn):手推購(gòu)物車游戲 189
10.2 A2C算法 197
10.2.1 A2C算法的基本思想 198
10.2.2 優(yōu)勢(shì)函數(shù)的引入 198
10.2.3 A2C算法的訓(xùn)練流程 199
10.2.4 A2C算法實(shí)戰(zhàn) 200
10.3 SAC算法 202
10.3.1 SAC算法的核心思想 202
10.3.2 熵的作用及其在SAC算法中的應(yīng)用 203
10.3.3 SAC算法實(shí)戰(zhàn) 204
10.4 A3C算法 206
10.4.1 A3C算法的核心思想 206
10.4.2 A3C算法的訓(xùn)練過程 207
10.4.3 A3C算法實(shí)戰(zhàn) 207
第11章 PPO算法 211
11.1 PPO算法的背景與概述 212
11.1.1 強(qiáng)化學(xué)習(xí)中的策略優(yōu)化方法 212
11.1.2 PPO算法的優(yōu)點(diǎn)與應(yīng)用領(lǐng)域 213
11.2 PPO算法的核心原理 213
11.2.1 PPO算法的基本思想 213
11.2.2 目標(biāo)函數(shù)與優(yōu)化策略的關(guān)系 214
11.2.3 PPO算法中的策略梯度計(jì)算 215
11.3 PPO算法的實(shí)現(xiàn)與調(diào)參 215
11.3.1 策略網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì) 215
11.3.2 超參數(shù)的選擇與調(diào)整 218
11.4 PPO算法的變種與改進(jìn) 221
11.4.1 PPO-Clip算法 221
11.4.2 PPO-Penalty算法 224
11.4.3 PPO2算法 230
第12章 TRPO算法 233
12.1 TRPO算法的意義 234
12.2 TRPO算法的核心原理 234
12.2.1 TRPO算法的步驟 234
12.2.2 信任區(qū)域的概念與引入 237
12.2.3 目標(biāo)函數(shù)與約束條件的構(gòu)建 237
12.2.4 TRPO算法中的策略梯度計(jì)算 238
12.3 TRPO算法的變種與改進(jìn) 241
12.3.1 TRPO-Clip算法 241
12.3.2 TRPO-Penalty算法 243
12.4 TRPO算法優(yōu)化實(shí)戰(zhàn):基于矩陣低秩分解的TRPO 245
12.4.1 優(yōu)化策略:NN-TRPO和TRLRPO 246
12.4.2 經(jīng)驗(yàn)數(shù)據(jù)管理和狀態(tài)空間離散化 246
12.4.3 定義環(huán)境 247
12.4.4 創(chuàng)建強(qiáng)化學(xué)習(xí)模型 247
12.4.5 創(chuàng)建Agent 248
12.4.6 評(píng)估TRPO算法在Acrobot 環(huán)境中的性能 249
12.4.7 評(píng)估TRPO算法在MountainCarContinuous-v0環(huán)境中的性能 250
12.4.8 評(píng)估TRPO算法在CustomPendulumEnv環(huán)境中的性能 251
12.4.9 性能可視化 251
第13章 連續(xù)動(dòng)作空間的強(qiáng)化學(xué)習(xí) 253
13.1 連續(xù)動(dòng)作空間強(qiáng)化學(xué)習(xí)基礎(chǔ) 254
13.1.1 連續(xù)動(dòng)作空間介紹 254
13.1.2 動(dòng)作幅度問題與采樣效率問題 255
13.1.3 連續(xù)動(dòng)作空間中的探索問題 255
13.2 DDPG算法 256
13.2.1 DDPG算法的特點(diǎn) 256
13.2.2 DDPG算法在連續(xù)動(dòng)作空間中的優(yōu)勢(shì) 257
13.2.3 DDPG算法的實(shí)現(xiàn)步驟與網(wǎng)絡(luò)結(jié)構(gòu) 257
13.2.4 DDPG算法中的經(jīng)驗(yàn)回放與探索策略 262
13.3 DDPG算法綜合實(shí)戰(zhàn):基于強(qiáng)化學(xué)習(xí)的股票交易策略 266
13.3.1 項(xiàng)目介紹 266
13.3.2 準(zhǔn)備開發(fā)環(huán)境 266
13.3.3 下載數(shù)據(jù) 268
13.3.4 數(shù)據(jù)預(yù)處理 270
13.3.5 構(gòu)建環(huán)境 271
13.3.6 實(shí)現(xiàn)深度強(qiáng)化學(xué)習(xí)算法 273
13.3.7 性能回測(cè) 276
第14章 值分布式算法 281
14.1 值分布式算法基礎(chǔ) 282
14.1.1 值分布式算法的背景與優(yōu)勢(shì) 282
14.1.2 值分布式算法的基本概念 282
14.1.3 強(qiáng)化學(xué)習(xí)中的值函數(shù)表示問題 283
14.1.4 常用的值分布式算法 284
14.2 C51算法 284
14.2.1 C51算法的基本原理 284
14.2.2 C51算法的網(wǎng)絡(luò)架構(gòu) 285
14.2.3 C51算法的訓(xùn)練流程 285
14.2.4 C51算法的試驗(yàn)與性能評(píng)估 286
14.2.5 使用 TF-Agents訓(xùn)練C51代理 287
14.3 QR-DQN算法 291
14.3.1 QR-DQN算法的核心思想 292
14.3.2 QR-DQN算法的實(shí)現(xiàn)步驟 292
14.3.3 QR-DQN算法實(shí)戰(zhàn) 293
14.4 FPQF算法 295
14.4.1 FPQF算法的核心思想 295
14.4.2 FPQF算法的實(shí)現(xiàn)步驟 295
14.4.3 FPQF算法實(shí)戰(zhàn) 296
14.5 IQN算法 298
14.5.1 IQN 算法的原理與背景 298
14.5.2 IQN算法實(shí)戰(zhàn) 299
第15章 基于模型的強(qiáng)化學(xué)習(xí) 301
15.1 基于模型的強(qiáng)化學(xué)習(xí)基礎(chǔ) 302
15.1.1 基于模型的強(qiáng)化學(xué)習(xí)簡(jiǎn)介 302
15.1.2 模型的種類與構(gòu)建方法 302
15.1.3 基于模型的強(qiáng)化學(xué)習(xí)算法 303
15.2 模型預(yù)測(cè)控制 304
15.2.1 模型預(yù)測(cè)控制介紹 304
15.2.2 模型預(yù)測(cè)控制實(shí)戰(zhàn) 305
15.3 蒙特卡洛樹搜索算法 307
15.3.1 MCTS算法介紹 307
15.3.2 MCTS算法實(shí)戰(zhàn) 308
15.4 MBPO算法 309
15.4.1 MBPO算法介紹 310
15.4.2 MBPO算法實(shí)戰(zhàn) 310
15.5 PlaNet算法 313
15.5.1 PlaNet算法介紹 313
15.5.2 PlaNet算法實(shí)戰(zhàn) 314
第16章 多智能體強(qiáng)化學(xué)習(xí)實(shí)戰(zhàn):Predator-Prey游戲 319
16.1 Predator-Prey游戲介紹 320
16.2 背景介紹 320
16.3 功能模塊介紹 321
16.4 環(huán)境準(zhǔn)備 321
16.4.1 安裝OpenAI gymnasium 322
16.4.2 導(dǎo)入庫(kù) 322
16.5 捕食者-獵物(Predator-Prey)的環(huán)境 322
16.5.1 定義自定義強(qiáng)化學(xué)習(xí)環(huán)境類 323
16.5.2 定義自定義強(qiáng)化學(xué)習(xí)環(huán)境類 324
16.5.3 環(huán)境重置 325
16.5.4 計(jì)算捕食者和獵物的獎(jiǎng)勵(lì) 325
16.5.5 判斷回合是否結(jié)束 326
16.5.6 檢查動(dòng)作的合法性 326
16.5.7 記錄和獲取狀態(tài)歷史 326
16.5.8 實(shí)現(xiàn)step方法 327
16.5.9 生成視圖幀 328
16.5.10 渲染環(huán)境的視圖 328
16.6 第二個(gè)環(huán)境 329
16.7 隨機(jī)智能體 333
16.7.1 應(yīng)用場(chǎng)景 334
16.7.2 實(shí)現(xiàn)隨機(jī)智能體 334
16.8 DDPG算法的實(shí)現(xiàn) 335
16.8.1 信息存儲(chǔ) 335
16.8.2 實(shí)現(xiàn)Actor模型 336
16.8.3 實(shí)現(xiàn)Critic模型 337
16.8.4 實(shí)現(xiàn)DDPG智能體 338
16.9 訓(xùn)練模型 341
16.9.1 環(huán)境初始化 342
16.9.2 創(chuàng)建智能體 342
16.9.3 訓(xùn)練循環(huán) 343
16.9.4 保存模型 345
16.9.5 訓(xùn)練結(jié)果可視化 345
第17章 自動(dòng)駕駛系統(tǒng) 347
17.1 自動(dòng)駕駛背景介紹 348
17.2 項(xiàng)目介紹 348
17.2.1 功能介紹 348
17.2.2 模塊結(jié)構(gòu) 349
17.3 環(huán)境準(zhǔn)備 349
17.4 配置文件 350
17.5 準(zhǔn)備數(shù)據(jù)文件 353
17.5.1 Carla數(shù)據(jù)處理與轉(zhuǎn)換 353
17.5.2 加載、處理數(shù)據(jù) 356
17.5.3 收集、處理數(shù)據(jù) 357
17.5.4 創(chuàng)建數(shù)據(jù)集 362
17.6 深度學(xué)習(xí)模型 363
17.6.1 編碼器 363
17.6.2 變分自編碼器 368
17.6.3 定義強(qiáng)化學(xué)習(xí)模型 368
17.7 強(qiáng)化學(xué)習(xí) 371
17.7.1 強(qiáng)化學(xué)習(xí)工具類的實(shí)現(xiàn) 371
17.7.2 經(jīng)驗(yàn)回放存儲(chǔ)的實(shí)現(xiàn) 372
17.7.3 深度強(qiáng)化學(xué)習(xí)智能體的實(shí)現(xiàn) 373
17.7.4 使用SAC算法的強(qiáng)化學(xué)習(xí)代理的實(shí)現(xiàn) 375
17.7.5 實(shí)現(xiàn)DDPG用于強(qiáng)化學(xué)習(xí) 381
17.8 調(diào)用處理 384
17.8.1 生成訓(xùn)練數(shù)據(jù) 384
17.8.2 訓(xùn)練模型 385
17.8.3 收集Carla環(huán)境中的專家駕駛數(shù)據(jù) 387
17.8.4 訓(xùn)練自動(dòng)駕駛的強(qiáng)化學(xué)習(xí)代理 390
17.8.5 訓(xùn)練DDPG智能體執(zhí)行自動(dòng)駕駛?cè)蝿?wù) 392
17.8.6 評(píng)估自動(dòng)駕駛模型的性能 393
17.9 調(diào)試運(yùn)行 393