前言
2017年5月,AlphaGo擊敗世界圍棋冠軍柯潔,標誌著人工智慧進入另一個新的階段。AlphaGo背後的核心演算法——深度強化學習——成為繼深度學習之後,廣泛受人關注的前端熱點。與深度學習相比,深度強化學習具有更廣泛的應用背景,可應用於機器人、遊戲、自然語言處理、影像處理、視訊處理等領域。深度強化學習演算法被認為是最有可能實現通用人工智慧計算的方法。不過,由於深度強化學習演算法融合了深度學習、統計、資訊學、運籌學、機率論、最佳化等多個學科內容,因此,強化學習的入門門檻比較高,且到目前為止,市面上沒有一本零基礎全面介紹強化學習演算法的書籍。
本書是筆者在南開大學電腦與控制工程學院做博士後期間,每週在課題組內說明強化學習知識的講義合集。在學習強化學習基本理論的時候,我深深地感受到,強化學習理論中的很多概念和公式都很難了解。經過大量資料和文獻的查閱後,並終於了解一個全新的概念時,內心所湧現的那種喜悅和興奮,鼓動著我將這些知識分享給大家。為此,我在知乎開闢了《強化學習知識大講堂》專欄,並基本保持了每週一次更新的速度。該專欄獲得大家的關注,很多知友反映受益良多,本書的雛形正是來自於此。在成書時,考慮到書的邏輯性和完整性,又增加了很多數學基礎和實例說明。希望本書能幫助更多的人入門強化學習,開啟自己的人工智慧之旅。
在寫作過程中,博士後合作導師方勇純教授給了大量的建議,包含書的整體結構、每一章的說明方式,甚至每個標題的選擇。寫作後,方老師細緻地審稿了全文,列出了詳細的批註,並多次當面指導書稿的修改。正是因為方老師的耐心指導與辛勤付出,本書才得以順利完成。
同時,非常感謝組內的所究所學生丁傑、朱威和趙銘慧三位同學,透過與他們的交流,我學會了如何更清晰地說明一個概念。本書很多說明方式,都是在與他們的交流中產生的。
本書在寫作過程中參考了很多文獻資料,這些文獻資料是無數科學研究工作者們日日夜夜奮鬥的成果。本書對這些成果進行加工並形成了一套自成系統的原理入門教學。可以說,沒有這些科學研究工作者們的豐碩成果,就沒有現今蓬勃發展的人工智慧,也就沒有這本書,在此對這些科學工作者們表示由衷的敬意。
本書前六章的內容及組織想法,很大部分參考了David Silver的網路課程,同時也參考了強化學習鼻祖Richard S. Sutton等人所著的Reinforcement Learning: An Introduction,在此向Silver和Sutton致敬。
本書第8章介紹了置信域強化學習演算法,主要參考了John Shulman的博士論文,在此向John Shulman博士及其導師Pieter Abbeel致敬。第10章主要介紹了Sergey Levine博士的工作,在此對其表示感謝。在強化學習前端部分,本書介紹了最近一年該領域很優秀的研究工作,如Donoghue的組合策略梯度和Qlearning方法、Tamar的值反覆運算網路、Deisenroth的PILCO方法和McAllister的PILCO擴充方法,在此對這些作者表示感謝。當然,本書還介紹了很多其他科學研究工作者的工作,在此對他們一併致謝。
本書主要說明的是前人提出的強化學習演算法的基本理論,並沒有介紹筆者個人的工作,但在此,仍然要感謝目前我負責的兩項基金的支援:中國國家自然科學基金青年基金(61603200)和中國博士後基金面上專案(2016M601256)。這兩個專案都和強化學習有關,本書也可看成是這兩個專案的前期研究和累積。關於更多筆者個人的工作,留待以後再與大家分享。
由於個人水準有限,書稿中難免有錯誤,歡迎各位同行和讀者批評指正。我的個人電子郵件是guoxiansia@163.com,如有疑問,歡迎諮詢。
最後,感謝我的家人,感謝我的內人王凱女士,感謝她長時間對我的了解和支援,沒有她的幫助,我一無所有,一事無成。這本書獻給她。
郭憲