易用、可擴展,算法齊全!阿里強勢開源的DL算法庫厲害在哪?

大數據文摘 發佈 2020-03-16T04:36:25+00:00

大數據文摘出品2002年,當19歲被稱為「不敗少年」的李世石獲得自己第一個世界冠軍時,他有想過無數種引退方式,但或許唯獨沒有想到的方式是,引退賽前,在家用兩張NVIDIA 的 GeForce GTX 1080 Ti 顯卡與 AI 程序對弈十日。

大數據文摘出品


2002年,當19歲被稱為「不敗少年」的李世石獲得自己第一個世界冠軍時,他有想過無數種引退方式,但或許唯獨沒有想到的方式是,引退賽前,在家用兩張 NVIDIA 的 GeForce GTX 1080 Ti 顯卡與 AI 程序對弈十日。


接著引退賽當日與另一 AI 程序對弈,第一局被讓兩子,因對手誤判僥勝,第二局未讓子,敗,第三局被讓兩子,敗,宣告退役。


這一切的發生都只因一個在 2010 年才創立名為 DeepMind 的公司,將一種叫做 「強化學習」 的技術引入了圍棋,這個在西方人看來充滿東方古老智慧的遊戲。


除了圍棋,強化學習還在各種遊戲,諸如DOTA,星際爭霸,擊敗人類,甚至還讓 AI 學會開車,疊衣服,解魔方。


然而相比起其他領域,強化學習並沒有一個非常統一的學習框架,以及對入門者友好的學習資料。


在此次因為疫情,延遲復工,延期開學的情況下,我們聯合阿里巴巴PAI團隊一起推出了,基於其團隊開源的強化學習算法庫 EasyRL 的三期強化學習入門公開課,供大家在線學習。


阿里巴巴開源強化學習算法庫 EasyRL


近年來,研究人員藉助深度神經網絡與傳統強化學習算法的結合,在包括圍棋,視頻遊戲,NP難組合優化問題等多種高維度複雜環境取得了前所未有的成功。


與此同時,阿里巴巴PAI團隊支持集團各業務部門在搜索、推薦、多輪會話等場景上應用強化學習算法,取得了豐碩的業務成果,並沉澱下 EasyRL 這一易用、可擴展,且算法種類齊全的強化學習算法庫。


在電商領域的搜索推薦場景,傳統監督學習算法往往優化的單個page view (PV) 的點擊率(CTR),轉換率(CVR)等。阿里團隊在若干場景應用強化學習,提升整個search session粒度的指標。


例如在下圖所示的智能交互場景,阿里團隊將用戶視為環境,智能體在每個PV決策應該推薦什麼樣的「提示」給用戶。動作空間就是候選「提示」的集合,每種「提示」對應當前商品類目的各種屬性,旨在引導用戶快速明確購物需求,避免用戶因為找不到心儀的商品而流式。



具體地,阿里團隊應用DQN算法學習出選擇「提示」的策略,在該場景分別取得了相較於規則和監督學習算法20%和5%的CTR提升,給用戶帶來了更好的購物體驗,從而也進一步提升了轉化率。(具體建模方式等可以參考阿里團隊的SIGIR demo: 《AliISA: Creating Interactive Search Experience for E-commerce Platform》)


在實踐中,強化學習相較於監督學習對工程師往往提出了更高的要求,包括但不限於:


  • 監督學習往往只需要在計算圖中描述目標函數並選擇優化器,強化學習需要描述策略,值函數,目標的估計等等多個模塊。
  • 在分布式訓練的設定下,監督學習僅需要在進程間交換同質的梯度和參數,而強化學習還需要傳遞格式更複雜的樣本(即(state, action, reward, next state)元組組成的序列)。
  • 不同流派的強化學習算法在不同場景中往往各有優劣。工程師往往需要一套較為齊全的算法庫來嘗試和驗證不同算法。


EasyRL針對上述困難與挑戰而設計,在易用性上滿足用戶能一鍵運行各種算法(包括單機和分布式設定),同時提供清晰的接口和扁平的類層次關係方便開發者復用已有模塊來定製新算法。


EasyRL提供的算法種類全面,且覆蓋單機和分布式的實現,下面通過一個表格顯示與其它開源庫的對比。


o:表示支持該功能;x:表示不支持該功能


對上述開源強化學習庫調研發現,部分項目缺乏持續更新,例如RLLab、Tensorflow Agents;部分項目算法種類過於單一,例如Dopamine 僅提供了 DQN(Rainbow)算法,而PARL、TensorForce沒有提供Rainbow的實現,RLGraph則是一個meta graph的實現,開發複雜並且缺少DDPG、模仿學習等。


另一些項目則缺少良好分布式的實現,例如OpenAI的Baselines沒有actor-learner的架構;包括coach,PARL沒有對Ape-X的支持。


部分項目僅是op層面的優化工作,例如Uber-research/ape-x和Trfl。


Ray RLlib是功能全面且分布式性能優異的項目,但是不支持任意擴展leanrer進程的數量,在樣本產出速度非常快的場景會導致learner成為瓶頸。


三次課搞定強化學習,EasyRL 從入門到實踐


疫情期間,大數據文摘聯合阿里雲開發者社區,邀請到EasyRL開源項目的主要開發者王楨博士,為大家介紹課程內容首先介紹 EasyRL 的一些特性,包括其基本設計理念,以及與其他算法庫的比較。接著介紹強化學習基礎的馬爾可夫決策過程,包括它的定義、例子、還有值函數與貝爾曼方程,讓大家了解強化學習的基本思想。之後在此基礎上再接觸實際的強化學習算法,包括基於值的方法,策略梯度方法等。


最後,再基於 EasyRL 的示例程序,來實戰了解 EasyRL 的設計結構,以及如何用其做二次開發,包括如何使用各種強化學習算法。更進階一些,還會教大家了解 EasyRL 的 Actor-learner 架構,還有如何來做分布式的強化訓練。


祝大家在疫情期間來用這次公開課充實自己,或者以此為契機接觸強化學習的應用與研究。


課程內容及直播時間


《EasyRL強化學習入門與實踐》


第一課


1. EasyRL簡介

2. 馬爾可夫決策過程(定義,例子,動態規劃)


直播時間:3月17日(周二) 19:00-20:00


直播傳送門:

https://study.163.com/course/courselive/1280452094.htm?share=2&shareId=10146755


第二課


1. 馬爾可夫決策過程(值函數與貝爾曼方程)

2. 強化學習算法(基於值的方法,策略梯度方法,算法歸類)


直播時間:3月18日(周三) 19:00-20:00


直播傳送門:阿里雲開發者社區

https://developer.aliyun.com/live/2287


第三課


1. 強化學習實踐(demo詳解,EasyRL的設計,如何二次開發)

2. 分布式強化學習(Actor-learner架構,EasyRL完全基於TensorFlow的設計與實現)


直播時間:3月19日(周四) 19:00-20:00


直播傳送門:阿里雲開發者社區

https://developer.aliyun.com/live/2288


關於講師



報名方式


掃碼添加小助手alpha微信(微信ID:xiniuedu5),我們將在直播群詳細通知開課信息,還可獲得課程福利哦。通過上方連結亦可直接觀看直播~


關鍵字: