本書從工業(yè)界一線算法工作者的視角,對深度強化學習落地實踐中的工程經(jīng)驗和相關(guān)方法論做出了深度思考和系統(tǒng)歸納。本書跳出了原理介紹加應用案例的傳統(tǒng)敘述模式,轉(zhuǎn)而在橫向上對深度強化學習落地過程中的核心環(huán)節(jié)進行了完整復盤。主要內(nèi)容包括需求分析和算法選擇的方法,動作空間、狀態(tài)空間和回報函數(shù)設計的理念,訓練調(diào)試和性能沖刺的技巧等。本書既是前人智慧與作者個人經(jīng)驗的交叉印證和精心整合,又構(gòu)成了從理論到實踐再到統(tǒng)一方法論的認知閉環(huán),與市面上側(cè)重于算法原理和代碼實現(xiàn)的強化學習書籍形成了完美互補。
魏 寧本科和碩士分別畢業(yè)于西安交通大學和中國科學院大學計算機專業(yè),在國際頂級會議和期刊上發(fā)表多篇學術(shù)論文,曾就職于德國KUKA Robotics從事協(xié)作機器人智能應用研發(fā)工作,目前在?低曆芯吭喝嗡惴▽<遥撠熒疃葘W習、強化學習等領域的創(chuàng)新研究和落地應用,同時也是互聯(lián)網(wǎng)社區(qū)“深度強化學習實驗室”核心成員。
第1章 需求分析 1
1.1 需求分析:勿做DRL鐵錘人 1
1.2 一問“是不是” 2
1.2.1 Agent和環(huán)境定義 2
1.2.2 馬爾可夫決策過程和強化學習 3
1.3 二問“值不值” 5
1.3.1 試試規(guī)則和啟發(fā)式搜索 5
1.3.2 別忘了傳統(tǒng)強化學習 7
1.3.3 使用DRL的理由 7
1.4 三問“能不能” 9
1.4.1 場景固定:兩個分布一致 9
1.4.2 數(shù)據(jù)廉價:多、快、好、費 13
1.5 四問“邊界在哪里” 16
1.6 本章小結(jié) 18
參考文獻 19
第2章 動作空間設計 23
2.1 動作空間設計:這里大有可為 23
2.1.1 被忽視的價值 23
2.1.2 動作空間的常見類型 24
2.1.3 動作空間設計的基本原則 26
2.2 動作空間的完備性 26
2.2.1 功能完備 27
2.2.2 時效完備 29
2.3 動作空間的高效性 30
2.3.1 化整為零:以精度換效率 31
2.3.2 有機組合:尺度很重要 33
2.4 動作空間的合法性 35
2.4.1 非法動作屏蔽機制 36
2.4.2 Agent的知情權(quán) 37
2.5 本章小結(jié) 39
參考文獻 40
第3章 狀態(tài)空間設計 43
3.1 狀態(tài)空間設計:特征工程的誘惑 43
3.2 狀態(tài)空間設計的兩種常見誤區(qū) 44
3.2.1 過分依賴端到端特征學習 44
3.2.2 極致特征工程 44
3.3 與動作空間和回報函數(shù)的協(xié)同設計 45
3.3.1 與動作空間尺度一致 45
3.3.2 以回報函數(shù)為中心 46
3.4 狀態(tài)空間設計的四個步驟 47
3.4.1 任務分析 47
3.4.2 相關(guān)信息篩選 49
3.4.3 泛化性考量 53
3.4.4 效果驗證 58
3.5 本章小結(jié) 61
參考文獻 62
第4章 回報函數(shù)設計 64
4.1 回報函數(shù)設計:面向強化學習的編程 64
4.2 稀疏回報問題 65
4.2.1 孤獨無援的主線回報 65
4.2.2 稀疏回報問題的本質(zhì) 66
4.3 輔助回報 67
4.3.1 子目標回報 67
4.3.2 塑形回報 70
4.3.3 內(nèi)驅(qū)回報 76
4.3.4 回報取值的注意事項 77
4.4 回報函數(shù)設計的常見陷阱 78
4.4.1 魯莽 79
4.4.2 貪婪 80
4.4.3 懦弱 82
4.5 最優(yōu)回報問題 83
4.6 基于學習的回報函數(shù) 84
4.6.1 經(jīng)典方法 84
4.6.2 前沿方法 85
4.7 本章小結(jié) 87
參考文獻 88
第5章 算法選擇 92
5.1 算法選擇:拿來主義和改良主義 92
5.1.1 DRL算法的發(fā)展脈絡 92
5.1.2 一篩、二比、三改良 94
5.1.3 從獨當一面到眾星捧月 96
5.2 牢記經(jīng)典勿忘本 97
5.2.1 DQN 98
5.2.2 DDPG 99
5.2.3 A3C 102
5.3 關(guān)注SOTA算法別留戀 105
5.3.1 TD3 105
5.3.2 SAC 107
5.3.3 PPO 110
5.4 其他算法 112
5.5 本章小結(jié) 113
參考文獻 113
第6章 訓練調(diào)試 119
6.1 訓練調(diào)試:此事要躬行 119
6.2 訓練前的準備工作 120
6.2.1 制定訓練方案 120
6.2.2 選擇網(wǎng)絡結(jié)構(gòu) 124
6.2.3 隨機漫步 128
6.2.4 數(shù)據(jù)預處理 129
6.3 訓練進行時 131
6.3.1 反脆弱:擁抱不確定性 131
6.3.2 調(diào)節(jié)超參數(shù) 134
6.3.3 監(jiān)控訓練狀態(tài) 143
6.4 給初學者的建議 146
6.5 本章小結(jié) 148
參考文獻 149
第7章 性能沖刺 154
7.1 性能沖刺:為DRL注入強心劑 154
7.2 課程學習 155
7.2.1 源任務及其分類 155
7.2.2 應用方式 157
7.3 額外監(jiān)督信號 162
7.3.1 有監(jiān)督預訓練 163
7.3.2 輔助任務 164
7.4 進化策略 169
7.4.1 基本原理 169
7.4.2 關(guān)鍵細節(jié) 170
7.4.3 應用方式 174
7.5 本章小結(jié) 175
參考文獻 176