0
本文作者: 我在思考中 | 2022-04-19 09:38 |
作者 | Ailleurs
在過去十多年的發(fā)展中,基于機器學(xué)習(xí)的智能檢測和智能預(yù)測類的人工智能技術(shù)快速發(fā)展。例如,在門禁系統(tǒng)中應(yīng)用的人臉活體檢測、在個性化信息流推薦中應(yīng)用的用 戶興趣預(yù)測已成為人們?nèi)粘I钪胁豢苫蛉钡募夹g(shù)。如今,在這些成熟的人工智能技術(shù)基礎(chǔ)上, 服務(wù)于決策智能的技術(shù)變得越來越重要,這背后對應(yīng)機器學(xué)習(xí)領(lǐng)域下的一個分支——強化學(xué)習(xí)。
目前強化學(xué)習(xí)技術(shù)已經(jīng)在機器人控制、游戲智能、智慧城市、推薦系統(tǒng)、能源優(yōu)化等領(lǐng)域得到廣泛應(yīng)用,發(fā)展前景廣闊,業(yè)界對強化學(xué)習(xí)人才的需求量也與日俱增。
但是,強化學(xué)習(xí)的普及教育較為滯后,不少高校仍未開設(shè)強化學(xué)習(xí)課程,學(xué)生迫切需要一條系統(tǒng)學(xué)習(xí)強化學(xué)習(xí)技術(shù)的專業(yè)路徑。
近日,上海交大ACM班的俞勇團隊結(jié)合多年研究與教學(xué),推出了一本強化學(xué)習(xí)入門書——《動手學(xué)強化學(xué)習(xí)》,號稱理論能講透、代碼能跑通、實驗可復(fù)現(xiàn),立即在社區(qū)內(nèi)引起了廣泛關(guān)注。
針對該杰作,AI科技評論也特地聯(lián)系了該書的作者之一、上海交大副教授、青橙獎和吳文俊優(yōu)青獲得者張偉楠,向他了解了此書背后的故事(見文末)。
如果你想“入坑”強化學(xué)習(xí),那這本書絕對不可錯過~
張偉楠,上海交通大學(xué)副教授,博士生導(dǎo)師,ACM班機器學(xué)習(xí)、強化學(xué)習(xí)課程授課老師,吳文俊人工智能優(yōu)秀青年獎、達摩院青橙獎得主,獲得中國科協(xié)“青年人才托舉工程”支持。他的科研領(lǐng)域包括強化學(xué)習(xí)、數(shù)據(jù)挖掘、知識圖譜、深度學(xué)習(xí)以及這些技術(shù)在推薦系統(tǒng)、搜索引擎、文本分析等場景中的應(yīng)用。他在國際一流會議和期刊上發(fā)表了100余篇相關(guān)領(lǐng)域的學(xué)術(shù)論文,于2016年在英國倫敦大學(xué)學(xué)院(UCL)計算機系獲得博士學(xué)位。
沈鍵,上海交通大學(xué)APEX實驗室博士生,師從俞勇教授,研究方向為深度學(xué)習(xí)、強化學(xué)習(xí)和教育數(shù)據(jù)挖掘。在攻讀博士期間,他以第一作者身份發(fā)表機器學(xué)習(xí)國際頂級會議NeurIPS、AAAI論文,參與發(fā)表多篇機器學(xué)習(xí)和數(shù)據(jù)挖掘國際頂級會議(包括ICML、IJCAI、SIGIR、KDD、AISTATS等)論文,并擔(dān)任多個國際頂級會議和SCI學(xué)術(shù)期刊的審稿人。
俞勇,享受國務(wù)院特殊津貼專家,國家級教學(xué)名師,上海交通大學(xué)特聘教授,APEX實驗室主任,上海交通大學(xué)ACM班創(chuàng)始人。俞勇教授曾獲得首批“國家高層次人才特殊支持計劃”教學(xué)名師、“上海市教學(xué)名師獎”“全國師德標(biāo)兵”“上海交通大學(xué)校長獎”和“最受學(xué)生歡迎教師”等榮譽。他于2018年創(chuàng)辦了伯禹人工智能學(xué)院,在上海交通大學(xué)ACM班人工智能專業(yè)課程體系的基礎(chǔ)上,對AI課程體系進行創(chuàng)新,致力于培養(yǎng)卓越的AI算法工程師和研究員。
本書系統(tǒng)地介紹了強化學(xué)習(xí)的原理和實現(xiàn),理論扎實且落地性強。對于初探強化學(xué)習(xí)的讀者來說,本書不僅能夠幫助你理解強化學(xué)習(xí)的算法原理,提高代碼實踐能力,更能讓你了解自己是否喜歡決策智能這個方向,從而更好地決策未來是否從事人工智能方面的研究和實踐工作。
這本書的內(nèi)容一共包括3個部分:
第一部分為強化學(xué)習(xí)基礎(chǔ),講解強化學(xué)習(xí)的基礎(chǔ)概念和表格型強化學(xué)習(xí)方法;
第二部分為強化學(xué)習(xí)進階,討論深度強化學(xué)習(xí)的思維方式、深度價值函數(shù)和深度策略學(xué)習(xí)方法;
第三部分為強化學(xué)習(xí)前沿,介紹學(xué)術(shù)界在深度強化學(xué)習(xí)領(lǐng)域的主要關(guān)注方向和前沿算法。
同時,本書理論與實踐并重,在介紹強化學(xué)習(xí)理論的同時,還提供了配套的線上代碼實踐平臺,展示源碼的編寫和運行過程,能夠讓讀者進一步掌握強化學(xué)習(xí)算法的運行機制。
本書適合各類對強化學(xué)習(xí)感興趣的人群。如果你是學(xué)生,你可以通過這本書中提供的一條自學(xué)捷徑,成功入門強化學(xué)習(xí)領(lǐng)域。如果你是高校教師,你也可以將這本書作為教材,開設(shè)強化學(xué)習(xí)課程。如果你是程序員,那么你可以通過這本書中的理論和實戰(zhàn),落地強化學(xué)習(xí)。
本書目錄如下:
那么這本書的主要亮點有哪些呢?
第一,這本書注重理論基礎(chǔ),兼顧公式推導(dǎo)。做好公式推導(dǎo),才能熟練編寫代碼和理解算法,本書提供了超清晰的公式推導(dǎo)過程,讓新手不用再經(jīng)歷“公式不知道用在哪里,公式不知道怎么推導(dǎo)出”的抓狂體驗。
第二,這本書中注釋清晰,代碼實戰(zhàn)的落地性極強,“動手學(xué)”的思維很清晰。書中提供的代碼都是基于 Python 3 編寫的,而且代碼在涉及自動求導(dǎo)時皆使用目前比較受歡迎的 PyTorch 框架實現(xiàn)。每一章的內(nèi)容都提供了Jupyter Notebook鏈接,可以在線直接運行。
第三,本書配套資源豐富。作者團隊為這本書錄制了在線視頻,使得學(xué)員可以兼顧教材和網(wǎng)課來進行系統(tǒng)地學(xué)習(xí),課后練習(xí)和在線答疑也可以幫助同學(xué)鞏固所學(xué)知識,提高學(xué)習(xí)效率。
這樣一本強化學(xué)習(xí)入門佳作也獲得了圖靈獎得主John Hopcroft、李沐、俞揚、張志華、汪軍、李航等多位業(yè)內(nèi)大咖的強烈推薦:
AI科技評論就本書的編寫緣由、編寫過程、內(nèi)容亮點、學(xué)習(xí)建議等方面,對本書的編者之一張偉楠副教授進行了采訪,整理如下。
AI科技評論:你們最初是怎么有編寫這本書的想法的?從開始編寫到完稿花了多長時間?
張偉楠:我本人長期做強化學(xué)習(xí)方面的研究,也在上海交通大學(xué)講授強化學(xué)習(xí)課程。本書三位作者所在的上海交通大學(xué)APEX數(shù)據(jù)和知識管理實驗室(簡稱APEX實驗室)有一個30人的強化學(xué)習(xí)研究組。強化學(xué)習(xí)的研究其實門檻比較高,一方面它對數(shù)理統(tǒng)計基礎(chǔ)要求高,另一方面它的實驗總是比較難做成功,很多時候需要付出很多努力才能復(fù)現(xiàn)論文實驗結(jié)果或者做出新的實驗突破。因此我也經(jīng)常開玩笑說:要做好強化學(xué)習(xí)研究,你需要數(shù)學(xué)好,編程好,還要品格好。最后的“品格好”是指需要具備實事求是的態(tài)度和持之以恒的韌性,在強化學(xué)習(xí)實驗調(diào)不出來時還能細心檢查bug,在實驗跑了一周還沒起色時,愿意再堅持幾天,在最終意識到自己方法確實不work時,能坦然面對,重新設(shè)計算法。
強化學(xué)習(xí)組的師生們相互幫助,促進研究效率提升,也為帶剛剛進組的新同學(xué)“避坑”,就慢慢沉淀出了一份強化學(xué)習(xí)算法的代碼。而真正想到把強化學(xué)習(xí)代碼整理公布出來,是有一位外校的研究生跟我討論時說,他們實驗室只有2位同學(xué)做強化學(xué)習(xí)的研究課題,問我如何才能做好強化學(xué)習(xí)的研究和實驗。我當(dāng)時想了想,覺得他的情況可能確實比較難一點,因為沒有足夠的同學(xué)一起研究強化學(xué)習(xí),很多強化學(xué)習(xí)的理論可能會理解不夠深入,很多實驗方面的“坑”沒有被趟過,于是就比較難以入門,進入研究深水區(qū)。因此,如果能有一本材料,能把強化學(xué)習(xí)的理論講透,并且把相關(guān)的實現(xiàn)代碼就穿插在理論算法講解中,那么學(xué)習(xí)起來可能就會更加容易體會強化學(xué)習(xí)的原理。更重要的是,這些代碼要能夠直接跑通,實驗結(jié)果可以復(fù)現(xiàn),這樣就能體會到強化學(xué)習(xí)算法是如何work的。
當(dāng)時正好ACM班學(xué)長李沐的《動手學(xué)深度學(xué)習(xí)》剛剛出版,每一個章節(jié)對應(yīng)的Jupyter Notebook很適合邊學(xué)理論邊跑代碼,受到了業(yè)界廣泛的好評,我也就決定嘗試整理APEX實驗室的強化學(xué)習(xí)代碼和相關(guān)的講解材料,寫出這本《動手學(xué)強化學(xué)習(xí)》。
第一稿完成花了接近一年的時間,但是仍然比較粗糙。部分內(nèi)容對于初學(xué)者還是比較困難。我將部分章節(jié)的Jupyter Notebook作為教輔內(nèi)容以及代碼小作業(yè)發(fā)放給我講授的強化學(xué)習(xí)課程的學(xué)生們,并請他們反饋相關(guān)的改善建議,進一步迭代代碼和文字材料。在迭代了2020和2021兩年的強化學(xué)習(xí)課之后,我們認(rèn)為現(xiàn)在的版本差不多可以出版了。當(dāng)然本書可能還是會有不少可以改進的點,還請各位讀者多多反饋修改意見,我們十分感激!
AI科技評論:你之前曾在RLChina夏令營和上海交大講授強化學(xué)習(xí)課程,從你的經(jīng)驗看,不同類型的學(xué)生們會比較關(guān)注哪些內(nèi)容?你們?nèi)绾螢槌鯇W(xué)者設(shè)計一個漸進式的學(xué)術(shù)和項目的學(xué)習(xí)路線,又如何根據(jù)反饋來完善這本教材的?
張偉楠:我在上海交通大學(xué)給致遠學(xué)院ACM班和電院AI試點班的同學(xué)講授強化學(xué)習(xí),由于學(xué)生的專業(yè)和本課程內(nèi)容很貼合,因此學(xué)生對強化學(xué)習(xí)的原理部分關(guān)注較多。在夏令營中獲得學(xué)生的反饋更多來自如何在各種各樣的領(lǐng)域用好強化學(xué)習(xí)技術(shù),當(dāng)然也有不少本專業(yè)的學(xué)生對強化學(xué)習(xí)本身的研究十分了解。對于來我們APEX實驗室的強化學(xué)習(xí)初學(xué)者,我建議的學(xué)習(xí)路線是:
1. 先學(xué)習(xí)UCL David Silver的強化學(xué)習(xí)課程:https://www.davidsilver.uk/teaching/
這是強化學(xué)習(xí)的基礎(chǔ)知識,不太包含深度強化學(xué)習(xí)的部分,但對后續(xù)深入理解深度強化學(xué)習(xí)十分重要。
2. 然后學(xué)習(xí)UC Berkeley的深度強化學(xué)習(xí)課程:http://rail.eecs.berkeley.edu/deeprlcourse/
3. 最后可以可以挑著看OpenAI 的夏令營內(nèi)容:https://sites.google.com/view/deep-rl-bootcamp/lectures
當(dāng)然,如果希望學(xué)習(xí)中文的課程,我推薦的是:
1. 我本人在上海交通大學(xué)的強化學(xué)習(xí)課程: https://www.boyuai.com/rl
2. 周博磊老師的強化學(xué)習(xí)課程:https://www.bilibili.com/video/BV1LE411G7Xj
AI科技評論:你們認(rèn)為,初學(xué)者學(xué)習(xí)強化學(xué)習(xí)的難點在哪里?本書希望幫助學(xué)生解決學(xué)習(xí)強化學(xué)習(xí)的過程中遇到的哪些難點,這些思考是否與你自己之前的強化學(xué)習(xí)經(jīng)歷有關(guān)?
張偉楠:傳統(tǒng)課堂講授的內(nèi)容比較深奧,與動手實踐的差距會比較大。課后自己做一個強化學(xué)習(xí)代碼實驗,可能不知如何下手,并且實驗過程中需要注意的細節(jié)較多。這也是《動手學(xué)強化學(xué)習(xí)》這本書希望彌補的gap。讀者在看完一個知識點的一段文字和公式講解后,馬上就可以看到對應(yīng)代碼塊——代碼中的變量名和前面公式中的符號一致,函數(shù)名也和前面文字中提到的方法名一致;代碼塊可以直接在Jupyter Notebook上運行,跑出書里的結(jié)果——這樣就加速讀者通過代碼學(xué)習(xí)對強化學(xué)習(xí)原理的更加深入的理解。
我自己學(xué)習(xí)強化學(xué)習(xí)的經(jīng)歷主要是2013年在UCL讀博期間上了David Silver老師的強化學(xué)習(xí)課程,后續(xù)又在微軟劍橋研究院師從Thore Graepel做強化學(xué)習(xí)的研究實習(xí)生(后來這些老師和實習(xí)生幾乎都去了DeepMind)。實話說,當(dāng)時學(xué)習(xí)強化學(xué)習(xí)我是覺得比機器學(xué)習(xí)要吃力的,主要就是上面講到的那樣,原理講解和代碼實踐差距較大,學(xué)習(xí)了課程和論文后,以為自己理解原理了,但寫代碼時就總會碰到各種問題。
AI科技評論:在寫這本書的過程中,你是否對學(xué)習(xí)強化學(xué)習(xí)的竅門、前景等有了新的認(rèn)知?
張偉楠:通過APEX實驗室和強化學(xué)習(xí)課堂的學(xué)生們的反饋來看,這種Jupyter Notebook的學(xué)習(xí)材料是可以有效幫助提升對強化學(xué)習(xí)原理和代碼理解效率的形式。希望這本書能夠幫助更多人入門強化學(xué)習(xí)。
AI科技評論:這本書中,你認(rèn)為最精彩/最有特色的是哪一部分?
張偉楠:我比較注重強化學(xué)習(xí)基礎(chǔ)篇的講解,相信讀者在充分掌握了基礎(chǔ)篇后,后面的進階篇和前沿篇就會學(xué)得更加容易。因此本書的基礎(chǔ)篇其實是我最滿意的部分。例如在馬爾可夫決策過程(MDP)的章節(jié)中,我們在介紹了MDP的基礎(chǔ)知識后,引入了占用度量(Occupancy Measure)概念的講解,通過概念、原理和代碼實驗的講解,讓讀者深入理解一個策略和一個MDP交互行程的數(shù)據(jù)分布是什么樣子,以及體會為什么一個策略一旦改變了,那么占用度量就會跟著改變。這樣就講清楚了為什么強化學(xué)習(xí)比有監(jiān)督學(xué)習(xí)難度更大的原因——智能體學(xué)習(xí)過程中,隨著策略不算更新,它面臨的數(shù)據(jù)分布(也即是占用度量)會隨之改變。
AI科技評論:本書的封面是有什么具體的意思嗎?
張偉楠:本書的封面描繪的是一個機器人站在懸崖邊,準(zhǔn)備決定之后該如何行走。這其實對應(yīng)本書中用到的一個典型強化學(xué)習(xí)案例Cliff Walking(懸崖漫步),不同的強化學(xué)習(xí)算法會讓機器人走出風(fēng)險和收益不同的路線。
《動手學(xué)強化學(xué)習(xí)》封面圖
AI科技評論:這本書采取了類似ACM班以在線 Jupyter Notebook 的形式為學(xué)生提供課程輔助材料和代碼小作業(yè)的方式,在學(xué)習(xí)者規(guī)模擴大的同時你們采取了哪些措施來加強學(xué)習(xí)體驗?
張偉楠:我鼓勵學(xué)員們加入我們在伯禹學(xué)習(xí)平臺的強化學(xué)習(xí)課程中( https://www.boyuai.com/rl),本課程是全免費的。上面除了有我在上海交通大學(xué)強化學(xué)習(xí)課的視頻,還有在線可以完成的課后習(xí)題,以及學(xué)員們就本節(jié)知識點做出的思維導(dǎo)圖和問答討論。這樣可以幫助學(xué)員們在教師資源相對少的情況下,仍然具備較高的學(xué)習(xí)效率。
AI科技評論:這本書的定位是什么,可以推薦其他可以與這本書互補的配套學(xué)習(xí)書籍嗎?
張偉楠:本書可以作為強化學(xué)習(xí)課程的教材,也可以作為偏代碼學(xué)習(xí)和練習(xí)的教輔材料。適合配套的原理講解的書籍如下:
1. Richard S. Sutton and Andrew G. Barto. "Reinforcement Learning: An Introduction (Second Edition) ." MIT Press, 2018.
2. 俞凱[譯].《強化學(xué)習(xí)(第2版)》.電子工業(yè)出版社,2019.
3. 王琦、楊毅遠、江季.《Easy RL 強化學(xué)習(xí)教程》. 人民郵電出版社,2022.
AI科技評論:俞勇老師在本書的編寫中給與了哪方面的指導(dǎo)?團隊目前是否還有其他類似的教材和課程的推進項目?
張偉楠:俞勇教授在ACM班的培養(yǎng)方案中對動手實踐能力的培養(yǎng)力度比較大,學(xué)生從大一到大三,每個學(xué)期都會有編程類的大作業(yè)。充分鍛煉計算機人才獨當(dāng)一面的動手能力,這成就了ACM班學(xué)生在畢業(yè)后編寫出了MXNet、XGBoost、TVM、PS、DGL、Hotstuff等具有重要影響力的項目。在作者團隊構(gòu)思和編寫《動手學(xué)強化學(xué)習(xí)》這本書的過程中,俞勇教師關(guān)注最多的就是通過這種新型學(xué)習(xí)材料呈現(xiàn)形式,讀者是否能真正更好地掌握強化學(xué)習(xí)的原理和提升動手實踐能力。可以說,本書的具體形式就是俞勇教授塑造的。
此外在這里賣一個關(guān)子 :) 俞勇教授已經(jīng)規(guī)劃了一個大的動手學(xué)系列書目,希望提煉和踐行一種新的更高效的計算機科學(xué)和人工智能專業(yè)知識的學(xué)習(xí)形式。歡迎大家多關(guān)注我們接下來的行動。
雷峰網(wǎng)(公眾號:雷峰網(wǎng))雷峰網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。