NASA計劃後,阿裏又透露了在強化學習領域的布局
日前,阿裏啟動了一項代號“NASA”的計劃,動員全球兩萬多名科學家和工程師投身“新技術戰略”,預計麵向未來20年組建強大的獨立研發部門,建立新的機製體製,儲備核心科技。而就在不久前,阿裏的強化學習技術剛剛入選MIT評選的2017全球十大突破技術榜單,科技媒體“機器之心”的記者最近對阿裏巴巴研究員徐盈輝進行了專訪,請他詳細介紹了阿裏在該技術領域的思考、布局以及對未來的判斷。
以下是報道全文:
2013 年,DeepMind 在 NIPS 大會上發表的一篇深度強化學習的文章,一舉驚豔了學術界。2016 年 1 月,AlphaGo 在一場圍棋大賽中擊敗李世乭吸引全世界的目光,其背後的強大武器正是深度強化學習技術。同年年底,2016NIPS 最佳論文獎也頒給了解決深度強化學習泛化能力較弱問題的論文。
隨著深度學習的突破性進展,也促使強化學習的研究前景,重新獲得了產業各界的關注。2016 年 8 月,在 ACM(國際計算機學會)會刊一篇名為《強化學習的複興》的文章中提到,「DeepMind 的成功已經吸引了學術界與商業界對 DeepMind 的方法背後的人工智能領域的興趣。」而相對於 DeepMind 和學術界看重強化學習的前沿研究,阿裏巴巴這類公司則開始將焦點放在推動「強化學習」技術輸出及商業應用。
在雙 11 推薦場景中,阿裏巴巴使用了深度強化學習與自適應在線學習,通過持續機器學習和模型優化建立決策引擎,對海量用戶行為以及百億級商品特征進行實時分析,幫助每一個用戶迅速發現寶貝,提高人和商品的配對效率。比如,利用強化學習將手機用戶點擊率提升了 10-20%。阿裏巴巴的這一技術是如何成型的,強化學習在其中扮演了什麼角色?阿裏巴巴的強化學習又有哪些獨到之處?帶著這些問題,機器之心專訪了阿裏巴巴研究員徐盈輝。
徐盈輝,阿裏巴巴研究員,阿裏巴巴搜索事業部搜索排序和基礎算法的負責人,日本豐橋技術科學大學計算機科學博士。他規劃和設計了搜索新一代的排序框架體係,建立了集 offline-nearline-online 三位一體的電商平台個性化搜索體係,推動和完成了搜索實時在線計算體係的規模化和平台化,在技術的先進性和業務的推動上都取得了突破性成果。
Q:可否介紹一下,阿裏在強化學習技術方向的團隊、研究重點及技術特點?
徐盈輝:強化學習作為一種有效的基於用戶與係統交互過程建模和最大化過程累積收益的學習方法,已經在很多技術驅動的業務團隊中獲得了深入研究和探索,並且在一些具體的業務場景中得以大規模應用。在阿裏巴巴搜索事業部,搜索和推薦算法團隊的研究重點是,電商平台下的智能化流量投放係統,消費者權益智能化分發係統。其技術特點是運用多種機器學習技術,通過用戶、query、商品以及對商家的理解,來提升搜索/推薦平台的流量投放效率。
阿裏巴巴 iDST(Institute of Data Science and Technologies)團隊的研究重點是 multi-media 技術平台,針對平台端的多媒體內容、語音、圖像、視頻等,運用深度學習、強化學習等技術來提供語音識別、智能客服、圖片標注分類、實拍搜索、視頻分析等服務。
阿裏雲大數據孵化團隊,研究重點是數據中心的智能化運維和調度算法,針對傳統行業以及政府基於大數據技術,降低生產成本和提升服務效率。技術特點是依托阿裏雲的 ET 智能算法平台,快速實現智能化解決方案。
菜鳥網絡的算法技術團隊則是圍繞物流鏈路的各個節點,供應鏈、倉配、末端網絡等,通過機器學習和運籌優化等技術手段來降低商家物流成本和提升消費者物流服務體驗。
Q:強化學習技術主要應用在哪些業務方向?在阿裏零售網絡包括物流、用戶行為分析等方麵扮演著怎樣的角色?
徐盈輝:這個問題我回答的不一定全麵,就我個人理解和判斷,強化學習技術在阿裏平台上能夠施展手腳的業務方向還是有不少的。互聯網環境下,尤其是在移動互聯網中,人機交互的便捷,碎片化使用的普遍性,頁麵切換的串行化,用戶軌跡的可跟蹤性等都要求我們的係統能夠對變換莫測的用戶行為以及瞬息萬變的外部環境進行完整地建模。平台作為信息的載體,需要在與消費者的互動過程中,根據對消費者(環境)的理解,及時調整提供信息(商品、客服機器人的回答、路徑選擇等)的策略,從而最大化過程累積收益(消費者在平台上的使用體驗)。而基於監督學習時代的信息提供手段,缺少有效的探索能力,係統傾向於給消費者推送曾經發生過行為的信息單元(商品、店鋪或問題答案)。但是真正的智能化搜索和推薦,比如客服機器人,作為投放引擎的 agent,需要有決策能力。這個決策不是基於單一節點的直接收益來確定,而是當作一個人機交互的過程,把消費者與平台的互動看成是一個馬爾可夫決策過程,運用強化學習框架,建立一個消費者與係統互動的回路係統,而係統的決策是建立在最大化過程收益上,來達到一個係統與用戶的動態平衡。
Q:能否介紹一下阿裏是如何通過持續機器學習和模型優化建立決策引擎,對海量用戶行為以及百億級商品特征進行實時分析,幫助每一個用戶迅速發現寶貝、幫助商家帶來適合買家?
徐盈輝:搜索技術體係演進至今天,基本形成了 offline-nearline-online 三層體係,分工協作保證電商平台既能適應日常平穩流量中實現穩定有效的個性化搜索以及推薦,也能夠去滿足電商平台對促銷活動的技術支持,實現在短時高並發流量下的平台收益最大化。搜索的智能化元素注入到新一代電商搜索引擎的各個環節,通過批量日誌下的 offline 建模,到 nearline 下增量數據的 retraining 和 fine tuning 的無縫融合,解決了 NP 環境下的 data shift machine learning 能力問題,基本實現了搜索體係從單純依靠機器學習模型的高效預測進行流量投放,到從不確定性交互環境中,探索目標的在線學習,預測和決策能力進化。
2014 年雙 11 通過排序特征實時,引入商品實時轉化率,實時售罄率模型進入搜索 match 和 rank,讓售罄商品額無效曝光大幅減少,並實現了成交轉化的大幅提升;2015 年雙 11 推出雙鏈路實時計算體係,在特征實時的基礎上,引入排序因子的在線學習,預測,以及基於多臂機學習的排序策略決策模型,在預熱期和雙 11 大幅提升了搜索流量的成交轉化效率;2016 年實時學習和決策能力進一步升級,實現了排序因子的在線深度學習,和基於強化學習的排序策略決策模型,從而使得淘寶搜索的智能化進化至新的高度,並在今年的雙 11,分桶測試效果表明,成交金額取得了近 20% 的大幅提升。
Q:技術輸出方麵,雙十一也是一個典型案例,能否簡單介紹一下背後這套搜索係統的技術路徑是怎樣的?強化學習和深度學習在搜索中的應用(算法和模型)帶來了哪些提升?都有哪些突破性成果?
徐盈輝:運用機器學習技術來提升搜索/推薦平台的流量投放效率是目前各大互聯網公司的主流技術路線,並仍在隨著計算力和數據的規模增長,持續的優化和深入。針對阿裏巴巴搜索體係的實時化演進,是什麼驅動我們推動搜索的智能化體係從離線建模、在線預測向在線學習和決策方向演進呢?主要有以下三點:
1.眾所周知,淘寶搜索的具有很強的動態性,寶貝的循環擱置,新賣家加入,賣家新商品的推出,價格的調整,標題的更新,舊商品的下架,換季商品的促銷,上下架,降價,寶貝圖片的更新,銷量的變化,賣家等級的提升,商品競爭程度的提升等,都需要淘寶的商品搜索引擎在第一時間捕捉到變化,並及時反映到索引結構中的相應信息單元,而在最終的排序環節,這些變化也需要及時融入匹配和排序,帶來排序的動態調整。
2.從 2013 年起,淘寶搜索就進入千人千麵的個性化時代,搜索框背後的查詢邏輯,已經從基於原始 Query 演變為【Query+user 上下文+location+time】,搜索不僅僅是一個簡單根據輸入而返回內容的不聰明的「機器」,而是一個能夠自動理解,甚至提前猜測用戶意圖,並能將這種意圖準確地體現在返回結果的聰明係統。
這個係統在麵對不同的用戶輸入相同的搜索語句時,能夠根據用戶的差異,展現用戶最希望看到的結果。正如同人的記憶是有時效性的,我們有理由相信:越近的數據能夠越準確地預測下一時刻,如用戶的興趣偏離,商品質量動態變化。在我們的環境下,用戶的數據和商品的數據會產生一個聯動,既對用戶的興趣進行實時刻畫,而用戶對商品的偏好累計會造成商品表現的變化,這些變化通過對商品的實時計算,又會反饋給更多的用戶。變化是時刻發生的,商品在變化,用戶個體在變化,群體、環境在變化,個體和群體的隸屬關係也在動態變化。在搜索的個性化體係中合理的捕捉變化,正是實時個性化要去解決的課題。
基於監督學習時代的搜索和推薦,缺少有效的探索能力,係統傾向於給消費者推送曾經發生過行為的商品或店鋪;這類問題。真正的智能化搜索和推薦,需要作為投放引擎的 agent(筆者注:智能體)有決策能力,這個決策不是基於單一節點的直接收益來確定,而是當作一個人機交互的過程,消費者與平台的互動看成是一個馬爾可夫決策過程,運用強化學習框架,建立一個消費者與係統互動的回路係統,而係統的決策是建立在最大化過程收益,來達到一個係統與用戶的動態平衡。
3.在 2016 年雙 11,搜索技術和算法團隊通力合作,首次大規模實現在線深度學習和強化學習等前沿技術,經過不斷的嚐試與改進,找到適合在搜索場景下可有效大規模應用的方案,對搜索排序在策略選擇上做出了重大的升級,並取得了非常顯著的成果。在搜索排序的 gmv 分桶總共提升高到 20+%。
Q:能否詳細講解一下,在 Reward 函數中加入先驗知識勢函數的原因和作用,以及和不加入勢函數的比較結果?
徐盈輝:首先需要理解獎賞函數 R 的本質是什麼?
獎賞函數的本質是一個狀態和動作之間的數值關係。獎賞塑性函數的引入,其本質是在原有的獎賞函數中引入一些先驗知識,加速強化學習算法的收斂,勢函數相當於定義了學習任務的 subgoal(筆者注:子目標),引導學習算法完成 subgoal,進而完成整個學習任務的 goal。加入先驗知識主要是為了加速學習過程。比方說,如果用強化學習求解迷宮問題,可以將每個狀態所在位置與出口位置的 Manhattan Distance(筆者注:曼哈頓距離,幾何學用語,用以標明兩個點在標準坐標係上的絕對軸距總和)作為該狀態上的勢函數,引導 agent 往更靠近出口的方向走。
Q:訓練 DQN 的一個問題是收斂較慢甚至不收斂,在訓練強化學習模型時,阿裏是如何克服這個難點的?
徐盈輝:如何把深度強化學習在業務場景中調通並達到要求,在某種程度上講是個手藝活。相比於監督學習,需要分析的變量相對複雜,要考慮狀態變量、策略空間、獎賞函數等多個環節。強化學習是一個機器學習領域的重要分支,隨著 DeepMind 的 AlphaGo 的一炮打響,業界興起了強化學習研究熱潮,任何問題都希望用強化學習這把個利刃砍一刀,不管問題是不是適用,自己實現的強化學習邏輯是不是正確,強化學習在整個算法邏輯層中的作用是不是顯著,學習到的策略是不是到最優,有沒有收斂,對於這一係列核心的問題鮮有關注。隻關注最終的一個效果,實際上是有違嚴謹的科學精神的。在 2016 年 NIPS 大會上,John Schulman 給出一係列技巧,首先通過問題簡化來驗證強化學習實現邏輯的正確性,將訓練過程中的關鍵變量可視化出來加以觀察,包括狀態的分布、狀態轉移分布、值函數變化。
另外強化學習訓練過程中超參數的設置也是至關重要的,比方說 Actor-Critic 方法,如何設置合理 actor 網絡和 critic 網絡的學習率,一般原則是 actor 網絡學習率相比於 critic 網絡的學習率來的小。獎賞函數的初始化對最後的收斂速度也會有不小的影響。狀態空間的歸約、Reward 函數的 scale 化、策略迭代過程中,也需要有效控製策略漂移問題等等。另外就是,合理的利用基於 Replay Buffer 的 Sampling 策略和迭代訓練的方式。Sampling 策略的主要目的是打破由於樣本的關聯性導致的策略尋優方向陷入 Local Minima(筆者注:局部極小)。另外通過幾個改進的 DQN 算法,比方說,DDQN 方法通過引入兩個 Q-network,一個用於選擇動作,一個用於評估動作,交替執行,解決 upward-bias(筆者注:向上偏誤)問題,這樣犯錯的概率就能大幅下降。
Q:用戶的哪些行為與數據會被用於模型的訓練?這些行為是如何被抽象成訓練集的?
徐盈輝:用戶在整個進入淘寶平台後的主動行為,輸入、Query、點擊、收藏、加購、購買、評論等都會作為基本的 feedback signal(筆者注:反饋信號),通過分析這些不同類型的 feedback 與平台長期優化目標的關係來刻畫 Reward 函數(筆者注:獎勵函數),而行為對象的 attributes(用戶最近點擊的商品所攜帶的特征(品牌、店鋪、類目、價格等)和用戶長期的偏好特征)作為狀態會成為表征強化學習中狀態的元特征,通過深度學習實現狀態空間的參數化表示,對於智能體策略空間則通過日誌埋點係統回流至實時數據分析和訓練引擎,訓練數據組織則按照馬爾科夫決策過程的數據結構來組織,對於 off policy(筆者注:離策略)的強化學習模式,算法模塊通過將數據組織成【s,a,r,s】】(當前狀態,策略,獎賞信號,下一個狀態)四元組形式,即可作為強化學習的訓練數據,輸入給訓練模塊;對於 on policy(筆者注:在策略),比方說 SASAR 的學習模式,算法模塊將數據組織成【s,a,r,s】,a】】(當前狀態,策略,獎賞信號,下一個狀態,下一個策略)五元組形式,輸入 DQN 訓練模塊。
Q:阿裏用於訓練強化學習係統的硬件資源、訓練時間等情況是怎麼樣的?
徐盈輝:實戰型強化學習係統必然要求擁有一個能夠快速收集的 feedback,在線學習能力的實時計算引擎,從而能有效評估策略改進效果。阿裏從 2013 年就開始著力研發基於 streaming 計算引擎的在線學習平台,發展至今天,已經初步形成了規模化的基於 Flink 計算引擎的流式智能化算法引擎,能夠在秒級別完成數據采集、分析和訓練,在線部署預測。這個端到端的大規模在線深度強化學習任務在 2016 年雙 11 上,共處理日誌量近 200 億,處理消息量超三千億,流式計算平台處理峰值超千萬 QPS(筆者注:每秒查詢率),實現 24 小時不間斷無延遲運轉,在線策略改進頻次高達幾百萬次。
Q:能否談談目前阿裏訓練好的強化學習係統應用到新任務的泛化能力?
徐盈輝:搜索事業部的基礎算法團隊依托於 Flink 社區,自主研發了 Blink 流式計算引擎,並在此之上開發了稱之為「Porsche」的大規模分布式在線學習算法框架,並基於此算法框架,自主研發了算法組件庫 ai4b。目前主流的深度學習模塊,DNN、CNN、RNN(筆者注:分別為深度神經網絡、卷積神經網絡、循環神經網絡)以及強化學習模塊的基本功能組件都開發完畢並投入應用,所開發的 DDPG 和 TRPO 算法適用於大規模連續狀態空間,連續 action 空間下的強化學習任務,而 A3C 和 DQN 算法適用於大規模連續狀態空間和離散策略空間下的強化學習任務。
Q:強化學習需要強大的深度學習網絡的支持,目前阿裏的深度網絡達到了多少層?
徐盈輝:首先我想指出用深度網絡去支撐強化學習隻是一種技術手段而已,其核心目的是為了加強對於強化學習本體的輸入狀態和策略空間的更有效表達,而層數與參數空間和樣本規模是有關係的。對於大規模連續狀態,連續 action(筆者注:行動)空間下的 Q-learning,通常是通過 embedding(筆者注:嵌入)方式進行映射,而低維空間下線性組合方式會導致優化過程陷入 Local Minima,因此會考慮通過高階非線性映射來實現狀態表達和策略表達的交叉映射效果,從而有效解決局部最優解的問題。
Q:最近 GAN(生成對抗網絡)與強化學習結合起來做序列形成是一個熱點,您怎麼看這個算法的發展前景?阿裏在 GAN 這個算法方麵有相關研究與進展嗎?
徐盈輝:GAN 最吸引我的是它的係統性學習思想,未來的機器學習領域應該是需要更多的係統化思考的專業人士,我把它稱之為 Systematic Machine Learning(筆者注:係統性機器學習),為什麼這麼說呢,機器學習的三大研究領域,非監督學習、監督學習、強化學習,就像 Yann LeCun 在 2016 年 NIPS 大會上提出的「蛋糕」比喻,把我們需要的預測信息類比成蛋糕,認為強化學習是上層的櫻桃,每個 sample(筆者注:樣本)隻包含很少的信息,而監督學習則是蛋糕外層的糖衣,每個 sample 要包含更多的信息,無監督學習則是剩下來的蛋糕主體,每個 sample 包含的信息非常多(數百萬 bit)。同理,GAN 的精妙之處是能很好把這三個大領域的技術體係完美的結合起來。非監督學習長期受困於無法形成基於有效目標的評估體係和迭代優化方案,而監督學習受困於標注樣本的匱乏和 bias(筆者注:偏置),而 GAN 的思想可以將強化學習作為將非監督學習和監督學習之間橋接的技術手段,非監督學習得到的 Representation Model(筆者注:表征模型)運用到監督學習網絡中去評估並將結果通過 Policy Gradient(筆者注:策略梯度算法)方式回傳非監督學習的迭代優化過程中;不妨用 Actor-Critic 體係來闡述 GAN 的訓練思想,Actor-model 在某種意義上,我們看成是一個從 state(筆者注:狀態)生成 action(筆者注:行動)的 Generative Model(筆者注:生成模型),而將 Critic-model 看成是基於狀態-策略輸入下的 Q 值回歸網絡的判別式過程,整個數據理解和建模過程就通過這樣的係統新運作方式來使得生成式模型更好地去發現「未知」世界中的類 True Positive 樣本,而判別式模型也能更好地從逐步完成一個個困難樣本的判別來提升模型魯棒性。阿裏巴巴搜索事業部基礎算法團隊也在積極嚐試利用 GAN 思想來解決我們的業務問題,並在傳統的 Learning to Rank 算法和推薦算法,以及 OCR 識別領域重取得了不錯的實驗性結果。
Q:基於深度學習和強化學習的搜索和推薦算法,在實際的推薦和客服場景中還有哪些創新型應用?
徐盈輝:「強化學習」技術的應用場景廣泛,市場空間巨大,從遊戲 AI、圍棋博弈、自動駕駛汽車、機器人控製,到電商推薦、工業智能製造、新能源發電、調度管理,都可以找到應用的場景,去實現能夠讓機器算法像人一樣學習、思考、決策。
Q:您最近重點關注的技術點有哪些?阿裏在強化學習方向上還有哪些著重解決的問題?應用方向上會有重要突破點嗎?
徐盈輝:仍然會持續關注強化學習方向的新進展和突破,基於逆強化學習、遷移學習來更合理地刻畫獎賞函數、多智能強化學習,目前我們的研究還是停留在單智能體的強化學習,而對於電商平台,如果把我們商家,消費者都應該看成智能體,這樣就形成了一個非完全信息下的 multi-agent learning(筆者注:多智能體學習)問題,如何設計有效算法體係來實現平台智能體,用戶智能體之間的 coordination 也是一個值得考慮和研究的方向。目前阿裏在強化學習上著重解決的問題是基於新一代硬件體係和網絡環境下的大規模分布式在線機器學習框架的研發。應用方向上的會著力嚐試結合商業不完全信息環境下的多智能體強化學習,基於 GAN 算法框架下的生成式模型在搜索推薦場景下的應用。
最後更新:2017-06-20 17:33:37
上一篇:
關於盤古
下一篇:
6月20日雲棲精選夜讀:阿裏怎麼發工資?自研薪酬管理係統首次曝光
數據安全不容忽視 魔高一尺道高一丈
Quartz教程一:使用quartz
PostgreSQL upsert功能(insert on conflict do)的用法
大神帶你分分鍾超越最好結果——基於分布式CPU計算的Deeplearning4j遷移學習應用實例
Ubuntu 12.04 64-bit下安裝android 2.3.x編譯環境指南
seo優化該怎麼降低網站被K的風險?
手機實名製不是一勞永逸的防火牆
忽悠 再忽悠,關於《Sanjiva Weerawarana訪談:揭秘REST/WS-*》事相
網站盜鏈是什麼?盜鏈與廣告流量問題及如何防止
【AliExpress】大數據驅動性能優化