James Kobielus Charles
人工智能即將成為主流的革命性技術,而開發人員現在已擁有了可以開始使用這種技術的工具。
2018年人工智能領域最值得關注的趨勢之一,就是強化學習的逐漸成熟,已成為構建和訓練統計模型以投入實際使用的主流方法。
正如我在2018年年初時所談到的,強化學習在企業人工智能項目中扮演著越來越重要的角色。該技術已經突破了傳統的機器人、游戲和仿真應用領域,在IT運營管理、能源、醫療保健、商業、運輸和金融等領域的前沿人工智能應用中也大展身手。它甚至成為社交媒體、自然語言處理、機器翻譯、計算機視覺、數字助理等新一代人工智能解決方案不可或缺的組成部分。
為了加強強化學習算法在企業人工智能中的應用,開發人員需要用到在這些項目上進行協作以及將得到的模型部署到生產環境中的工具。在這方面,業界最近出現了一些重要的應用案例說明,提供給強化學習人工智能計劃的開源工作臺、庫和Devops流水線已經成熟。
迭代強化學習開發工作臺
不斷發展的強化學習正悄悄地滲透到我們的生活中——通過我們認為理所當然的主流應用(比如多人在線游戲),或者通過非常前衛的應用(比如機器人),以至于我們甚至意識不到該技術正在悄悄地滲透到主流中。強化學習代理已經達到了能夠像超人那樣玩游戲,例如開放人工智能五子棋比賽。
開發人員可以利用越來越多的開源強化學習框架來進行游戲和機器人開發,這包括OpenAI的Roboschool、Unity技術公司的機器學習代理,以及英特爾的Nervana教練。還可以使用能夠應對各種挑戰的開源強化學習框架。例如,谷歌的TensorFlow代理支持高效的分批強化學習工作流,UC Berkeley的Ray RLLib提供了一個靈活的基于任務的編程模型,用于在TensorFlow和PyTorch中開發基于代理的強化學習應用程序。
很多人工智能開發人員的建模工具包所缺少的是一個快速的迭代強化學習工作臺,它集成了現有的人工智能框架,并且能解決很多建模和訓練難題。對此,谷歌最近發布了Dopamine,這是一個基于TensorFlow的框架和代碼庫,用于在Python 2.7中快速迭代強化學習算法原型。Dopamine在GitHub的“最酷開源項目”內部排名中名列前茅,它支持以下核心功能:
● 根據新的研究思路來開發強化學習實驗:Dopamine包括緊湊的、詳細說明的Python代碼,其重點放在Arcade學習環境(一種成熟而且容易理解的基準方法)上,以及在單個GPU環境中執行的四個基于價值的代理:Deep Q-Networks(DQN)、C51、一個精心設計的Rainbow代理的簡化版本,以及Implicit Quantile網絡代理。
● 從強化學習實驗中獲得可再現的結果:Dopamine包括完整的測試套件,并且為利用Arcade學習環境實現了標準的經驗框架。
● 根據已建立的訓練方法對強化學習結果進行基準測試:Dopamine包括由Arcade學習環境支持的、在60個游戲中所提供的4個代理的所有訓練數據,可作為使用我們的框架所訓練的代理的Python文件,也可以作為JSON數據文件,以便與其他框架下訓練過的代理進行比較,還包括一個網站,用于為所有提供的代理在所有60個游戲中進行可視化訓練。
● 為強化學習開發團隊使用框架時提供加速器:Dopamine包括一組colabs,闡明怎樣在框架中創建和訓練強化學習代理,以及怎樣進行基準測試。它還包括可下載的訓練深度網絡、原始統計日志和用于Tensorboard繪圖的Tensorflow事件文件。
模塊化強化學習代理開發庫
強化學習的進展依賴于構建能夠在各種真實場景中自主采取最佳行動的智能代理。
人工智能研究人員正在不斷推動智能和分布式代理(由訓練過的強化學習模型提供支持)的發展。例如,UC Berkeley最近發表了關于分布式代理環境中加速循環迭代強化學習的研究結果。這涉及到一次訓練一個代理模塊,而其他代理模塊遵循簡單的腳本行為,然后環境“用神經網絡策略替換另一個模塊的腳本組件,在先前訓練過的模塊保持不變的情況下繼續訓練。”
為了加速強化學習優化智能人工智能機器人的開發,谷歌的DeepMind小組最近開源了TRFL,它是用于在TensorFlow中開發強化學習代理的一個新構件庫。它包括算法、損失函數和其他強化學習操作,DeepMind的研究工程團隊已經在內部成功地將其應用于強化學習代理(例如,DQN、深層確定性策略梯度(DDPG)和重要性加權參與者學習器體系結構)。使用一致的API,這些構建模塊可以用來構建新的強化學習代理。
DeepMind還開源了完整的強化學習代理實現,包括表示價值和策略的深度網絡計算圖等組件,以及環境的學習模型、偽獎勵函數和重放系統等。這樣做是為了幫助強化學習社區更快地識別和修復這些代理中的漏洞,同時提高使用這些代理的強化學習項目在社區中的結果可再現性。DeepMind將繼續維護、添加新功能,并接收社區對TRFL庫的貢獻。
端到端強化學習Devops流水線工具
強化學習建模通常是脫離生產應用完成的,只有經過訓練的模型在模擬器中經過驗證后才被提供給操作環境。
隨著強化學習成為更多人工智能應用的基礎,建模框架應不斷發展才能處理更多的實時在線應用的內嵌訓練。與其他人工智能方法一樣,越來越多的強化學習項目集成到了驅動數據準備、建模、訓練和其他流水線工作負載的Devops流水線中。
考慮到這一點,臉書最近開源編輯了強化學習工具包Horizon,它被設計為部署到人工智能Devops流水線中。可以通過GitHub下載開源Horizon代碼。Horizon結合了強化學習技術,臉書一直在運營中使用該技術開發可擴展的生產應用程序。例如,這一社交媒體巨頭將強化學習用于生產人工智能應用程序,預測用戶最可能對哪些通知作出響應,個性化臉書的虛擬消息助理的建議,以及根據用戶的位置或者他們的無線信號強度來決定要傳輸給用戶的視頻質量等級。
Horizon是一個端到端的流水線,用于以強化學習為中心的人工智能項目,這些項目的數據集非常龐大,來自目標應用程序的反饋循環很慢,并且由于涉及到生產應用程序,因此強化學習實驗失敗的商業風險很高。它支持在高維離散和連續動作空間中的強化學習建模。它包括離散動作空間具有競爭結構的DQN的實現,以及連續動作空間DDPG的實現。它包含自動化工作流程,用于在多GPU分布式環境中訓練流行的深度強化學習算法,以及用于在單機上進行CPU、GPU和多GPU訓練。它包括用于數據預處理、特征規范化、分布式訓練和優化服務的實用工具。
為滿足臉書的規模要求,Horizon被設計成支持強化學習建模和應用程序訓練,其數據集可能具有數百甚至數千種特征類型,每一特征類型都具有獨特的統計分布。它使用Spark進行數據準備和降維,使用PyTorch框架進行強化學習建模和訓練,使用Caffe2人工智能框架和開放神經網絡交換(Open Neural Network Exchange)進行強化學習建模,以便應用于數千種生產環境中。
為了減少將次優強化學習模型部署到生產應用程序中的風險,Horizon采用了一種稱為“反事實策略評估”的功能,該功能支持數據科學家在部署經過訓練的模型之前離線評估強化學習算法的性能。如果沒有這種自動化功能,開發人員需要進行昂貴而且耗時的A/B測試,才能在無數的選擇中搜索出最優強化學習模型和超參數。在強化學習訓練工作流程中,Horizon使用逐步重要抽樣估計器、逐步直接抽樣估計器、逐步雙穩健估計器和順序雙穩健估計器等反事實策略評估方法對訓練過的模型進行評分。
為了支持對強化學習算法的性能進行測試,臉書已經將Horizon與流行的基準測試庫OpenAI Gym的Cartpole和Pendulum環境以及定制的Gridworld環境集成在一起。Horizon包括用于對數據預處理、特征規范化和其他Horizon強化學習建模、訓練和服務特性進行單元、集成和性能測試的工具。它評估具有不同配置的離散動作DQN、參數動作DQN和DDPG模型——例如使用Q學習與SARSA進行對比,有或者沒有雙重Q學習等,以確保強化學習模型的魯棒性和正確性。它對目標平臺的預構建Docker鏡像執行集成測試。
可以采用這些工具來開始實際操作學習
如果你是人工智能開發人員,可能對這里列出的很多算法還不太熟悉。然而,你可能已經開始將強化學習引入到了開發項目中,至少嘗試使用了開源工具。
2019年,我們將看到,人工智能行業會把應用最廣泛的強化學習框架整合到工作臺中。隨著卷積和循環神經網絡在有監督學習環境下的應用,主流開發人員將更加熟悉這些技術。
不久之后,大多數人工智能開發工作流程將無縫地把強化學習與有監督和無監督學習結合在一起,為生產企業應用中更復雜的嵌入式智能提供支持。
James Kobielus是SiliconAngle Wikibon的人工智能、數據科學以及應用程序開發首席分析師。