強(qiáng)化學(xué)習(xí)的真正價(jià)值與現(xiàn)實(shí)難題
強(qiáng)化學(xué)習(xí)的框架之爭(zhēng)只是序曲,隨著各種難度超乎想象的實(shí)際問題被一一解決,很多有趣的事情將會(huì)發(fā)生。
假如你是應(yīng)用開發(fā)者,不懂算法,又想開發(fā)一個(gè)帶AI功能的APP,你會(huì)選擇:
1.自己從頭訓(xùn)練一個(gè)AI模型;
2.使用開發(fā)平臺(tái)的訓(xùn)練框架和API;
答案顯而易見——能夠提供技術(shù)解決方案及低準(zhǔn)入門檻的后者才是王道。
但面對(duì)眾多開發(fā)平臺(tái)的深度學(xué)習(xí)框架,需要考慮的問題可就多了:兼容性、社群資源、框架遷移等等不一而足。
而最近,框架之爭(zhēng)的焦點(diǎn)又轉(zhuǎn)移到強(qiáng)化學(xué)習(xí)身上了。
谷歌在去年推出了基于TensorFlow的強(qiáng)化學(xué)習(xí)框架Dopamine,強(qiáng)化學(xué)習(xí)界的明星OpenAI也將很多算法放上了baseline,百度也在前不久更新了PaddlePaddle的強(qiáng)化學(xué)習(xí)框架PARL;就連一向低調(diào)的網(wǎng)易,都公布了自主研發(fā)的強(qiáng)化編程(Reinforced Programing)框架……
對(duì)于大部分開發(fā)者來說,強(qiáng)化學(xué)習(xí)到底能帶來什么,與深度學(xué)習(xí)框架有何區(qū)別,自家應(yīng)用又該何去何從,恐怕還有點(diǎn)云里霧里的。
所以,我們今天不妨就來厘清強(qiáng)化學(xué)習(xí)的真正價(jià)值與現(xiàn)實(shí)難題。
01
深度學(xué)習(xí)、強(qiáng)化學(xué)習(xí)、深度強(qiáng)化學(xué)習(xí),傻傻分不清楚?
經(jīng)過幾年的市場(chǎng)教育,大多數(shù)開發(fā)者對(duì)于深度學(xué)習(xí)框架能夠做什么、怎么做,已經(jīng)比較有譜了。但是各大平臺(tái)隨即推出的強(qiáng)化學(xué)習(xí)框架或者深度強(qiáng)化學(xué)習(xí)框架,就讓人有點(diǎn)蒙圈了。它們之間的區(qū)別在哪里,又分別承擔(dān)著怎樣的職責(zé)呢?
我們舉個(gè)例子來解釋一下這三種機(jī)器學(xué)習(xí)方法的不同吧:
假如我是個(gè)種植工廠,想要做一個(gè)能夠識(shí)別蘋果好壞的APP,那么就需要一個(gè)深度學(xué)習(xí)開發(fā)框架,在上面搭建訓(xùn)練過程。幾乎所有開發(fā)平臺(tái)都有現(xiàn)成的圖像識(shí)別API,我只需要把訓(xùn)練用的圖片(也就是各種各樣的蘋果照片)拖進(jìn)系統(tǒng),就可以得到一個(gè)訓(xùn)練好的蘋果識(shí)別模型了。
但如果我更懶一點(diǎn),想要一個(gè)能自己學(xué)會(huì)采摘優(yōu)質(zhì)成熟蘋果的機(jī)器人呢?深度學(xué)習(xí)就有點(diǎn)搞不定了。
這時(shí)我需要用強(qiáng)化學(xué)習(xí)框架來訓(xùn)練一個(gè)智能體,每當(dāng)它摘下一個(gè)新鮮漂亮的好蘋果,就會(huì)收到來自系統(tǒng)的獎(jiǎng)勵(lì),進(jìn)行正強(qiáng)化——要是錯(cuò)誤摘下了沒熟或者爛掉的蘋果,就沒有獎(jiǎng)勵(lì)甚至?xí)豢鄯?,進(jìn)行負(fù)強(qiáng)化。
為了得到更多的回報(bào),智能體會(huì)就更愿意選擇那些好果子來摘,而放棄那些會(huì)帶來0分甚至負(fù)分的果子。通過這種方法,我就得到了一個(gè)最大化摘到好果子的智能機(jī)器人,豈不是美滋滋?
但嘗到甜頭的我又不滿足了,不僅想讓它學(xué)會(huì)摘黃瓜摘西紅柿,而且還懶得再訓(xùn)練一遍。這時(shí)候就需要一種全新的算法,將深度學(xué)習(xí)與強(qiáng)化結(jié)合學(xué)習(xí)起來,只要告訴它新的獎(jiǎng)勵(lì)機(jī)制,機(jī)器就能通過深度神經(jīng)網(wǎng)絡(luò)自主get類似技能,不需要我再手把手訓(xùn)練。
以前,我還需要自己一行行敲代碼,現(xiàn)在只要有一個(gè)開發(fā)框架+訓(xùn)練樣本,就可以輕松擁有永不疲倦、勤奮學(xué)習(xí)、還會(huì)舉一反三的智能體,這樣的誘惑試問誰能拒絕?
當(dāng)然,這里只是簡(jiǎn)單解釋一下它們的工作模式,真要訓(xùn)練出這樣一個(gè)智慧模型并應(yīng)用于自家產(chǎn)品上,是一個(gè)更為復(fù)雜的綜合工程。
不過,增加了強(qiáng)化學(xué)習(xí)功能的開發(fā)框架,大大降低了強(qiáng)化學(xué)習(xí)訓(xùn)練的編程難度和工作量,對(duì)于想做強(qiáng)化學(xué)習(xí)但又無力從零開始搭建環(huán)境和訓(xùn)練的技術(shù)人員和企業(yè)來說,無疑是個(gè)好消息。
02
AI開發(fā)新寵:強(qiáng)化學(xué)習(xí)究竟有什么用?
如今,強(qiáng)化學(xué)習(xí)不僅成了學(xué)術(shù)界的寵兒,相關(guān)研究論文在各大頂會(huì)中的比例飛速上升;各家開發(fā)平臺(tái)也都把強(qiáng)化學(xué)習(xí)框架當(dāng)成重點(diǎn)來部署和爭(zhēng)奪。但問題也隨之而來:框架只能降低一部分開發(fā)門檻,定制化模型、調(diào)試、兼容等工作依然需要企業(yè)投入大量人力物力財(cái)力,如果費(fèi)了大力氣得到的成果最后無法應(yīng)用或者不切實(shí)際,對(duì)開發(fā)者來說無疑是非常殘酷的。
因此在貿(mào)然“以身效法”之前,有必要先搞搞清楚:強(qiáng)化學(xué)習(xí)到底強(qiáng)在哪些地方?開發(fā)者又應(yīng)該在何種情況下向它投誠?
先解釋一下強(qiáng)化學(xué)習(xí)的核心邏輯,那就是智能體(Agent)可以在環(huán)境(Environment)中根據(jù)獎(jiǎng)勵(lì)(Reward)的不同來判斷自己在什么狀態(tài)(State)下采用什么行動(dòng)(Action),從而最大限度地提高累積獎(jiǎng)勵(lì)。
比如擊敗圍棋世界冠軍的Alpha Go,在《Dota 2》中血虐人類玩家的OpenAI Five,打下Atari 2600游戲最高分的DeepMind DQN,都是基于強(qiáng)化學(xué)習(xí)實(shí)現(xiàn)的。
那么它具體有哪些特征呢?大致可以總結(jié)為三個(gè)方面:
- 訓(xùn)練樣本。強(qiáng)化學(xué)習(xí)是通過環(huán)境給出的獎(jiǎng)懲結(jié)果來學(xué)習(xí),需要帶有回報(bào)的數(shù)據(jù)。
- 交互方式。強(qiáng)化學(xué)習(xí)的學(xué)習(xí)過程是動(dòng)態(tài)的,需要與環(huán)境進(jìn)行交互來完成,不是給什么樣本就學(xué)什么,沒有環(huán)境都白搭。
- 解決問題。強(qiáng)化學(xué)習(xí)的邏輯更像人腦,主要解決的是智能決策問題,比如游戲打出高分、通用機(jī)器人、推薦系統(tǒng)等等。
這些特殊設(shè)定,使得強(qiáng)化學(xué)習(xí)可以在很多應(yīng)用領(lǐng)域表現(xiàn)得比傳統(tǒng)深度學(xué)習(xí)更為出色,比如:
控制類智能:工業(yè)上多關(guān)節(jié)機(jī)械臂的實(shí)時(shí)控制,讓機(jī)器人觀看YouTube 視頻學(xué)習(xí)動(dòng)作并應(yīng)用到現(xiàn)實(shí)場(chǎng)景中,又或者是幫助無人車學(xué)習(xí)如何應(yīng)對(duì)人和動(dòng)物亂穿馬路這樣的特殊情況;
序列問題:比如文本序列預(yù)測(cè),通過行為反饋?zhàn)屗阉髋判蜻_(dá)到最優(yōu)效果;電商推薦系統(tǒng), 根據(jù)用戶對(duì)推薦列表的反饋(忽略、點(diǎn)擊或購買)來實(shí)時(shí)改變推薦策略。對(duì)話生成:比如體驗(yàn)更好的人機(jī)多輪對(duì)話,讓機(jī)器人能夠持續(xù)生成有意義的對(duì)話,而不是亂說一氣地尬聊;與深度學(xué)習(xí)相結(jié)合,實(shí)現(xiàn)更好的機(jī)器雙語翻譯效果。
傳統(tǒng)深度學(xué)習(xí)已經(jīng)能很好地解決機(jī)器感知和識(shí)別問題,但人類對(duì)機(jī)器智能的要求顯然不止于此,能夠應(yīng)對(duì)復(fù)雜現(xiàn)實(shí)中決策型問題的強(qiáng)化學(xué)習(xí),以及二者的融合,自然成為AI應(yīng)用未來的重點(diǎn)發(fā)展方向。
這種情況下,掌握了算法先發(fā)優(yōu)勢(shì)的技術(shù)平臺(tái)相繼推出RL框架,無疑是爭(zhēng)奪開發(fā)者和入口權(quán)的最好布局。
03
強(qiáng)化學(xué)習(xí)框架之爭(zhēng),究竟拼些什么?
當(dāng)然,強(qiáng)化學(xué)習(xí)雖然取得了很多“炫酷”的成就,但其應(yīng)用的局限也是顯而易見的,不得不預(yù)先做好準(zhǔn)備:比如強(qiáng)化學(xué)習(xí)就像剛出生的嬰兒,所有技能都要從零開始訓(xùn)練,需要花很多時(shí)間才能教會(huì)它掌握一個(gè)任務(wù)目標(biāo);
而且,強(qiáng)化學(xué)習(xí)只能根據(jù)即時(shí)反饋指令來進(jìn)行動(dòng)作,下圍棋、打dota或許很牛,但面對(duì)個(gè)性化語音助手這樣需要記憶和推理能力的任務(wù),就有點(diǎn)力不從心;
另一個(gè)困擾的問題是:目前的強(qiáng)化學(xué)習(xí)算法在穩(wěn)定性和效率上參差不齊,想要真正滿足現(xiàn)實(shí)場(chǎng)景的應(yīng)用需求,還有待加強(qiáng)。
因此,如何選擇適合自身業(yè)務(wù)的強(qiáng)化學(xué)習(xí)框架來試水,或許是開發(fā)者當(dāng)下最為關(guān)心的問題。
就強(qiáng)化學(xué)習(xí)的發(fā)展方向和各個(gè)平臺(tái)的特點(diǎn)來看,我們有幾個(gè)不成熟的小建議供參考:
1.平臺(tái)的穩(wěn)定及復(fù)現(xiàn)性
深度學(xué)習(xí)是穩(wěn)定的,有固定的數(shù)據(jù)集和固定目標(biāo),超參數(shù)出現(xiàn)很小的改動(dòng),最終的性能也不會(huì)受到太大影響。但強(qiáng)化學(xué)習(xí)(或者深度強(qiáng)化學(xué)習(xí))就不是如此了,訓(xùn)練結(jié)果會(huì)受到隨機(jī)幾率、樣本效率、算法穩(wěn)定性等多重影響,從而帶來結(jié)果上的巨大差異,降低成功的復(fù)現(xiàn)率。
更嚴(yán)重的情況是:機(jī)器認(rèn)為自己無論怎么嘗試都會(huì)導(dǎo)致失敗,直接崩潰不學(xué)了。
為了解決隨機(jī)性和復(fù)現(xiàn)的問題,不同平臺(tái)的解決方案也不盡相同。
比如谷歌是實(shí)現(xiàn)訓(xùn)練環(huán)境和測(cè)試環(huán)節(jié)的標(biāo)準(zhǔn)化。為代碼提供60款游戲的測(cè)試覆蓋范圍和訓(xùn)練數(shù)據(jù),并使用街機(jī)學(xué)習(xí)環(huán)境(Arcade Learning Environment)進(jìn)行標(biāo)準(zhǔn)化經(jīng)驗(yàn)評(píng)估。
而百度則是盡可能多地覆蓋相關(guān)算法——PARL框架提供algorithm集合,里面包含了大量主流的經(jīng)典算法和完整的超參數(shù)列表,以保障模型的復(fù)現(xiàn)率。
2.靈活性&易用性
大多數(shù)開發(fā)者的終極需求,是希望借助技術(shù)框架打破算法的桎梏自由馳騁,釋放自己的新想法和商業(yè)創(chuàng)造力。因此,框架設(shè)計(jì)一方面要平衡多元業(yè)務(wù)場(chǎng)景和簡(jiǎn)易訓(xùn)練方式之間的矛盾,另一方面則要跟上技術(shù)趨勢(shì)的發(fā)展快速迭代。
比如谷歌的街機(jī)學(xué)習(xí)環(huán)境,智能體在其中是如何工作的,理解起來就非常簡(jiǎn)單,并且有詳細(xì)的文檔記錄和原始日志。除此之外,谷歌還推出了一個(gè)TensorBoard的可視化工具套件,幫助幫助開發(fā)者在短時(shí)間內(nèi)清晰直觀地梳理、驗(yàn)證和迭代新想法。
3.框架與業(yè)務(wù)的耦合性
盡管我們說強(qiáng)化學(xué)習(xí)距離產(chǎn)業(yè)端落地還有遙遠(yuǎn)的距離,但技術(shù)框架從基礎(chǔ)開發(fā)就為產(chǎn)業(yè)結(jié)合做好準(zhǔn)備,顯然能加快這一進(jìn)程。
因此,技術(shù)框架與產(chǎn)業(yè)端業(yè)務(wù)需求的耦合,就成為開發(fā)平臺(tái)生命力的一大保障。比如百度加快跟進(jìn)強(qiáng)化學(xué)習(xí)框架,就很好地填補(bǔ)了中文文檔和訓(xùn)練數(shù)據(jù)在強(qiáng)化學(xué)習(xí)算法中的不足。
另外需要考慮的,則是中文世界的開發(fā)者數(shù)量、數(shù)據(jù)規(guī)模、用戶體量,對(duì)技術(shù)框架的支持能力也是一大挑戰(zhàn)。基于PaddlePaddle對(duì)大規(guī)模工業(yè)級(jí)排序/推薦等稀疏模型的支持能力,百度的PARL得以輕松擴(kuò)展到百億級(jí)別數(shù)據(jù)或特征的訓(xùn)練,這種并行提速的能力,更符合中國市場(chǎng)的真實(shí)需求。
當(dāng)然,影響強(qiáng)化學(xué)習(xí)性能和用戶選擇的因素還有很多,比如社區(qū)資源的豐富,算法質(zhì)量,應(yīng)用工具的多元化等等。總體而言,現(xiàn)階段想要低門檻、短時(shí)間地訓(xùn)練處一個(gè)好的強(qiáng)化學(xué)習(xí)模型,還是很困難。但正如吳恩達(dá)所說的,“短期悲觀,長期樂觀”,深度強(qiáng)化學(xué)習(xí)作為機(jī)器智能接下來的發(fā)展方向,是毋庸置疑的。
想要贏得未來,這個(gè)新的競(jìng)爭(zhēng)高地不得不去占領(lǐng)。
作者:腦極體,微信公眾號(hào):腦極體
本文由 @腦極體 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來源于 Unsplash,基于CC0協(xié)議
- 目前還沒評(píng)論,等你發(fā)揮!