深度強化式學習 | 運動資訊第一站 - 2024年11月
深度強化式學習
深度強化式學習 (Deep Reinforcement Learning, DRL),就是將深度學習與強化式學習結合的技術。要讓 AI 應用落地,DRL 是必不可缺的技術。近期由兩位劍橋大學博士所帶領的 Wayve 團隊就利用了 DRL 技術,開發出可以自行從新環境中學習的自動駕駛技術,取代以往完全仰賴感測器的做法。除此之外,工廠內的自動化機器人, 或是打敗世界棋王的 AlphaGo 等,背後運作的演算法也都與 DRL 息息相關。
然而 DRL 的演算法五花八門,讓人看了眼花繚亂。事實上,它們都是為了應付各式各樣的任務而發展出來的改良版本,其核心概念的差異不大,都是立足於 DRL 最基本的 DQN (Deep Q-Network) 之上。因此本書會花費較多的篇幅,一步步帶您把 DQN 的架構完全摸透,並時時提點各個技術細節的重點,讓您可以因應不同的任務或問題,加入適當的技術或技巧來克服,再進一步實作出各種進階的演算法。
本書一共分成兩篇:基礎篇及進階篇。在基礎篇中,讀者將學習如何從無到有,建構出自己的第一個RL演算法,並用該演算法來解決多臂拉霸機問題。接著,讀者會認識RL中較為經典的演算法,如DQN、策略梯度法、A2C等。同時,各章節皆搭配數個專案,確保讀者可以在學習理論的過程中,培養實作出演算法的能力,不再只是紙上談兵。
在進階篇中,作者將會介紹較為新穎,也較為複雜的RL演算法。基本上,這些演算法都是以DQN為出發點,再加上特殊的技巧,便能處理現實中的難題。舉個例子,利用平均場DQN,學者們成功模擬出了電子的自旋狀況,進而解決了RL中的多代理人問題。同時,讀者們還將學到如何將attention機制與DQN做結合,進而實作出關聯性DQN(relational DQN),提高演算法的可解釋性。
本書提供了完整的學習架構,循序漸進地介紹各種演算法,包括:
● Deep Q-Network (DQN)
● 策略梯度法(Policy gradient methods)
● 優勢值演員-評論家(Advantage Actor-Critic, A2C)
● 分散式優勢值演員-評論家(Distributional Advantage Actor-Critic, DA2C)
● 進化演算法(Evolutionary algorithm)
● 分散式DQN(Distributional DQN)
● 鄰近Q-Learning(Neighborhood Q-Learning)
● 平均場Q-Learning(Mean field Q-Learning)
● 關聯性DQN(Relational DQN)
除了 RL 相關演算法之外,書中也介紹了近期應用 RL 而發展出來的熱門模型,相信可以提升讀者的硬實力,其中包括:
● 圖神經網路(Graph Neural Network, GNN)
● Transformer模型
● Attention模型(Attention model)
總的來說,本書是最全面、最白話的強化式學習演算法實戰解析。只要您有基本的深度學習知識,並且想要認識強化式學習領域,那麼您就是本書在尋找的合適讀者!
本書特色
●囊括各種強化式學習的基礎及進階演算法,學習架構完整
●適當地補充數學及統計基礎,必要知識直接回顧,不用東翻西找其他資源
●重點整理深度強化式學習的基本架構,打好基礎、再先進的改良模型也看得懂
●以日常案例來實踐 DRL,理解起來事半功倍
●利用Python+PyTorch實作各章專案,不會只是紙上談兵
●所有程式皆已整理成Colab筆記本,一鍵即可檢驗結果
●本書由施威銘研究室監修,內容易讀易懂,並加入大量「編註」與「小編補充」以幫助理解及補充必要知識。
作者簡介
Alex Zai
Alex Zai 曾任 Codesmith 的首席技術長(Codesmith 為沉浸式 coding bootcamp,Alex 至今仍在其中擔任技術顧問)、Uber 的程式設計師、以及 Banjo 和 Amazon 的機器學習工程師。他同時也是開源深度學習架構Apache MXNet 的貢獻者之一。Alex Zai 還是一名創立了兩間公司的企業家,其中一間為 Y-combinator 的子公司。
Brandon Brown
Brandon Brown 自幼學習程式設計、並在大學時期兼職當軟體工程師,但最後他選擇進入了醫學行業。目前,他仍在醫療科技領域從事軟體工程工作。Brandon 目前是一名醫生,並從事與計算精神醫學(computational psychiatry,該領域即是受 DRL 啟發)有關的研究。
第一篇:基礎篇
第1章:強化式學習的基本觀念
1.1 深度強化式學習中的『深度』
12 強化式學習
1.3 動態規劃 vs. 蒙地卡羅法
1.4 強化式學習架構
1.5 強化式學習有什麼應用?
1.6 為什麼要使用『深度』強化式學習?
1.7 有用的說明工具 – 線圖(string diagram)
1.8 未來各章的內容安排
第2章:模型化強化式學習問題:馬可夫決策過程
2.1 多臂拉霸機問題
2.2 利用拉霸機問題的演算法來優化廣告推送策略
2.3 使用PyTorch建構神經網路
2.4 解決廣告推送問題
2.5 馬可夫性質與MDP(馬可夫決策過程)
2.6 策略與價值函數
第3章:Deep Q-Network
3.1 狀態價值函數及動作價值函數
3.2 利用Q-Learning進行探索
3.3 避免災難性失憶的發生:經驗回放
3.4 使用目標網路來提升學習穩定性
3.5 回顧
第4章:利用『策略梯度法』選擇最佳策略
4.1 利用神經網路實現策略函數的功能
4.2 策略梯度演算法:強化高價值動作
4.3 使用OpenAI Gym
4.4 REINFORCE演算法
第5章:演員-評論家模型與分散式訓練
5.1 結合『價值函數』與『策略函數』
5.2 分散式訓練
5.3 分散式優勢演員-評論家模型
5.4 N步演員-評論家
第二篇:進階篇
第6章:進化演算法
6.1 梯度下降演算法的缺點
6.2 利用進化策略實現強化式學習
6.3 用基因演算法來玩Cartpole
6.4 進化演算法的好處與壞處
6.5 進化演算法是可『調整規模』的
第7章:分散式DQN
7.1 期望值Q-Learning的不足
7.2 機率與統計學
7.3 Bellman方程式
7.4 分散式Q-Learning
7.5 比較機率分佈
7.6 利用Dist-DQN處理模擬資料
7.7 進行Freeway遊戲
第8章:培養代理人的好奇心
8.1 預測編碼器模型
8.2 反向動態預測
8.3 設定瑪利歐遊戲
8.4 處理原始的遊戲狀態資料
8.5 建立Q網路與策略函數
8.6 內在好奇心模組(ICM)
8.7 另一種內在回饋值機制
第9章:多代理人的環境
9.1 多個代理人之間的互動
9.2 鄰近Q-Learning
9.3 1D Ising模型
9.4 平均場Q-Learning
9.5 包含『競爭』與『合作』關係的遊戲
第10章:具解釋性的模型:attention與關聯性模型
10.1 圖神經網路
10.2 以attention為基礎的關聯性推理
10.3 利用self-attention處理MNIST資料集
10.4 多端口的attention和關聯性DQN
10.5 雙重Q-Learning
10.6 訓練與視覺化結果
第11章:回顧與學習規劃
11.1 回顧學習歷程
11.2 有待探索的深度強化式學習問題
11.3 結語
第A章:數學、深度學習及PyTorch之額外知識補充
A.1 線性代數
A.2 微積分
A.3 深度學習
A.4 PyTorch