人工智能頂會NeurIPS 2018正在如火如荼的進行著,并且首次在第一天增加了Expo
Workshop。一共有十家公司有幸拿到了組織workshop的機會,其中中國有四家,分別是阿里巴巴,百度,Pony.AI和網(wǎng)易。其中,AI方面一向低調(diào)的網(wǎng)易首次公布了自主研發(fā)的創(chuàng)新性強化編程(Reinforced
Programing)框架。下面我們就一起了解下網(wǎng)易在NeurIPS 2018的Workshop,以及這個強化編程框架吧。
Workshop簡介
隨著李世石與AlphaGO的巔峰對決,強化學(xué)習為越來越多的人所知曉。強化學(xué)習(Reinforcement
Learning,RL)是機器學(xué)習中的一個重要分支,智能體(Agent)通過與環(huán)境不斷交互學(xué)習如何進行連續(xù)決策。Agent從環(huán)境中獲取狀態(tài)(State),決策要做的動作(Action),并得到環(huán)境反饋(Reward),逐漸學(xué)會更好的策略(Policy),從而最大化自己的收益。換句話說,強化學(xué)習可以通過人機訓(xùn)練或者自我學(xué)習,不斷進步,找到解決問題的最佳方法。隨著強化學(xué)習的爆發(fā)性進展,它也被大家寄予了越來越大的期望。


強化學(xué)習發(fā)展歷程
既然強化學(xué)習這么厲害,已經(jīng)在棋類游戲中打遍人類無敵手。是不是之后所有的事情就可以交給強化學(xué)習讓機器自己來學(xué)習了呢?其實大部分強化學(xué)習的研究都還局限在學(xué)術(shù)界,如何把強化學(xué)習落地到實踐中來依舊是個非常大的難題,受著很多條件的限制。因此網(wǎng)易伏羲AI實驗室組織舉辦了主題為“Make
Reinforcement Learning in Touch with Industry”的Expo
Workshop來討論如何更好的讓強化學(xué)習應(yīng)用到產(chǎn)業(yè)界中來。在Workshop中,網(wǎng)易除了公布自主研發(fā)的強化編程框架外,還邀請了南京大學(xué)的俞揚教授,天津大學(xué)的郝建業(yè)教授,氪信科技的CEO朱明杰博士,和滴滴AI實驗室強化學(xué)習組負責人秦志偉博士等多位學(xué)術(shù)界和產(chǎn)業(yè)界著名專家學(xué)者共同探討強化學(xué)習落地產(chǎn)業(yè)應(yīng)用的相關(guān)進展。
強化編程框架
強化學(xué)習之所以難在產(chǎn)業(yè)界落地,主要有以下幾個問題:
1.知識依賴:強化學(xué)習這么前沿,對理論深刻理解的人自然少之又少,而僅僅想做應(yīng)用也必需掌握一些基本的理論概念。
2. 現(xiàn)實場景的復(fù)雜性和多變性:學(xué)術(shù)研究是把問題簡單和抽象化,而現(xiàn)實中產(chǎn)業(yè)應(yīng)用問題通常更加復(fù)雜,需要結(jié)合大量的先驗知識,而且場景豐富多變。
3.計算及數(shù)據(jù)量巨大:產(chǎn)業(yè)應(yīng)用中問題的復(fù)雜性同樣帶來更大的計算量及數(shù)據(jù)樣本量需求。
強化編程框架的設(shè)計也正是為了解決這幾個問題。在解決知識依賴的問題上,新框架希望最終將學(xué)習成本降至最低,在傳統(tǒng)編程的基礎(chǔ)上,創(chuàng)新性的將函數(shù)概念擴展出可學(xué)習的“神經(jīng)網(wǎng)絡(luò)函數(shù)”。也就是說,就算你不懂強化學(xué)習,你也可以像調(diào)用普通函數(shù)一樣簡單的調(diào)用神經(jīng)網(wǎng)絡(luò)函數(shù),而且這個神經(jīng)網(wǎng)絡(luò)函數(shù)可以自我學(xué)習。在解決現(xiàn)實場景復(fù)雜性和多變性的問題上,新框架設(shè)計了一套可視化的流程圖前端工具,可以快速設(shè)計及維護上層邏輯,應(yīng)對復(fù)雜多變的場景需求;同時,新框架讓傳統(tǒng)編程和強化學(xué)習無縫銜接,靈活的支持邏輯規(guī)則與強化學(xué)習混合編程,并支持多網(wǎng)絡(luò)的協(xié)同訓(xùn)練。這通常對應(yīng)了復(fù)雜問題的分解及分層結(jié)構(gòu)的強化學(xué)習,在這里都可以通過流程圖輕松直觀的表達。在解決計算及數(shù)據(jù)量巨大的問題上,伏羲實驗室提供了一整套后端云平臺作為解決方案。之所以叫強化編程這個名字,實際上是一語雙關(guān)。首先是對現(xiàn)有編程方法的一種增強,其次是通過強化學(xué)習來實現(xiàn)這種能力。


伏羲強化編程框架
從整個框架來看,首先提供了一個面向業(yè)務(wù)方的流程圖工具,以流程圖的形式對強化學(xué)習問題進行建模,自動生成代碼(目前支持Lua、Python及C#語言),嵌入到各種類型的業(yè)務(wù)產(chǎn)品中,實現(xiàn)與環(huán)境交互,并具有調(diào)試功能。同時提供一個基于完整計算集群的容器云平臺,將各種RL算法(DQN、A3C、Impala等)通過容器化的方式進行封裝,支持所有主流的深度學(xué)習框架(TensorFlow、Mxnet、PyTorch等)。基于RPC連接環(huán)境和訓(xùn)練集群,并對客戶端獲取的數(shù)據(jù)進行有效地封裝和轉(zhuǎn)發(fā),同時將服務(wù)器產(chǎn)生的策略返回給客戶端,組包在服務(wù)器端進行,支持并行及動態(tài)擴容的訓(xùn)練。網(wǎng)易伏羲實驗室還提供了一套完整的SDK方案,在平臺上完成訓(xùn)練后,可以方便地將訓(xùn)練結(jié)果導(dǎo)出,部署到服務(wù)器或客戶端。最后可以通過一個Web控制前端,查看訓(xùn)練數(shù)據(jù)及效果、規(guī)劃計算資源、改進訓(xùn)練方案,從而提升工作效率。
實際應(yīng)用
伏羲實驗室先在Atari游戲Pong上驗證了該框架解決經(jīng)典強化學(xué)習實驗問題的有效性。下圖為相應(yīng)的流程圖和訓(xùn)練效果:



Pong游戲訓(xùn)練流程圖 (GIF1 Pong訓(xùn)練效果)
然后,伏羲實驗室使用一款1v1動作對戰(zhàn)游戲驗證了混合編程和多網(wǎng)絡(luò)編程在解決復(fù)雜問題上的的優(yōu)勢。通過流程圖的方式可以引入專家經(jīng)驗,也可以對訓(xùn)練模型進行分層。實驗設(shè)置如下:實驗1為未經(jīng)任何處理的端到端模型,直接由RL算法探索所有空間。實驗2為單個神經(jīng)網(wǎng)絡(luò)與專家知識的混合編程模型,神經(jīng)網(wǎng)絡(luò)先選擇技能大類,同一類技能內(nèi)再靠人工規(guī)則實現(xiàn)選擇。實驗3為結(jié)合經(jīng)驗的分層神經(jīng)網(wǎng)絡(luò)模型,在這里,上層策略與底層策略都由神經(jīng)網(wǎng)絡(luò)實現(xiàn)。


端到端模型、混合編程模型與分層模型
實驗結(jié)果顯示:藍色線條為端到端的模型,效果最差;紅色為網(wǎng)絡(luò)加規(guī)則的混合模型一開始上升很快,且始終優(yōu)于藍色;綠色線條為分層模型,最初低于紅色,但在后續(xù)訓(xùn)練過程中逐漸變成收益最高的一條曲線。驗證了復(fù)雜問題中引入人工經(jīng)驗進行混合編程與問題分解進行分層網(wǎng)絡(luò)訓(xùn)練的優(yōu)勢。


實驗結(jié)果對比
在過去的一年多時間里,伏羲實驗室已經(jīng)利用該框架將深度強化學(xué)習應(yīng)用于游戲產(chǎn)業(yè)。目前已在網(wǎng)易的多款自研產(chǎn)品中取得成果并上線,涵蓋MMORPG、籃球、動作及休閑等眾多品類。
下面是強化編程框架在潮人籃球這款游戲中的應(yīng)用實例。以多網(wǎng)絡(luò)的方式實現(xiàn)了籃球游戲內(nèi)的AI設(shè)計,通過流程圖實現(xiàn)attack、defense、ball
clear、free ball四個網(wǎng)絡(luò)的建模,編輯對應(yīng)的神經(jīng)網(wǎng)絡(luò),調(diào)用RL插件接口,在Web前端申請計算資源進行訓(xùn)練。
https://url.cn/5TS6ifu?sf=uri
流程圖工具建模實例
可以看到4個網(wǎng)絡(luò)的訓(xùn)練隨著機器人的狀態(tài)進行切換
https://url.cn/5hDZefB?sf=uri
流程圖工具建模實例
最終,在潮人籃球線上3V3模式中,3個AI Bot勝率達82%,2個AI與1個玩家人機合作勝率達70%。
https://url.cn/5KXsIzp?sf=uri
潮人籃球3v3
網(wǎng)易伏羲實驗室
網(wǎng)易伏羲實驗室是國內(nèi)首家專業(yè)游戲AI研究機構(gòu),成立于2017年9月,目前已有160名成員。實驗室在強化學(xué)習、自然語言處理、計算機視覺和虛擬人等方向開展學(xué)術(shù)研究及產(chǎn)業(yè)落地嘗試。愿景是“以人工智能技術(shù)點亮游戲未來”,希望運用人工智能的尖端技術(shù)為玩家營造新世代的游戲體驗,同時借助游戲平臺的海量數(shù)據(jù)和仿真環(huán)境,推動人工智能技術(shù)發(fā)展。
在本屆NeurIPS
Expo研討會上,伏羲實驗室提出了一種新的強化編程框架,能夠讓沒有任何強化學(xué)習背景知識的使用者也能將這項技術(shù)應(yīng)用到現(xiàn)實問題,促進強化學(xué)習在產(chǎn)業(yè)界落地。該框架是對傳統(tǒng)編程的增強,使用者能夠以調(diào)用一種可學(xué)習函數(shù)的方式使用強化學(xué)習,方便的實現(xiàn)邏輯規(guī)則與強化學(xué)習的混合編程及多網(wǎng)絡(luò)協(xié)同學(xué)習,該框架還提供了可視化的流程圖前端工具和集成各種算法的后端云平臺,能夠更加快捷地實現(xiàn)上述編程模式。此外,很多后續(xù)工作也在進行,如集成AutoML、支持模仿學(xué)習等。
在該框架的工作中,南京大學(xué)LAMDA實驗室的俞揚教授團隊與伏羲團隊建立了合作,并計劃將該框架用于星際AI和基于環(huán)境建模的模仿學(xué)習研究中。該框架已經(jīng)在多款網(wǎng)易的游戲中應(yīng)用,并計劃和氪信科技一起將其推廣到金融領(lǐng)域。網(wǎng)易方面表示,希望這套強化編程框架不斷改進變得更加通用,讓強化學(xué)習技術(shù)更快的在產(chǎn)業(yè)應(yīng)用中發(fā)揮價值,未來幫助用戶解決更多實際問題。同時也歡迎各界積極交流、探討,共同推進AI技術(shù)發(fā)展。