本書介紹強化學(xué)習(xí)理論及其Python實現(xiàn)。第1章: 從零開始介紹強化學(xué)習(xí)的背景知識, 介紹環(huán)境庫Gym的使用。第2-15章: 基于折扣獎勵離散時間Markov決策過程模型, 介紹強化學(xué)習(xí)的主干理論和常見算法。采用數(shù)學(xué)語言推導(dǎo)強化學(xué)習(xí)的基礎(chǔ)理論, 進而在理論的基礎(chǔ)上講解算法。Python實現(xiàn)和算法講解一一對應(yīng), 針對深度強化學(xué)習(xí)算法還給出了基于TensorFlow 2和PyTorch 1的對照實現(xiàn)。第16章: 介紹其他強化學(xué)習(xí)模型, 包括平均獎勵模型、連續(xù)時間模型、非齊次模型, 半Markov模型、部分可觀測模型等, 以便更好了解強化學(xué)習(xí)研究的全貌。
攜七大優(yōu)勢,帶你一書學(xué)透強化學(xué)習(xí),掌握ChatGPT背后的關(guān)鍵技術(shù)。
1)內(nèi)容完備:完整地介紹了主流強化學(xué)習(xí)理論,全面覆蓋主流強化學(xué)習(xí)算法,包括了資格跡等經(jīng)典算法和MuZero等深度強化學(xué)習(xí)算法,且給出主要定理的證明過程。讓你參透ChatGPT背后的關(guān)鍵技術(shù)。
2)表述一致:全書采用統(tǒng)一的數(shù)學(xué)符號,并兼容主流強化學(xué)習(xí)教程。
3)配套豐富:每章都配有知識點總結(jié)、代碼和習(xí)題。
4)環(huán)境全面:既有Gym的內(nèi)置環(huán)境,也有在Gym基礎(chǔ)上進一步擴展的第三方環(huán)境,還帶領(lǐng)讀者一起實現(xiàn)了自定義的環(huán)境。
5)兼容廣泛:所有代碼均可在Windows、macOS、Linux上運行,提供安裝和配置方法。同時,為深度強化學(xué)習(xí)相關(guān)算法提供了TensorFlow和PyTorch的對照實現(xiàn),學(xué)習(xí)方案任你選擇。
6)硬件要求低:所有代碼均可在沒有GPU的個人計算機上運行,也可以在線查閱運行結(jié)果。
7)版權(quán)輸出:本書內(nèi)容受到國際知名出版社Springer和評審專家認可,英文版同步輸出,以饗讀者。
為什么要寫作本書
強化學(xué)習(xí)正在改變?nèi)祟惿鐣姆椒矫婷妫夯趶娀瘜W(xué)習(xí)的游戲AI已經(jīng)在圍棋、《星際爭霸》等游戲上全面碾壓人類頂尖選手,基于強化學(xué)習(xí)的控制算法已經(jīng)運用于機器人、無人機等設(shè)備,基于強化學(xué)習(xí)的交易算法已經(jīng)部署在金融平臺上并取得了超額收益。由于同一套強化學(xué)習(xí)代碼在同一套參數(shù)設(shè)置下能解決多個看起來毫無關(guān)聯(lián)的問題,因此強化學(xué)習(xí)常被認為是邁向通用人工智能的重要途徑。
本書特色
本書完整地介紹了主流強化學(xué)習(xí)理論。
選用現(xiàn)代強化學(xué)習(xí)理論體系,突出主干,主要定理均給出證明過程;诶碚撝v解強化學(xué)習(xí)算法,全面覆蓋主流強化學(xué)習(xí)算法,包括資格跡等經(jīng)典算法和MuZero等深度強化學(xué)習(xí)算法。
全書采用完整的數(shù)學(xué)體系各章內(nèi)容循序漸進。全書采用一致的數(shù)學(xué)符號,并兼容主流強化學(xué)習(xí)教程。
本書各章均提供Python代碼,實戰(zhàn)性強。
簡潔易懂:全書代碼統(tǒng)一規(guī)范,簡約完備,與算法講解直接對應(yīng)。
查閱、運行方便:所有代碼及運行結(jié)果均在GitHub上展示,既可以在瀏覽器上查閱,也可以下載到本地運行。各算法實現(xiàn)放在單獨的文件里,可單獨查閱和運行。
環(huán)境全面:既有Gym的內(nèi)置環(huán)境,也有在Gym基礎(chǔ)上進一步擴展的第三方環(huán)境,還帶領(lǐng)讀者一起實現(xiàn)自定義的環(huán)境。
兼容性好:所有代碼在三大操作系統(tǒng)(Windows、macOS、Linux)上均可運行,書中給出了環(huán)境的安裝和配置方法。深度強化學(xué)習(xí)代碼還提供了TensorFlow 2和PyTorch對照代碼。讀者可任選其一。
版本新:全書代碼基于最新版本的Python及其擴展庫。作者會在GitHub上更新代碼以適應(yīng)版本升級。
硬件要求低:所有代碼均可在沒有GPU的個人計算機上運行。
本書主要內(nèi)容
本書介紹強化學(xué)習(xí)理論及其Python實現(xiàn)。
第1章:從零開始介紹強化學(xué)習(xí)的背景知識,以及環(huán)境庫Gym的使用。
第2~15章:基于折扣獎勵離散時間Markov決策過程模型,介紹強化學(xué)習(xí)的主干理論和常見算法。采用數(shù)學(xué)語言推導(dǎo)強化學(xué)習(xí)的基礎(chǔ)理論,進而在理論的基礎(chǔ)上講解算法,并為算法提供配套代碼實現(xiàn);A(chǔ)理論的講解突出主干部分,算法講解全面覆蓋主流的強化學(xué)習(xí)算法,包括經(jīng)典的非深度強化學(xué)習(xí)算法和近年流行的深度強化學(xué)習(xí)算法。Python實現(xiàn)和算法講解一一對應(yīng),對于深度強化學(xué)習(xí)算法還給出了基于TensorFlow 2和PyTorch的對照實現(xiàn)。
第16章:介紹其他強化學(xué)習(xí)模型,包括平均獎勵模型、連續(xù)時間模型、非齊次模型、半Markov模型、部分可觀測模型等,以便讓讀者更好地了解強化學(xué)習(xí)研究的全貌。
勘誤與支持
本書配套GitHub倉庫https://github.com/zhiqingxiao/rlbook提供勘誤、代碼、習(xí)題答案、本書涉及的參考資料的具體信息、讀者交流群等資源。我會在GitHub上不定期更新內(nèi)容。
作者的電子郵箱是:xzqxiaozhiqing@gmailcom。
致謝
在此感謝為本書出版做出貢獻的所有工作人員。本書還采納了童崢巖、趙永進、黃永杰、李偉、馬云龍、黃俊峰、李岳鑄、李柯、龍濤、陳慶虎等專家的意見。向他們表示感謝。
特別要感謝我父母的無私支持,感謝我的上司與同事對本書出版的關(guān)心和支持。
感謝你選擇本書。祝學(xué)習(xí)快樂!
肖智清
肖智清
強化學(xué)習(xí)一線研發(fā)人員,清華大學(xué)工學(xué)博士。在國內(nèi)外出版多本人工智能專著,在知名期刊和會議上發(fā)表多篇第一作者論文。他是開源項目Gym的源碼貢獻者,并在國內(nèi)外多項程序設(shè)計和數(shù)據(jù)科學(xué)競賽上獲得冠軍。
目錄
數(shù)學(xué)符號表
前言
第1章初識強化學(xué)習(xí)111強化學(xué)習(xí)及其關(guān)鍵元素1
1.2強化學(xué)習(xí)的應(yīng)用3
1.3智能體/環(huán)境接口4
1.4強化學(xué)習(xí)的分類6
1.4.1按任務(wù)分類6
1.4.2按算法分類8
1.5強化學(xué)習(xí)算法的性能指標9
1.6案例:基于Gym庫的智能體/環(huán)境接口10
1.6.1安裝Gym庫11
1.6.2使用Gym庫11
1.6.3小車上山13
1.7本章小結(jié)18
1.8練習(xí)與模擬面試19
第2章Markov決策過程2121Markov決策過程模型21
2.1.1離散時間Markov決策過程21
2.1.2環(huán)境與動力24
2.1.3策略26
2.1.4帶折扣的回報26
2.2價值27
2.2.1價值的定義28
2.2.2價值的性質(zhì)28
2.2.3策略的偏序和改進34
2.3帶折扣的分布35
2.3.1帶折扣的分布的定義35
2.3.2帶折扣的分布的性質(zhì)37
2.3.3帶折扣的分布和策略的等價性39
2.3.4帶折扣的分布下的期望40
2.4最優(yōu)策略與最優(yōu)價值41
2.4.1從最優(yōu)策略到最優(yōu)價值41
2.4.2最優(yōu)策略的存在性42
2.4.3最優(yōu)價值的性質(zhì)與Bellman
最優(yōu)方程43
2.4.4用線性規(guī)劃法求解最優(yōu)價值48
2.4.5用最優(yōu)價值求解最優(yōu)策略51
2.5案例:懸崖尋路52
2.5.1使用環(huán)境52
2.5.2求解策略價值53
2.5.3求解最優(yōu)價值54
2.5.4求解最優(yōu)策略55
2.6本章小結(jié)55
2.7練習(xí)與模擬面試57
第3章有模型數(shù)值迭代5931Bellman算子及其性質(zhì)59
3.2有模型策略迭代64
3.2.1策略評估65
3.2.2策略改進66
3.2.3策略迭代67
3.3價值迭代68
3.4自益與動態(tài)規(guī)劃69
3.5案例:冰面滑行70
3.5.1使用環(huán)境71
3.5.2有模型策略迭代求解73
3.5.3有模型價值迭代求解76
3.6本章小結(jié)76
3.7練習(xí)與模擬面試77
第4章回合更新價值迭代78
4.1同策回合更新79
4.1.1同策回合更新策略評估79
4.1.2帶起始探索的同策回合更新84
4.1.3基于柔性策略的同策回合更新86
4.2異策回合更新89
4.2.1重要性采樣89
4.2.2異策回合更新策略評估92
4.2.3異策回合更新最優(yōu)策略求解93
4.3實驗:21點游戲94
4.3.1使用環(huán)境94
4.3.2同策策略評估96
4.3.3同策最優(yōu)策略求解98
4.3.4異策策略評估101
4.3.5異策最優(yōu)策略求解102
4.4本章小結(jié)103
4、5練習(xí)與模擬面試104
第5章時序差分價值迭代10651時序差分目標106
5.2同策時序差分更新109
5.2.1時序差分更新策略評估109
5.2.2SARSA算法113
5.2.3期望SARSA算法115
5.3異策時序差分更新117
5.3.1基于重要性采樣的異策算法117
5.3.2Q學(xué)習(xí)119
5.3.3雙重Q學(xué)習(xí)120
5.4資格跡121
5.4.1λ回報122
5.4.2TD(λ)算法123
5.5案例:的士調(diào)度125
5.5.1使用環(huán)境126
5.5.2同策時序差分學(xué)習(xí)127
5.5.3異策時序差分學(xué)習(xí)130
5.5.4資格跡學(xué)習(xí)132
56本章小結(jié)134
57練習(xí)與模擬面試135
第6章函數(shù)近似方法137
6.1函數(shù)近似原理138
6.2基于梯度的參數(shù)更新139
6.2.1隨機梯度下降139
6.2.2半梯度下降141
6.2.3帶資格跡的半梯度下降142
6.3函數(shù)近似的收斂性144
6.3.1收斂的條件144
6.3.2Baird反例145
6.4深度Q網(wǎng)絡(luò)147
6.4.1經(jīng)驗回放148
6.4.2目標網(wǎng)絡(luò)151
6.4.3雙重深度Q網(wǎng)絡(luò)152
6.4.4決斗深度Q網(wǎng)絡(luò)153
6.5案例:小車上山154
6.5.1使用環(huán)境155
6.5.2用線性近似求解最優(yōu)策略156
6.5.3用深度Q網(wǎng)絡(luò)求解最優(yōu)策略161
6.6本章小結(jié)172
6.7練習(xí)與模擬面試172
第7章回合更新策略梯度方法17471策略梯度算法的原理174
7.1.1函數(shù)近似策略174
7.1.2策略梯度定理175
7.1.3策略梯度和極大似然估計的關(guān)系179
7.2同策回合更新策略梯度算法179
7.2.1簡單的策略梯度算法180
7.2.2帶基線的簡單策略梯度算法180
7.3異策回合更新策略梯度算法182
7.4案例:車桿平衡183
7.4.1用同策策略梯度算法求解最優(yōu)策略184
7.4.2用異策策略梯度算法求解最優(yōu)策略189
7.5本章小結(jié)195
7.6練習(xí)與模擬面試196
第8章執(zhí)行者/評論者197
8.1執(zhí)行者/評論者方法197
8.2同策執(zhí)行者/評論者算法198
8.2.1動作價值執(zhí)行者/評論者算法198
8.2.2優(yōu)勢執(zhí)行者/評論者算法199
8.2.3帶資格跡的執(zhí)行者/評論者算法200
8.3基于代理優(yōu)勢的同策算法201
8.3.1性能差別引理201
8.3.2代理優(yōu)勢202
8.3.3鄰近策略優(yōu)化203
8.4自然梯度和信賴域算法205
8.4.1KL散度與Fisher信息矩陣206
8.4.2代理優(yōu)勢的信賴域208
8.4.3自然策略梯度算法209
8.4.4信賴域策略優(yōu)化212
8.5重要性采樣異策執(zhí)行者/評論者算法213
8.6案例:雙節(jié)倒立擺214
8.6.1用同策執(zhí)行者/評論者算法求解最優(yōu)策略216
8.6.2用基于代理優(yōu)勢的同策算法求解最優(yōu)策略226
8.6.3用自然策略梯度和信賴域算法求解最優(yōu)策略230
8.6.4用重要性采樣異策執(zhí)行者/評論者算法求解最優(yōu)策略242
8.7本章小結(jié)246
8.8練習(xí)與模擬面試247
第9章連續(xù)動作空間的確定性策略248
9.1確定性策略梯度定理248
9.2同策確定性算法250
9.3異策確定性算法251
9.3.1基本的異策確定性執(zhí)行者/評論者算法251
9.3.2深度確定性策略梯度算法253
9.3.3雙重延遲深度確定性策略梯度算法254
9.4探索過程255
9.5案例:倒立擺的控制256
9.5.1用深