前言 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,如有疑問,歡迎諮詢。
最後,感謝我的傢人,感謝我的內人王凱女士,感謝她長時間對我的瞭解和支援,沒有她的幫助,我一無所有,一事無成。這本書獻給她。
郭憲