內容簡介
我們在與環境互動的過程中進行學習,經歷的獎勵或腿灑槓尋懲罰將指導我們未來的行為。深度強化學習將該過程引入人工智慧領域,通過分析結果來尋找最有效的前進方式。DRL智慧型體可提升行銷效果、預測股票漲跌,甚至擊敗圍棋高手和西洋棋大師。
《深度強化學習圖解》呈現生動示例,指導你構建深度學習體系。Python代碼包含詳明、直觀的注釋,助你深刻理解DRL技術。你將學習算法的運行方式,並學會用評估性反饋來開發自己的DRL智慧型體。
本書主要內容包括:
●強化學習入門
●行為與人類似的DRL智 能體
●在復 雜情況下套用DRL
圖書目錄
第1章恥束肯符 深度強化學習導論 1
1.1 深度強化學習概念 2
1.1.1 深度強化學習:人工智慧的機器學習法 2
1.1.2 深度強化學習著重創建電腦程式 5
1.1.3 智慧型體解決智慧型問題 6
1.1.4 智慧型體通過試錯提高性能 8
1.1.5 智慧型體從慣序性反饋中學習 9
1.1.6 智慧型體從評估性反饋中學習 10
1.1.7 智慧型體從抽整拜享樣性反饋中學習 10
1.1.8 智慧型體使用強大的非線性函式逼近 11
1.2 深度強化學習的過去、現在與未來 12
1.2.1 人工智慧和深度強化學習的發展簡史 12
1.2.2 人工智慧的寒冬 13
1.2.3 人工智慧現狀 13
1.2.4 深度強化學習進展 14
1.2.5 未來的機遇 17
1.3 深度強化學習的適用性 18
1.3.1 利弊分析 18
1.3.2 深度強化學習之利 19
1.3.3 深度強化學習之弊 20
1.4 設定明確的雙向預期 21
1.4.1 本書的預期 21
1.4.2 本書的最佳使用方式 22
1.4.3 深度強化學習的開發環境 23
1.5 小結 24
第2章 強化學習數學基礎 27
2.1 強化學習組成 28
2.1.1 問題、智慧型體和環境的示例 30
2.1.2 智慧型體:決策者 31
2.1.3 環境:其餘一切 32
2.1.4 智慧型體與環匪幾茅境互動循環 37
2.2 MDP:環境的引擎 38
2.2.1 狀態:環境的特定配置 40
2.2.2 動作:影響環境的機制 43
2.2.3 轉換函式:智慧型體行為的後果 44
2.2.4 獎勵信號:胡蘿蔔和棍棒 46
2.2.5 視界:時間改變最佳選擇 49
2.2.6 折扣:未來是不確定的,別太看重它 50
2.2.7 MDP擴展 51
2.2.8 總體回顧 53
2.3 小結 54
第3章 平衡短期目標與長期目標 57
3.1 決策智慧型體的目標 58
3.1.1 策略:各狀態動作指示 62
3.1.2 狀態.-.值函式:有何期望 63
3.1.3 動作-值函式:如果這樣做,有何期望 64
3.1.4 動作-優勢函式:如果這樣做,有何進步 65
3.1.5 最優性 66
3.2 規劃最優動作順序 67
3.2.1 策略評估:評級策略 67
3.2.2 策略改進:利用評級得以改善 73
3.2.3 策略疊代:完善改進後的行為 77
3.2.4 價值疊代:早期改進行為 81
3.3 小結 85
第4章 權衡信息收集和運用 87
4.1 解讀評估性反饋的挑戰 88
4.1.1 老虎機:單狀態決策問題 89
4.1.2 後悔值:探索的代價 90
4.1.3 解決MAB環境的方法 91
4.1.4 貪婪策略:總在利用 93
4.1.5 隨機策略:總在探索 95
4.1.6 ε.貪婪策略:通常貪婪,時而隨機 97
4.1.7 衰減.ε.貪捉婚婪策略:先最大化探索,後最大化利用 99
4.1.8 樂觀初始化策略:始於相信世界美好 101
4.2 策略型探索 105
4.2.1 柔性最大值策略:根據估計值按比隨機選擇動作 106
4.2.2 置信上界策略:現實樂觀,而非樂觀 108
4.2.3 湯普森抽樣策略:平衡回報與風險 110
4.3 小結 116
第5章 智慧型體行為評估 119
5.1 學習估頌希簽計策略價值 120
5.1.1 首次訪問蒙特卡洛:每次疊代後,改善估計 123
5.1.2 蒙特卡洛每次訪問:處理狀態訪問的不同方法 125
5.1.3 時差學習:每步後改進估計 129
5.2 學習從多步進行估算 137
5.2.1 n.步TD學習:經過幾步後改進估計 138
5.2.2 前瞻TD(λ):改進對所有訪問狀態的估計 141
5.2.3 TD(λ):在每剃船嘗步之後改進對所有訪問狀態的估計 143
5.3 小結 151
第6章 智慧型體行為的最佳化 153
6.1 對智慧型體強化學習的解析 154
6.1.1 大多數智慧型體都要收集經驗樣本 156
6.1.2 大多數智慧型體都要評估 157
6.1.3 大多數智慧型體都要最佳化策略 159
6.1.4 廣義策略疊代 160
6.2 學習動作策略的最佳化 162
6.2.1 蒙特卡洛控制:在每一疊代後最佳化策略 163
6.2.2 SARSA:在每一步之後最佳化策略 169
6.3 從學習中分離動作 173
6.3.1 Q學習:學會最優動作,即使我們不選 173
6.3.2 雙Q學習:最大值估計值的最大估計值 177
6.4 小結 184
第7章 更有效、更高效地完成目標 187
7.1 學習使用魯棒性目標最佳化策略 188
7.1.1 SARSA(λ):基於多階段評估,在每一階段後最佳化策略 189
7.1.2 Watkin的Q(λ):再一次,從學習中分離行為 196
7.2 智慧型體的互動、學習、計畫 200
7.2.1 Dyna-Q:學習樣本模型 201
7.2.2 軌跡抽樣:為不久的將來做計畫 206
7.3 小結 219
第8章 基於價值的深度強化學習 221
8.1 深度強化學習智慧型體使用的反饋種類 222
8.1.1 深度強化學習智慧型體處理慣序性反饋 223
8.1.2 如果它不是慣序性反饋,那它是什麼 224
8.1.3 深度強化學習智慧型體處理評估性反饋 225
8.1.4 如果它不是評估性反饋,那它是什麼 226
8.1.5 深度強化學習智慧型體處理抽樣性反饋 226
8.1.6 如果它不是抽樣性反饋,那它是什麼 227
8.2 強化學習中的逼近函式 228
8.2.1 強化學習問題能夠擁有高維狀態和動作空間 229
8.2.2 強化學習問題可以具有連續的狀態和動作空間 229
8.2.3 使用函式逼近有很多優點 231
8.3 NFQ:對基於價值的深入強化學習的第一次嘗試 233
8.3.1 第1個決策點:選擇逼近一個值函式 234
8.3.2 第2個決策點:選擇神經網路體系結構 235
8.3.4 第3個決策點:選擇要最佳化的內容 236
8.3.5 第4個決策點:為策略評估選擇目標 238
8.3.6 第5個決策點:選擇探索策略 241
8.3.7 第6個決策點:選擇損失函式 242
8.3.8 第7個決策點:選擇一種最優方法 243
8.3.9 可能出錯的事情 248
8.4 小結 250
第9章 更穩定的基於價值方法 253
9.1 DQN:使強化學習更像是監督學習 254
9.1.1 基於價值的深度強化學習的普遍問題 254
9.1.2 使用目標網路 256
9.1.3 使用更大網路 259
9.1.4 使用經驗回放 259
9.1.5 使用其他探索策略 263
9.2 雙重DQN:減少對動作-值函式的高估 269
9.2.1 高估問題 269
9.2.2 將動作選擇從動作評估剝離 270
9.2.3 一個解決方案 271
9.2.4 一個更實用的解決方案 272
9.2.5 一個更寬容的損失函式 275
9.2.6 仍可改進之處 280
9.3 小結 281
第10章 高效抽樣的基於價值學習方法 285
10.1 Dueling DDQN:具備強化學習意識的神經網路架構 286
10.1.1 強化學習不屬於監督學習問題 286
10.1.2 基於價值的強化學習方法的微妙區別 287
10.1.3 利用優點的優勢 288
10.1.4 有意識強化學習框架 289
10.1.5 建立一個Dueling網路架構 290
10.1.6 重構動作-值函式 291
10.1.7 連續更新目標網路 293
10.1.8 Dueling網路能為表格帶來什麼 294
10.2 PER:優先有意義經驗的回放 297
10.2.1 更明智的回放經驗方法 297
10.2.2 如何較好地衡量“重要”經驗 298
10.2.3 利用TD 誤差做出貪婪優先權操作 299
10.2.4 隨機對優先的經驗進行抽樣 300
10.2.5 成比例的優先權 301
10.2.6 基於排名的優先權 302
10.2.7 優先偏倚 303
10.3 小結 309
第11章 策略梯度與actor-critic方法 313
11.1 REINFORCE算法:基於結果策略學習 314
11.1.1 策略梯度法簡介 314
11.1.2 策略梯度法之優勢 315
11.1.3 直接學習策略 319
11.1.4 減少策略梯度方差 320
11.2 VPG:學習值函式 322
11.2.1 進一步減少策略梯度方差 323
11.2.2 學習值函式 323
11.2.3 鼓勵探索 324
11.3 A3C:平行策略更新 328
11.3.1 使用actor工作器 328
11.3.2 使用n-step估計 331
11.3.3 無障礙模型更新 334
11.4 GAE: 穩健優勢估計 335
11.5 A2C: 同步策略更新 338
11.5.1 權重分擔模型 338
11.5.2 恢復策略更新秩序 340
11.6 小結 346
第12章 高級actor-critic方法 349
12.1 DDPG: 逼近確定性策略 351
12.1.1 DDPG使用DQN中的許多技巧 351
12.1.2 學習確定性策略 353
12.1.3 用確定性策略進行探索 356
12.2 TD3:最先進的DDPG改進 358
12.2.1 DDPG中的雙重學習 358
12.2.2 平滑策略更新目標 360
12.2.3 延遲更新 363
12.3 SAC: 最大化預期收益和熵 365
12.3.1 在貝爾曼方程中添加熵 365
12.3.2 學習動作-值函式 366
12.3.3 學習策略 366
12.3.4 自動調整熵係數 367
12.4 PPO: 限制最佳化步驟 372
12.4.1 使用與A2C相同的actor-critic架構 372
12.4.2 分批處理經驗 373
12.4.3 剪裁策略更新 377
12.4.4 剪裁值函式更新 377
12.5 小結 382
第13章 邁向通用人工智慧 385
13.1 已涵蓋的以及未特別提及的內容 386
13.1.1 馬爾可夫決策過程 387
13.1.2 規劃法 388
13.1.3 Bandit法 389
13.1.4 表格型強化學習 390
13.1.5 基於值函式的深度強化學習 391
13.1.6 基於策略的深度強化學習和actor-critic深度強化學習 392
13.1.7 高級actor-critic技術 392
13.1.8 基於模型的深度強化學習 393
13.1.9 無梯度最佳化方法 395
13.2 更多AGI高級概念 397
13.2.1 什麼是AGI 397
13.2.2 高級探索策略 399
13.2.3 逆強化學習 399
13.2.4 遷移學習 400
13.2.5 多任務學習 401
13.2.6 課程學習 401
13.2.7 元學習 402
13.2.8 分層強化學習 402
13.2.9 多智慧型體強化學習 402
13.2.10 可解釋AI、安全、公平和道德標準 403
13.3 接下來是什麼 404
13.3.1 如何用DRL解決特定問題 404
13.3.2 繼續前進 405
13.3.3 從現在開始,放下本書 406
13.4 小結 407
2.2.5 視界:時間改變最佳選擇 49
2.2.6 折扣:未來是不確定的,別太看重它 50
2.2.7 MDP擴展 51
2.2.8 總體回顧 53
2.3 小結 54
第3章 平衡短期目標與長期目標 57
3.1 決策智慧型體的目標 58
3.1.1 策略:各狀態動作指示 62
3.1.2 狀態.-.值函式:有何期望 63
3.1.3 動作-值函式:如果這樣做,有何期望 64
3.1.4 動作-優勢函式:如果這樣做,有何進步 65
3.1.5 最優性 66
3.2 規劃最優動作順序 67
3.2.1 策略評估:評級策略 67
3.2.2 策略改進:利用評級得以改善 73
3.2.3 策略疊代:完善改進後的行為 77
3.2.4 價值疊代:早期改進行為 81
3.3 小結 85
第4章 權衡信息收集和運用 87
4.1 解讀評估性反饋的挑戰 88
4.1.1 老虎機:單狀態決策問題 89
4.1.2 後悔值:探索的代價 90
4.1.3 解決MAB環境的方法 91
4.1.4 貪婪策略:總在利用 93
4.1.5 隨機策略:總在探索 95
4.1.6 ε.貪婪策略:通常貪婪,時而隨機 97
4.1.7 衰減.ε.貪婪策略:先最大化探索,後最大化利用 99
4.1.8 樂觀初始化策略:始於相信世界美好 101
4.2 策略型探索 105
4.2.1 柔性最大值策略:根據估計值按比隨機選擇動作 106
4.2.2 置信上界策略:現實樂觀,而非樂觀 108
4.2.3 湯普森抽樣策略:平衡回報與風險 110
4.3 小結 116
第5章 智慧型體行為評估 119
5.1 學習估計策略價值 120
5.1.1 首次訪問蒙特卡洛:每次疊代後,改善估計 123
5.1.2 蒙特卡洛每次訪問:處理狀態訪問的不同方法 125
5.1.3 時差學習:每步後改進估計 129
5.2 學習從多步進行估算 137
5.2.1 n.步TD學習:經過幾步後改進估計 138
5.2.2 前瞻TD(λ):改進對所有訪問狀態的估計 141
5.2.3 TD(λ):在每步之後改進對所有訪問狀態的估計 143
5.3 小結 151
第6章 智慧型體行為的最佳化 153
6.1 對智慧型體強化學習的解析 154
6.1.1 大多數智慧型體都要收集經驗樣本 156
6.1.2 大多數智慧型體都要評估 157
6.1.3 大多數智慧型體都要最佳化策略 159
6.1.4 廣義策略疊代 160
6.2 學習動作策略的最佳化 162
6.2.1 蒙特卡洛控制:在每一疊代後最佳化策略 163
6.2.2 SARSA:在每一步之後最佳化策略 169
6.3 從學習中分離動作 173
6.3.1 Q學習:學會最優動作,即使我們不選 173
6.3.2 雙Q學習:最大值估計值的最大估計值 177
6.4 小結 184
第7章 更有效、更高效地完成目標 187
7.1 學習使用魯棒性目標最佳化策略 188
7.1.1 SARSA(λ):基於多階段評估,在每一階段後最佳化策略 189
7.1.2 Watkin的Q(λ):再一次,從學習中分離行為 196
7.2 智慧型體的互動、學習、計畫 200
7.2.1 Dyna-Q:學習樣本模型 201
7.2.2 軌跡抽樣:為不久的將來做計畫 206
7.3 小結 219
第8章 基於價值的深度強化學習 221
8.1 深度強化學習智慧型體使用的反饋種類 222
8.1.1 深度強化學習智慧型體處理慣序性反饋 223
8.1.2 如果它不是慣序性反饋,那它是什麼 224
8.1.3 深度強化學習智慧型體處理評估性反饋 225
8.1.4 如果它不是評估性反饋,那它是什麼 226
8.1.5 深度強化學習智慧型體處理抽樣性反饋 226
8.1.6 如果它不是抽樣性反饋,那它是什麼 227
8.2 強化學習中的逼近函式 228
8.2.1 強化學習問題能夠擁有高維狀態和動作空間 229
8.2.2 強化學習問題可以具有連續的狀態和動作空間 229
8.2.3 使用函式逼近有很多優點 231
8.3 NFQ:對基於價值的深入強化學習的第一次嘗試 233
8.3.1 第1個決策點:選擇逼近一個值函式 234
8.3.2 第2個決策點:選擇神經網路體系結構 235
8.3.4 第3個決策點:選擇要最佳化的內容 236
8.3.5 第4個決策點:為策略評估選擇目標 238
8.3.6 第5個決策點:選擇探索策略 241
8.3.7 第6個決策點:選擇損失函式 242
8.3.8 第7個決策點:選擇一種最優方法 243
8.3.9 可能出錯的事情 248
8.4 小結 250
第9章 更穩定的基於價值方法 253
9.1 DQN:使強化學習更像是監督學習 254
9.1.1 基於價值的深度強化學習的普遍問題 254
9.1.2 使用目標網路 256
9.1.3 使用更大網路 259
9.1.4 使用經驗回放 259
9.1.5 使用其他探索策略 263
9.2 雙重DQN:減少對動作-值函式的高估 269
9.2.1 高估問題 269
9.2.2 將動作選擇從動作評估剝離 270
9.2.3 一個解決方案 271
9.2.4 一個更實用的解決方案 272
9.2.5 一個更寬容的損失函式 275
9.2.6 仍可改進之處 280
9.3 小結 281
第10章 高效抽樣的基於價值學習方法 285
10.1 Dueling DDQN:具備強化學習意識的神經網路架構 286
10.1.1 強化學習不屬於監督學習問題 286
10.1.2 基於價值的強化學習方法的微妙區別 287
10.1.3 利用優點的優勢 288
10.1.4 有意識強化學習框架 289
10.1.5 建立一個Dueling網路架構 290
10.1.6 重構動作-值函式 291
10.1.7 連續更新目標網路 293
10.1.8 Dueling網路能為表格帶來什麼 294
10.2 PER:優先有意義經驗的回放 297
10.2.1 更明智的回放經驗方法 297
10.2.2 如何較好地衡量“重要”經驗 298
10.2.3 利用TD 誤差做出貪婪優先權操作 299
10.2.4 隨機對優先的經驗進行抽樣 300
10.2.5 成比例的優先權 301
10.2.6 基於排名的優先權 302
10.2.7 優先偏倚 303
10.3 小結 309
第11章 策略梯度與actor-critic方法 313
11.1 REINFORCE算法:基於結果策略學習 314
11.1.1 策略梯度法簡介 314
11.1.2 策略梯度法之優勢 315
11.1.3 直接學習策略 319
11.1.4 減少策略梯度方差 320
11.2 VPG:學習值函式 322
11.2.1 進一步減少策略梯度方差 323
11.2.2 學習值函式 323
11.2.3 鼓勵探索 324
11.3 A3C:平行策略更新 328
11.3.1 使用actor工作器 328
11.3.2 使用n-step估計 331
11.3.3 無障礙模型更新 334
11.4 GAE: 穩健優勢估計 335
11.5 A2C: 同步策略更新 338
11.5.1 權重分擔模型 338
11.5.2 恢復策略更新秩序 340
11.6 小結 346
第12章 高級actor-critic方法 349
12.1 DDPG: 逼近確定性策略 351
12.1.1 DDPG使用DQN中的許多技巧 351
12.1.2 學習確定性策略 353
12.1.3 用確定性策略進行探索 356
12.2 TD3:最先進的DDPG改進 358
12.2.1 DDPG中的雙重學習 358
12.2.2 平滑策略更新目標 360
12.2.3 延遲更新 363
12.3 SAC: 最大化預期收益和熵 365
12.3.1 在貝爾曼方程中添加熵 365
12.3.2 學習動作-值函式 366
12.3.3 學習策略 366
12.3.4 自動調整熵係數 367
12.4 PPO: 限制最佳化步驟 372
12.4.1 使用與A2C相同的actor-critic架構 372
12.4.2 分批處理經驗 373
12.4.3 剪裁策略更新 377
12.4.4 剪裁值函式更新 377
12.5 小結 382
第13章 邁向通用人工智慧 385
13.1 已涵蓋的以及未特別提及的內容 386
13.1.1 馬爾可夫決策過程 387
13.1.2 規劃法 388
13.1.3 Bandit法 389
13.1.4 表格型強化學習 390
13.1.5 基於值函式的深度強化學習 391
13.1.6 基於策略的深度強化學習和actor-critic深度強化學習 392
13.1.7 高級actor-critic技術 392
13.1.8 基於模型的深度強化學習 393
13.1.9 無梯度最佳化方法 395
13.2 更多AGI高級概念 397
13.2.1 什麼是AGI 397
13.2.2 高級探索策略 399
13.2.3 逆強化學習 399
13.2.4 遷移學習 400
13.2.5 多任務學習 401
13.2.6 課程學習 401
13.2.7 元學習 402
13.2.8 分層強化學習 402
13.2.9 多智慧型體強化學習 402
13.2.10 可解釋AI、安全、公平和道德標準 403
13.3 接下來是什麼 404
13.3.1 如何用DRL解決特定問題 404
13.3.2 繼續前進 405
13.3.3 從現在開始,放下本書 406
13.4 小結 407