在化學世界的任務中應用加強學習是極具挑戰性的。按照當前加強學習技巧的要求,在化學環境中進行大量實驗是不可行的。
上海學院LAMDA侍競成、俞揚等人團隊近來發表在AAAI2019的論文,描述了在天貓這個小型在線零售平臺、同時也是一個取樣成本較高的化學環境中,借助加強學習來更好地進行商品搜索的項目。
論文地址:
她們沒有直接在天貓上訓練加強學習,而是提出了一個環境建立方式:先建立虛擬天貓(-),這是一個從歷史顧客行為數據小學習的模擬器,之后在虛擬天貓上訓練策略,不須要實物取樣成本。
據悉,本研究的貢獻如下:
為加強學習建立的-構架
在實驗中,-是從數以億計的真實天貓顧客記錄中訓練下來的。與真實天貓相比,虛擬天貓忠實地還原了真實環境的重要屬性。
該研究進一步證明,純粹在虛擬天貓上訓練的策略,通過在線A/B測試,其數學取樣成本為零,可以明顯優于傳統的監督方式在現實世界中的性能。
研究人員希望這項工作可以為在復雜化學環境中應用加強學習提供一些啟示。
據悉,-模型也早已開源:
接出來,新智元帶來這篇論文的翻譯剖析:
在化學世界應用RL為什么重要
隨著深度神經網路的融合,加強學習(RL)近來取得了許多重要進展,在游戲、機器人、自然語言處理等領域取得了好多成功。但是,關于RL在化學世界任務中的應用的研究較少,如與顧客交互的小型在線系統,這可能對用戶體驗和社會財富形成很大的影響。
小型在線系統即使甚少與RL方式相結合,但確實追求應用RL。實際上大學物理虛擬實驗平臺,許多在線系統都涉及到序列決策和延后反饋。
比如,手動化交易系統須要依照歷史指標和所有相關信息高頻率地管理投資組合,并通過剖析常年利潤仔細調整其策略。
同樣的,電子商務搜索引擎也會觀察到賣家的需求,并將排行好的商品頁面顯示給賣家,之后在得到用戶反饋后更新其決策模型,追求利潤最大化。在這期間,假如賣家繼續瀏覽,它會依照賣家的最新信息不斷顯示新的頁面。
往年的解決方案主要基于監督學習。它們難以學習序列決策和最大化常年回報。因而大學物理虛擬實驗平臺,RL解決方案十分有吸引力。
三大算法克服虛擬天貓應用RL的障礙
在這種場景中直接應用RL的一個主要障礙是,當前的RL算法一般須要與環境進行大量的交互,這須要很高的化學成本,例如實際的金錢、幾天到幾個月的時間、糟糕的用戶體驗,甚至是生命(醫療任務中)。
為了防止化學成本,RL訓練常常使用模擬器。微軟在數據中心冷卻方面的應用(Gaoand2014)就展示了一個挺好的實踐:用一個神經網路來模擬系統動態,之后通過一些最先進的RL算法在模擬環境中訓練策略。
在這個天貓商品搜索項目中,我們使用了類似的過程:構建一個模擬器,即-,之后就可以在模擬器中離線訓練策略,借助RL算法實現常年利潤最大化。
理想情況下,這樣獲得的策略在真實環境中可以同樣表現良好,或則起碼可以為更實惠的在線調優提供良好的初始化。
但是,與模擬數據中心的動態不同,模擬數億顧客在動態環境中的行為更具挑戰性。
我們處理了按照顧客策略生成的顧客行為數據。現有的模仿學習方式可以實現從數據中推導入一個策略。
行為克隆(,BC)方式(1992)主要是從狀態-行為數據中通過監督方式來學習策略。BC要求對RL任務中不滿足的演示數據進行i.i.d.假定。
逆加強學習(IRL)方式從數據小學習一個獎勵函數,之后按照這個獎勵函數訓練一個策略。IRL放松了數據的i.i.d.假定,但依然假定環境是靜態的。當環境(即天貓平臺)發生變化時,學習策略可能會失敗。上述問題促使這種方式在建立虛擬天貓時不太實用。
在這項工作中,我們通過生成顧客和生成交互來建立虛擬天貓。有搜索需求的顧客步入天貓并觸發平臺搜索引擎,這類搜索需求的分布十分復雜和廣泛。
然而,從數據庫中抽取的樣本并不能生成數據之外的顧客,進而造成最終模型的泛化程度較低。我們提出了GAN-for-on(GAN-SD)方式來生成虛擬顧客,由于我們發覺傳統的方式,如GMM和GAN,并不適宜這些高維數據。
為了生成交互(),我們提出多主體對抗模仿學習(Multi-agent,MAIL)技巧。我們可以直接在虛擬天貓中調用天貓平臺策略,但這會造成創造一個難以適應真實環境變化的靜態環境。為此,MAIL同時學習顧客策略和平臺策略。
為了同時學習這兩個策略,MAIL采用了GAIL(HoandErmon2016)的思想,使用生成對抗框架(etal.2014)。MAIL訓練一個鑒定器來分辨模擬的交互和真實的交互;區別訊號作為獎勵反饋,以訓練顧客策略和平臺策略,因而形成更真實的交互。
在生成顧客和交互后,虛擬天貓就完成了,接出來可以用于訓練平臺策略。但是,我們注意到加強學習算法的強悍程度足以過擬合虛擬天貓的不足,這意味著它可以在虛擬環境中做得挺好,但在現實中卻很差。為此,我們提出行動規范約束(Norm,ANC)來使策略規范化。
在實驗中,我們從數以億計的顧客記錄中建立了虛擬天貓,并與真實環境進行對比。我們的結果顯示,虛擬天貓成功地構建了十分接近真實環境的屬性。之后,我們借助虛擬天貓訓練平臺策略,以實現收入最大化。
與傳統的監督學習方式相比,虛擬天貓訓練的策略在真實環境下的利潤提升了2%以上,化學實驗成本為零。
接出來,本文繼續介紹虛擬天貓方式、離線和在線實驗,以及推論。
怎樣建立一個虛擬天貓?
問題描述
商品搜索是天貓的核心業務。天貓可以被視為搜索引擎與顧客交互的系統。天貓的搜索引擎負責處理對數十億商品搜索懇求的微秒級響應,而顧客對商品的偏好也豐富多樣。從引擎的角度來看,天貓平臺的工作原理如下。顧客訪問,向搜索引擎發送搜索懇求。
之后,搜索引擎對相關商品進行排序,并向顧客顯示頁面視圖(PV),對搜索懇求作出適當響應。顧客給出反饋訊號,例如買東西,之后轉入下一頁,或依據頁筆試圖或賣方自身意愿離開天貓。搜索引擎接收反饋訊號,并為下一個PV懇求作出新的決定。天貓的業務目標之一是通過優化顯示PV的策略來實現銷售量的最大化。
作為反饋訊號,例如,會受之前的PV影響的顧客行為,在優化搜索引擎策略時,將其視為多步驟決策問題,而不是單步監督學習問題,是更為合理的選擇。因而,考慮到搜索引擎作為代理,以及顧客的反饋作為相應的環境,天貓中的商品搜索是一個連續決策問題。假定顧客只記住有限數目的最新PV,這是合理的,這意味著反饋訊號僅受搜索代理的m個歷史行為的影響。
圖2:搜索引擎視角和顧客視角下的天貓搜索
注意,假若假定m=1,即顧客的反饋僅受最后一個引擎行為的影響,這就是標準馬爾可夫決策過程。
另一方面,假如我們將顧客視為agent,將搜索引擎視為環境,這么顧客的購物流程也就可視作次序決策流程。顧客對排行后的商品,也就是搜索引擎的動作作出響應。顧客的行為即反饋訊號,它會遭到近來m個PV的影響,這種PV由搜索引擎生成,并遭到來自顧客的最后反饋的影響。顧客的行為也具有馬爾可夫屬性。為顧客制訂購物新政的過程可以視為對顧客的天貓購物偏好的優化過程。
如圖2所示,搜索引擎和顧客互為彼此的環境,兩者的策略是耦合在一起的。
假如顧客只是轉向下一頁而沒有其他行為,這么負責記錄顧客特點和搜索懇求的引擎的觀察結果將保持不變。假如顧客發送了另一個懇求,或離開了天貓,記錄狀態都會發生變化。
與搜索引擎相比,顧客個人對環境常常更敏感,因而我們為顧客進行了一些非常的設計。顧客行為將遭到TA想要的以及TA聽到的內容的影響,分別用S和A表示,其中S是引擎觀察結果,即包含懇求的顧客特點,A是引擎動作,即向顧客顯示的頁面視圖。考慮到客戶的訂購意圖會隨瀏覽頁數的變化而變化,設Sc=S×A×N,其中N表示頁面索引空間。
函數定義如下:
對于搜索引擎而言,假若顧客買了東西,我們給引擎獎勵為1,否則為0。對于顧客,獎勵函數量前尚不明晰。
GAN-SD:生成顧客特點
為了建立虛擬天貓,須要首先生成顧客特點,即對包括來自Pc的懇求的用戶Uc進行取樣,以觸發交互過程。生成的顧客分布應與真實分布相像。
在高維空間中對分布進行學習很具有挑戰性。像高斯混和模型(GMM)之類的精典方式很難實現這些相像分布。而眾所周知,GAN框架可以挺好地生成接近于原始數據的樣本,并在生成圖象方面取得了巨大成功。
但是,傳統的GAN判斷器就能判斷某一實例是否來自真實世界,但缺少捕獲顧客分布構架的能力。為了生成分布而不是單個實例,我們提出了用于模擬分布的生成性對抗網路(GAN-SD),如算法1中所示。
GAN-SD算法偽代碼示意圖
與GAN類似,GAN-SD也包括生成器G和判斷器D。其中,判定器企圖通過最大化以下目標函數:
來正確分辨生成的數據和訓練數據。
而更新后的生成器則在實現以下目標函數的最大化:
借助KL分歧和熵約束,GAN-SD從真實數據小學習具有更多引導信息的生成器,而且可以形成比傳統GAN更好的分布。
MAIL:生成交互過程
通過模擬顧客策略,在虛擬天貓之間生成顧客與平臺之間的交互。本文通過基于GAIL思想的多智能體對抗模仿學習(MAIL)方式來實現這一目標。GAIL容許智能體在訓練期間與環境交互,同時獎勵功能也在不斷優化。注意,在GAIL訓練期間應當才能訪問環境。并且,訓練顧客策略須要將引擎視為未知環境或動態環境。
與在靜態環境中訓練一個智能體策略的GAIL不同,MAIL是一種面向多智能體的訓練策略,可用于訓練顧客策略和引擎策略。以這些方法得到顧客策略才能包含不同的搜索引擎策略。
因為MAIL將兩個策略一起訓練,即代理和環境,只須要歷史數據,不須要訪問真實環境。MAIL算法偽代碼如右圖所示:
實驗設定及結果
為了驗證“虛擬天貓”的療效,我們使用以下量度指標:
總營業額(TT):所售商品的單價值。
總數(TV):銷售商品的數目。
訂購頁面的訂購(R2P):形成訂購行為的PV數目占總PV的比列。
圖3:學習后的客戶分布的對比
圖4:真實天貓和虛擬天貓之間的R2P對比
本文在線實驗中采用了全部檢測方法。在離線實驗中只使用了R2P方式,由于我們沒有對顧客數目和商品價錢作出預測。了以便在真實環境和虛擬環境之間比較這種指標,我們提早在真實環境(非常是天貓網的在線A/B測試)中布署了隨機引擎策略,并搜集了相應的軌跡作為歷史數據(約4億條記錄)。本文沒有假定生成數據的引擎策略,也就是說,在建立虛擬環境時,可能采用的是任何未知的復雜模型。
表1:虛擬數據和真實數據之間的KL分歧
表2:采用行為克隆和MAIL算法的模擬器隨時間的R2P性能提高
推論
為了解決天貓網站中面向商品搜索的加強學習的高成本問題,本文提出了一個“虛擬天貓模擬器”,按照歷史數據進行訓練的。首先通過GAN-SD生成虛擬顧客,并通過MAIL生成虛擬交互過程。研究結果表明,“虛擬天貓”能夠忠實反映真實環境中的特點。
本文提出通過ANC策略訓練性能更高的平臺策略,讓新的策略具備比傳統監督學習方式更好的真實環境下的性能。“虛擬網店”具備實際應用意義,也富有挑戰性。希望這項工作才能為將加強學習應用于復雜數學任務提供一些啟示。
開源模型:
開源項目提供了以天貓的真實數據為基礎訓練的虛擬天貓模擬器。在天貓上,當顧客輸入一些查詢時,推薦系統將按照查詢和顧客配置文件返回一個商品列表。該系統預計將返回一個良好的列表,讓顧客有很高的可能性點擊那些商品。
使用模擬器,用戶可以像訪問真實的天貓環境一樣訪問“實時”環境。每次生成一次虛擬顧客,虛擬顧客啟動查詢,推薦系統須要返回一個商品列表。虛擬顧客將決定是否單擊列表中的商品,類似于真實顧客。
本次開源的虛擬天貓模型,用于推薦系統研究和加強學習研究(參見下邊的監督學習和加強學習用例)。
目前,我們提供V0模型(-v0),該模型是在中等規模的匿名天貓數據集進行訓練的。更小型的模型正式發布。
安裝
pip?install?-e?.
模擬環境
虛擬天貓模擬顧客、商品和推薦系統。
系統和顧客之間的交互過程如下:
虛擬天貓采用顧客的特點向量,包括顧客描述和顧客查詢。
系統依據整個商品集的查詢表單檢索一組相關的商品。
系統使用一個模型來分配與商品屬性對應的權重向量。
系統估算每位商品的權重向量與商品屬性的乘積,并選擇值最高的前10個商品。
選取的10個商品將發送給顧客。之后,顧客將選擇單擊個別項(CTR++),瀏覽下一頁,或離開平臺。
在上述過程中,將訓練步驟3中的模型。模型輸入顧客特點,輸出27維權重向量。
監督學習的用法
數據集在:
virtualTB/SupervisedLearning/dataset.txt
數據集的每一行都包含一個特點、標簽和單擊次數的實例,由制表符分隔。
為了從數據集訓練模型,下邊的代碼使用進行了演示
virtualTB/SupervisedLearning/main.py
它包含從數據集加載、模型訓練和模型測試的完整過程。
加強學習的用法
下邊是一個使用作為加強學習環境的最簡單示例。每一步都采樣一個隨機操作來執行推薦。
import gym
import virtualTB
env = gym.make('VirtualTB-v0')
print(env.action_space)
print(env.observation_space)
print(env.observation_space.low)
print(env.observation_space.high)
state = env.reset()
while True:
env.render()
action = env.action_space.sample()
state, reward, done, info = env.step(action)
if done: break
env.render()
下邊是一個采用DDPG加強學習算法和的更完整的事例
virtualTB/ReinforcementLearning/main.py
論文下載:
開源地址:
【加入社群】