楊夢(mèng)月,何洪波,王閏強(qiáng)
1(中國(guó)科學(xué)院 計(jì)算機(jī)網(wǎng)絡(luò)信息中心,北京 100190)
2(中國(guó)科學(xué)院大學(xué),北京 100049)
互聯(lián)網(wǎng)文章推薦系統(tǒng)是一個(gè)幫助用戶,為用戶提供文章閱讀建議的平臺(tái),推薦系統(tǒng)的存在已經(jīng)成為了減輕用戶信息負(fù)載,實(shí)現(xiàn)文章個(gè)性化獲取的一個(gè)重要方式.互聯(lián)網(wǎng)推薦系統(tǒng)近年來(lái)在各種商業(yè)領(lǐng)域得到了廣泛的應(yīng)用,不僅僅用在了文章領(lǐng)域,在社交網(wǎng)站,電商網(wǎng)站等等網(wǎng)站都有大量的應(yīng)用[1,2].可以說(shuō),人們的日常網(wǎng)上生活已經(jīng)離不開(kāi)互聯(lián)網(wǎng)推薦系統(tǒng).文章信息相較于其他信息來(lái)說(shuō),具有更強(qiáng)的主題性,其具有生命周期較短、訪問(wèn)記錄稀疏、文本表示復(fù)雜的特點(diǎn),所以在其基礎(chǔ)上的推薦系統(tǒng)構(gòu)建相對(duì)來(lái)說(shuō)更加復(fù)雜.現(xiàn)有的推薦算法按照訓(xùn)練方法分類一般情況下主要分為兩大種類,第一類是使用在線學(xué)習(xí)(online learning)[3–6]的方法通過(guò)跟環(huán)境不斷交互的方式進(jìn)行各推薦單元的期望回報(bào)預(yù)估,通過(guò)這種方法能夠適應(yīng)線上動(dòng)態(tài)變化的環(huán)境,并且能夠執(zhí)行更好的推薦探索策略.這種方法具有很大的優(yōu)勢(shì),是因?yàn)樗?jiǎn)單易行,并且非常適合線上環(huán)境變化.但其劣勢(shì)也非常明顯,單一的特征處理結(jié)構(gòu)不能滿足其面對(duì)的更加復(fù)雜的異構(gòu)數(shù)據(jù),并且增加模型的復(fù)雜度目前還沒(méi)有合適的數(shù)學(xué)方法能夠給出該算法所要使用的置信區(qū)間,另外線上環(huán)境執(zhí)行具有不確定性,并且線下訓(xùn)練采樣率非常低.第二類是使用歷史數(shù)據(jù)進(jìn)行監(jiān)督學(xué)習(xí)[7–10],對(duì)當(dāng)前的歷史記錄進(jìn)行擬合并且計(jì)算所要預(yù)測(cè)請(qǐng)求的回報(bào).這類方法的優(yōu)勢(shì)是能夠改變特征提取和組合的方式,使其自動(dòng)提取出來(lái)的特征對(duì)分類結(jié)果更有幫助,常見(jiàn)的例如基于機(jī)器學(xué)習(xí)以及深度學(xué)習(xí)的推薦系統(tǒng).
第一種方法需要在線環(huán)境進(jìn)行交互迭代訓(xùn)練,但是通常情況下,使用真實(shí)環(huán)境進(jìn)行訓(xùn)練的代價(jià)十分高昂,并且迭代速度緩慢.在真實(shí)的工業(yè)場(chǎng)景中,一般采用構(gòu)建離線模擬器的方式.但是構(gòu)建模擬器對(duì)于文章預(yù)測(cè)并不可行,因?yàn)槲恼骂A(yù)測(cè)沒(méi)有一定的規(guī)律性.第二種方法不需要線上環(huán)境的交互過(guò)程,監(jiān)督學(xué)習(xí)的方法往往通過(guò)大量的歷史數(shù)據(jù)進(jìn)行學(xué)習(xí),但在從歷史數(shù)據(jù)中學(xué)習(xí)會(huì)產(chǎn)生一定的問(wèn)題.那就是歷史數(shù)據(jù)往往不能包含所有的決策情況,所以,使用歷史數(shù)據(jù)預(yù)測(cè)往往會(huì)產(chǎn)生分布偏移的情況,使得決策策略更加傾向于歷史數(shù)據(jù)當(dāng)中存在的事件.模擬線上環(huán)境的實(shí)現(xiàn)對(duì)于文章推薦場(chǎng)景來(lái)說(shuō)較為困難,所以本文將關(guān)注基于歷史數(shù)據(jù)信息的學(xué)習(xí).本文需要解決現(xiàn)有的從歷史數(shù)據(jù)中直接進(jìn)行監(jiān)督學(xué)習(xí)會(huì)產(chǎn)生策略分布偏差的問(wèn)題,并且解決存在在無(wú)法直接觀測(cè)到的混淆因子的情況下,模型產(chǎn)生的偏差.
針對(duì)以上問(wèn)題,本文引入了因果推斷的思想,通過(guò)反事實(shí)學(xué)習(xí)對(duì)環(huán)境中未出現(xiàn)的情況進(jìn)行推理,進(jìn)行分布建模,從而能夠避免樣本量涵蓋范圍不足產(chǎn)生的分布偏差.本文同時(shí)考慮推薦系統(tǒng)中含有大量的對(duì)結(jié)果產(chǎn)生影響的隱性因素(在這里把它稱為混淆因子(confounder)),提出了混淆因子存在情況下的策略學(xué)習(xí)方法.
本文主要貢獻(xiàn)如下:
(1)本文針對(duì)現(xiàn)有的各類深度學(xué)習(xí)推薦系統(tǒng)方法的分析結(jié)構(gòu)和目標(biāo)特點(diǎn),構(gòu)建出深度反事實(shí)學(xué)習(xí)框架,降低推薦系統(tǒng)依賴于歷史策略產(chǎn)生的偏差.
(2)本文提出了使用了變分自編碼機(jī)對(duì)推薦系統(tǒng)中混淆因子進(jìn)行推斷,使得模型能夠在這些混淆因子的影響下構(gòu)建出一個(gè)無(wú)偏傾向分?jǐn)?shù),降低模型偏差.
監(jiān)督學(xué)習(xí)的推薦系統(tǒng)一般會(huì)收集大量的歷史推薦數(shù)據(jù),其中包括用戶被觀測(cè)到的特征,以及大量的文章特征.其中用戶需求一般被表示為一個(gè)向量,這個(gè)向量中包含一些用戶特征,通常被表示為稀疏特征.同時(shí)一般用戶會(huì)有一個(gè)隨機(jī)推薦的項(xiàng)目范圍,這個(gè)范圍通常情況下在針對(duì)用戶請(qǐng)求的召回階段是非常巨大的,通常這時(shí)會(huì)使用一些簡(jiǎn)易的相似度匹配方法從超大樣本空間中選取出較為相似的小樣本,針對(duì)小樣本空間進(jìn)行精確推薦.而我們的模型就工作在這一精確排序的層面.如下給出一些符號(hào)表示:
以X∈Rb?d作為用戶樣本集合,其中b為樣本數(shù)量,d為樣本空間維數(shù)大小.同時(shí)用戶候選推薦項(xiàng)目集合作為A={a1,a2,···,ak},其中ak∈Rs,s表示文章向量的向量空間大小.與此同時(shí),Y∈Rb則代表數(shù)據(jù)集中一個(gè)請(qǐng)求和推薦之后得到的用戶反饋,在文章推薦系統(tǒng)當(dāng)中,主要研究文章事件的點(diǎn)擊率CTR.一般情況下,一個(gè)事件可以被看作是用戶請(qǐng)求和推薦商品以及用戶反饋的三元組(x,a,y).
現(xiàn)有的監(jiān)督學(xué)習(xí)模型主要分為兩種類別,其一是通過(guò)設(shè)計(jì)單一模型的最大化提取當(dāng)前有效特征嵌入層,通常情況下根據(jù)推薦項(xiàng)目的不同有利用組織單一的多層感知機(jī)(MLP),卷積神經(jīng)網(wǎng)絡(luò)(CNN),循環(huán)神經(jīng)網(wǎng)絡(luò)RNN 神經(jīng)網(wǎng)絡(luò),或與條件隨機(jī)場(chǎng)CRF 的模型構(gòu)建的神經(jīng)網(wǎng)絡(luò),這種網(wǎng)絡(luò)的設(shè)計(jì)需要根據(jù)數(shù)據(jù)的表現(xiàn)和結(jié)果的偏差進(jìn)行微調(diào),大多數(shù)情況下一種模型并不具有推廣性.
其二是使用多模型融合的方法進(jìn)行聯(lián)合特征提取,比如經(jīng)典的wide &deep 模型,這種方法結(jié)合了傳統(tǒng)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的特征提取優(yōu)勢(shì)設(shè)計(jì)嵌入層融合,從而能夠得到更具有記憶性和泛性的隱藏層特征,得到偏差更小的分類模型.常用的融合方式有CNN 與RNN 網(wǎng)絡(luò)結(jié)構(gòu)融合,CNN 與自動(dòng)編碼器(Autoencoder)的融合等[11–13],這類方法在各類問(wèn)題上都展現(xiàn)出其巨大的優(yōu)勢(shì),主要是因?yàn)槠淠軌蚶酶鞔缶W(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)特點(diǎn)針對(duì)原始數(shù)據(jù)進(jìn)行不同程度上的特征提取,從而提升模型的無(wú)偏性.雖然一個(gè)特定的融合模型不能推廣到各類場(chǎng)景,但是該類方法的思想具有很強(qiáng)的應(yīng)用價(jià)值.
如果說(shuō)模型設(shè)計(jì)可以被看作一種人工的先驗(yàn)知識(shí),這個(gè)先驗(yàn)知識(shí)限制了假設(shè)空間的大小,那么針對(duì)各類場(chǎng)景問(wèn)題的特定模型設(shè)計(jì)就格外重要.
監(jiān)督學(xué)習(xí)中使用的損失函數(shù)一般根據(jù)任務(wù)不同稍有偏差,在文章推薦中由于一般將CTR 作為評(píng)價(jià)指標(biāo),并且一般情況下使用較差熵?fù)p失函數(shù):
其中,N為采樣樣本空間大小,y為樣本標(biāo)簽真值,為當(dāng)前模型預(yù)測(cè)值.
這種方法的優(yōu)勢(shì)是其可用性強(qiáng),簡(jiǎn)單,容易操作.但存在一些缺陷:歷史數(shù)據(jù)的推薦在實(shí)際線上系統(tǒng)應(yīng)用中存在偏差,因?yàn)獒槍?duì)一個(gè)在特定時(shí)間出現(xiàn)的用戶請(qǐng)求,歷史數(shù)據(jù)當(dāng)中往往只包含其中一種推薦結(jié)果,換句話說(shuō),在其他情況下的推薦結(jié)果是未知的,另外由于本身收集到的數(shù)據(jù)并不能保證其不會(huì)偏向于某種特定的非最優(yōu)策略分布,所以使用監(jiān)督學(xué)習(xí)往往會(huì)產(chǎn)生訓(xùn)練偏差,但這些偏差很多時(shí)候都很容易被忽略.
在線學(xué)習(xí)是在當(dāng)推薦系統(tǒng)需要一定的探索性時(shí)的解決方案,算法通過(guò)直接與環(huán)境交互推薦得到的反饋結(jié)果進(jìn)行更新.
在線學(xué)習(xí)的主要方法是基于置信區(qū)間上界的方法,該方法提供了一種探索策略,即在算法早期由于訓(xùn)練樣本較少,所以此時(shí)針對(duì)每一種推薦的參數(shù)在早期置信度較低.該置信度可以使用霍夫丁不等式來(lái)具體衡量.早期的在線學(xué)習(xí)僅僅考慮伯努利實(shí)驗(yàn),而不考慮用戶上下文信息,在2010年,Li 等[3]提出了一種方法可以將在線學(xué)習(xí)算法擴(kuò)展到上下文形式,主要使用了線性模型對(duì)上下文進(jìn)行了回饋函數(shù)建模,并且使用了阿祖瑪不等式對(duì)其估計(jì)上界進(jìn)行限制,從而達(dá)到一定的探索效果,該算法取得了巨大的成功,并且被工業(yè)界廣泛使用.
在線學(xué)習(xí)主要分為以下步驟:
1)首先對(duì)系統(tǒng)中的每個(gè)可推薦項(xiàng)目,都設(shè)置同樣的初始化參數(shù)模型,并進(jìn)行隨機(jī)探索推薦一個(gè)推薦項(xiàng)目.
2)得到該推薦項(xiàng)目針對(duì)該用戶的推薦回報(bào)結(jié)果,并用推薦結(jié)果更新算法中參數(shù).
3)算法計(jì)算每一個(gè)可推薦項(xiàng)目的期望回報(bào)結(jié)果,并且預(yù)估其置信上界,選擇當(dāng)前置信上界值最高的可推薦項(xiàng)目進(jìn)行推薦.
4)得到推薦結(jié)果之后,返回第2)步.
從以上步驟可以看出,在線學(xué)習(xí)本質(zhì)上是非監(jiān)督化的訓(xùn)練,在沒(méi)有監(jiān)督信息的情況下,對(duì)回報(bào)函數(shù)的預(yù)估和擬合會(huì)出現(xiàn)一定的偏差,會(huì)出現(xiàn)過(guò)估計(jì)的情況,即其預(yù)估值會(huì)越來(lái)越高,導(dǎo)致推薦結(jié)果出現(xiàn)偏差,其次是該方法必須需要在線執(zhí)行,離線采樣率非常低,但在線訓(xùn)練的代價(jià)通常很高,因?yàn)榫€上系統(tǒng)面向真正的用戶,所以在算法早期會(huì)有大量的不確定推薦因素.造成用戶損失以及公司損失.
監(jiān)督學(xué)習(xí)的方法雖然已經(jīng)有不錯(cuò)的效果,但是其需要大量的訓(xùn)練數(shù)據(jù)涵蓋出各種不同的推薦情況.實(shí)際情況下,往往線上數(shù)據(jù)保留下來(lái)的記錄只是遵循一種或幾種推薦策略,并不能涵蓋出所有的推薦結(jié)果,所以如果在這種樣本上訓(xùn)練的話,監(jiān)督學(xué)習(xí)得到的推薦策略就有一定的傾向性.比如,當(dāng)前策略下,正負(fù)樣本數(shù)量差距較大,那么期預(yù)測(cè)的正負(fù)結(jié)果數(shù)量差距可能會(huì)更大,原因是算法更傾向于對(duì)不確定的上下文執(zhí)行更小可能出錯(cuò)的推薦,從而算法更容易被歷史策略先驗(yàn)影響.
貝葉斯網(wǎng)絡(luò)之父Pearl 在1986年提出使用因果實(shí)現(xiàn)真正的機(jī)器智能,其思想核心就是發(fā)現(xiàn)數(shù)據(jù)之間的因果關(guān)系[14–16].在推薦系統(tǒng)領(lǐng)域,傳統(tǒng)機(jī)器學(xué)習(xí)只能根據(jù)數(shù)據(jù)之間的相關(guān)性發(fā)現(xiàn)其中的相關(guān)關(guān)系,但是學(xué)習(xí)出相關(guān)關(guān)系之后,并不能給出一個(gè)準(zhǔn)確推薦結(jié)果.舉個(gè)例子,陽(yáng)光照射在物體上時(shí),會(huì)在地面投射出影子,是因?yàn)殛?yáng)光的位置和物體的形態(tài)位置決定了影子的形狀和大小.基于相關(guān)關(guān)系的學(xué)習(xí)僅僅只能發(fā)現(xiàn)三種事物相關(guān)性,但是在探索次數(shù)有限的情況下.假如想得到一種特殊形態(tài)的影子,使用監(jiān)督學(xué)習(xí)很難在歷史記錄當(dāng)中學(xué)習(xí)出來(lái)該如何擺放物體.而基于因果的反事實(shí)學(xué)習(xí)是在假設(shè)已經(jīng)存在一個(gè)因果關(guān)系結(jié)構(gòu),通過(guò)控制變量的方法得到每次的影子投射結(jié)果,就可以對(duì)歷史中不存在的情況進(jìn)行分布建模,從而能得到無(wú)偏估計(jì),Swaminathan 等首先定義了在歷史記錄中進(jìn)行反事實(shí)學(xué)習(xí)的機(jī)器學(xué)習(xí)框架[17],并且針對(duì)其模型結(jié)構(gòu)在深度學(xué)習(xí)上進(jìn)行推廣[18]以及進(jìn)一步歸一化[19,20].此外,反事實(shí)學(xué)習(xí)也被擴(kuò)展在表示學(xué)習(xí)以及日志學(xué)習(xí)領(lǐng)域[21,22].
針對(duì)監(jiān)督學(xué)習(xí)訓(xùn)練模式在數(shù)據(jù)策略缺失較多的情況下,本文引入反事實(shí)學(xué)習(xí)作為訓(xùn)練策略.反事實(shí)策略能夠幫助算法通過(guò)重要性采樣的方式發(fā)現(xiàn)完善在歷史情況下沒(méi)有被觀測(cè)到的策略結(jié)果分布,即反事實(shí)分布.
參考推薦系統(tǒng)訓(xùn)練的一般過(guò)程,本段將給出一些符號(hào)表示:使用Y(a):a∈A表示不能直接觀測(cè)到的潛在環(huán)境回報(bào)方程,表示當(dāng)前選擇文章a時(shí)環(huán)境給出的CTR 預(yù)估結(jié)果.使用Dt={Dt1,Dt2,···,Dtk},其中Dta表示觀測(cè)到第t輪時(shí),歷史策略a的推薦指示,既如果Dta=1,則表示在時(shí)間步t時(shí)a被選擇.另外,本文將歷史數(shù)據(jù)的策略看作一個(gè)固定的策略,這個(gè)策略分布可以使用pt={pt1,pt2,···,pta}表示,訓(xùn)練策略主要被表示為如下步驟:
1)假設(shè)數(shù)據(jù)集當(dāng)中收集的事件三元組在每一個(gè)訓(xùn)練時(shí)間步中滿足獨(dú)立同分布(i.i.d.)采樣,并且其概率服從一個(gè)特定的概率分布.
2)在每步訓(xùn)練中使用神經(jīng)網(wǎng)絡(luò)估計(jì)得到當(dāng)前步的歷史策略傾向分?jǐn)?shù),通過(guò)該分布進(jìn)行反事實(shí)重要性采樣,從而達(dá)到反事實(shí)學(xué)習(xí)的目的.
3)Swaminathan 等在2015年提出[19],該方法存在一定的傾向性過(guò)擬合,因?yàn)樵谶M(jìn)行該算法時(shí),需要估計(jì)歷史策略分布值,當(dāng)對(duì)該值不加限制的情況下,作為分母,如果該值過(guò)小,可能會(huì)導(dǎo)致嚴(yán)重的訓(xùn)練不穩(wěn)定性.為防止傾向性過(guò)擬合,他提出對(duì)當(dāng)前計(jì)算結(jié)果進(jìn)行自歸一化.
為了防止在推薦系統(tǒng)中出現(xiàn)偏差,本文將反事實(shí)引入用于構(gòu)建無(wú)偏的歷史策略分布.通過(guò)反事實(shí)學(xué)習(xí),雖然已經(jīng)可以從歷史數(shù)據(jù)中學(xué)習(xí)到無(wú)偏策略.但此時(shí)仍然需要估計(jì)歷史策略的傾向性分?jǐn)?shù),即需要估計(jì)的值,如果此時(shí)采用機(jī)器學(xué)習(xí)監(jiān)督算法去直接估計(jì)計(jì)算該值,則仍然會(huì)在結(jié)果中產(chǎn)生偏差,其中的原因是,系統(tǒng)中觀測(cè)到的僅僅是當(dāng)前用戶的信息,推薦項(xiàng)目的信息,以及最終的結(jié)果,這種觀測(cè)未考慮到混淆因子存在的情況,并且每個(gè)不同的模型都有其預(yù)測(cè)特點(diǎn),不能保證其無(wú)偏性.
混淆因子是指在系統(tǒng)中無(wú)法觀測(cè)到的影響因素,混淆因子最早源于辛普森悖論,是指當(dāng)對(duì)具有較大的腎結(jié)石患者執(zhí)行療程A 時(shí),成功治愈的可能性較高,對(duì)具有較小腎結(jié)石患者執(zhí)行B 時(shí),同樣也有較高的治愈概率.但某些情況下,療程A 對(duì)于較小腎結(jié)石者比療程B 更加有效.之所以產(chǎn)生該悖論的原因是系統(tǒng)中存在不能直接觀測(cè)的混雜因素,該混淆因素直接影響到狀態(tài)的觀察,決策,以及結(jié)果的反饋.
前人提出的估計(jì)歷史策略傾向分?jǐn)?shù)的方法,大多為使用某中機(jī)器學(xué)習(xí)模型,但該做法具有較強(qiáng)的先驗(yàn)性.會(huì)導(dǎo)致策略學(xué)習(xí)產(chǎn)生傾向一種模型策略結(jié)果的偏移,并且在使用該方法的過(guò)程中,由于未考慮環(huán)境中混淆因子的存在,及其有可能產(chǎn)生較大的偏差,所以為了防止該偏移的產(chǎn)生,本文將混淆因子進(jìn)行整體建模.
文章推薦系統(tǒng)中的因果關(guān)系可以被構(gòu)建成兩種形式.
第一種是在不考慮混淆因子的情況下,在模型中,當(dāng)前觀測(cè)到的狀態(tài)X,策略A與結(jié)果Y的因果關(guān)系如圖1所示,可以觀察到當(dāng)前觀測(cè)回報(bào)結(jié)果僅僅由當(dāng)前所選擇的推薦項(xiàng)目A影響.不考慮混淆因子的存在.也就是之前大部分研究工作所采用的因果關(guān)系圖.
圖1 假設(shè)在不存在混淆因子情況下的因果關(guān)系圖
第二種考慮了系統(tǒng)中混淆因子U的存在下的因果關(guān)系,如圖2所示,可以看出系統(tǒng)中的觀測(cè)X,推薦項(xiàng)目A,以及最終結(jié)果Y都受到環(huán)境當(dāng)中的混淆因子影響.而本文主要研究的就是在這種情況下的建模問(wèn)題.
圖2 假設(shè)系統(tǒng)中存在未知的混淆因子變量
在因果推斷的框架下,混淆因子被看作環(huán)境中的隱變量,由于隱變量屬于系統(tǒng)中無(wú)法觀測(cè)的變量,所以可以根據(jù)其余可觀測(cè)變量對(duì)其進(jìn)行推斷.本文提出的模型基于生成模型中的變分自編碼器框架對(duì)隱變量執(zhí)行推斷.
首先,需要考慮潛在回饋方程,即Y(x)=h(x,a),如果潛在的混淆因子可以使用,則可以采用如下關(guān)系式對(duì)回饋方程進(jìn)行建模:
式中存在未知隱變量u,在系統(tǒng)中表現(xiàn)為無(wú)法直接觀測(cè)以及施加影響的混淆因子.所以需要對(duì)該隱變量進(jìn)行推斷,即推斷模型q?(u|x,y,a),在本文中,基于變分自編碼機(jī)(VAE)的思想,將混淆因子u作為隱變量,采用變分自編碼機(jī)的編碼器進(jìn)行推斷.
變分自編碼機(jī)由Kingma 在2013年提出[24],其假設(shè)系統(tǒng)的觀測(cè)值是由少數(shù)的隱變量控制,其假設(shè)隱變量滿足一個(gè)各向同性的標(biāo)準(zhǔn)高斯分布[25,26].模型主要分為編碼器和解碼器,編碼器用于將生成分布擬合成為標(biāo)準(zhǔn)高斯分布,以達(dá)到解耦目的.解碼器根據(jù)從標(biāo)準(zhǔn)高斯分布中采樣出的隱變量獲得新的觀測(cè)數(shù)據(jù).一般認(rèn)為,變分自編碼器相較于其他的生成模型具有更高的泛化性能.
本文采用生成模型聯(lián)合訓(xùn)練的方式,隱變量推斷過(guò)程參考[27],同時(shí)對(duì)隱變量和回饋函數(shù)進(jìn)行推斷和學(xué)習(xí).該學(xué)習(xí)過(guò)程參考圖2因果性所示,對(duì)于一個(gè)觀測(cè)到的推薦三元組記錄(x,a,y)來(lái)說(shuō),其對(duì)數(shù)似然如下所示:
在該方法中采用了基于隱變量推斷的生成模型.該模型的主要方法是采用變分自編碼器的訓(xùn)練方法,該模型的訓(xùn)練目標(biāo)即為最大化似然函數(shù)(式(2)).對(duì)任意變量有如下生成模型方程,在本文中,假設(shè)x,a,y的生成都能由非線性函數(shù)控制,即:
其中,θ可以為任何非線性函數(shù)的參數(shù),而在本文中該函數(shù)參數(shù)為神經(jīng)網(wǎng)絡(luò)中的參數(shù),由神經(jīng)網(wǎng)絡(luò)優(yōu)化擬合.
假設(shè)混淆因子u的先驗(yàn)分布p(u)滿足一個(gè)各向同性的多元高斯分布即u~N(0,I),此時(shí),根據(jù)VAE 假設(shè),在本文中,生成的u的在觀察數(shù)據(jù)三元組(x,y,a)條件下的條件概率滿足一個(gè)多元高斯分布:
公式中 ?的表示變分編碼器參數(shù).根據(jù)之前的x,y,z的生成模型,從混淆因子中解碼得到的三元組可以被表示為如下表達(dá)式:
由于在該生成模型中,u的后驗(yàn)概率由歷史記錄當(dāng)中的所有觀察值三元組共同決定,所以一定程度上避免了只考慮一項(xiàng)因素所產(chǎn)生的混淆偏差.
在生成模型變分推斷自編碼器(VAE)中,變分自編碼器主要采用兩層結(jié)構(gòu)——編碼器和解碼器.
編碼器的作用主要是通過(guò)訓(xùn)練的三元組數(shù)據(jù)得到隱變量u的后驗(yàn)方程.本文假設(shè)u的先驗(yàn)概率為一個(gè)各向同性的標(biāo)準(zhǔn)高斯分布,所以編碼其采用u的后驗(yàn)概率與u的先驗(yàn)產(chǎn)生的偏差作為誤差,該誤差使用分布距離KL 散度衡量.
解碼器的作用是通過(guò)從一個(gè)標(biāo)準(zhǔn)高斯分布中采樣出隱變量u,并且根據(jù)該隱變量u的值還原出觀察值,其誤差采用經(jīng)驗(yàn)誤差,即最小化由觀測(cè)值通過(guò)編碼器產(chǎn)生的隱變量經(jīng)由解碼器生成的新觀測(cè)值以及訓(xùn)練觀察值之間的經(jīng)驗(yàn)誤差.
采用監(jiān)督經(jīng)驗(yàn)誤差作為解碼器誤差,優(yōu)化目標(biāo)為置信下界(ELBO).該置信下界可以被寫(xiě)作如下形式:
注意到,觀測(cè)到的因果關(guān)系數(shù)據(jù),即歷史記錄,僅僅記錄了一部分的推薦結(jié)果,為了得到無(wú)偏傾向分?jǐn)?shù)(a|x).在變分自編碼機(jī)當(dāng)中推斷后驗(yàn)概率的同時(shí),需要在同時(shí)估計(jì)歷史策略分布ai~q?(a|xi).所以本文提出將其加入損失函數(shù)當(dāng)中,該損失函數(shù)是由Louizos[28]首次形式化成如下形式:
在該式中,q?(a|xi)為一個(gè)分類模型的似然函數(shù),通過(guò)高斯分布擬合,通過(guò)似然函數(shù)的最大化更新參數(shù),預(yù)測(cè)結(jié)果為各分類的分?jǐn)?shù).其中(xi,yi,ai)為數(shù)據(jù)集當(dāng)中的三元組,使用最小化該損失函數(shù)中的可訓(xùn)練參數(shù)θ 優(yōu)化生成函數(shù)的結(jié)果,即解碼器.并且通過(guò)最小化該方程中的可訓(xùn)練參數(shù) ?用于優(yōu)化傾向分?jǐn)?shù),最后可以將其用于反事實(shí)推斷.
在推薦系統(tǒng)中對(duì)于在線方法直接驗(yàn)證是一件比較困難的事,因?yàn)闆](méi)有直接的標(biāo)簽可以用于參考.所以在這里直接使用推薦系統(tǒng)中的累積回報(bào)對(duì)最終反事實(shí)學(xué)習(xí)進(jìn)行結(jié)果驗(yàn)證.
本文實(shí)驗(yàn)基于真實(shí)的文章推薦場(chǎng)景,數(shù)據(jù)選用Yahoo!Today’s Module 公開(kāi)新聞推薦數(shù)據(jù)集.數(shù)據(jù)采集于2009年五月的Yahoo! front page,其中包括了用戶信息,新聞推薦可選擇范圍,文章推薦結(jié)果作為一個(gè)事件.數(shù)據(jù)一共包含了468 萬(wàn)個(gè)事件(x,a,y),其中x包含用戶的6 維特征,是由原始特征提取出的主題特征,每一維特征都在范圍[0,1],文章特征同樣采用6 維主題特征范圍同樣在[0,1].反饋值y代表了當(dāng)前推薦項(xiàng)目的點(diǎn)擊情況,其中1 代表當(dāng)前用戶點(diǎn)擊了該新聞,0 代表用戶沒(méi)有點(diǎn)擊該新聞數(shù)據(jù).實(shí)驗(yàn)中隨機(jī)篩選了其中推薦最多的6 種文章,并對(duì)數(shù)據(jù)進(jìn)行了充分混合,以防選擇順序?qū)Y(jié)果產(chǎn)生影響.最終實(shí)驗(yàn)選擇一共128 萬(wàn)個(gè)事件的集合.其中前100 萬(wàn)個(gè)事件作為訓(xùn)練集,剩余的28 萬(wàn)個(gè)事件當(dāng)作測(cè)試集.實(shí)驗(yàn)采用的對(duì)照組分為3 類.
1)使用監(jiān)督學(xué)習(xí)估計(jì)的方法
將用戶特征x與推薦新聞的新聞特征a進(jìn)行拼接當(dāng)作訓(xùn)練數(shù)據(jù),將回報(bào)(CTR)當(dāng)作訓(xùn)練標(biāo)簽y,對(duì)其進(jìn)行監(jiān)督學(xué)習(xí).實(shí)驗(yàn)中一共嘗試了四種監(jiān)督學(xué)習(xí)方法,其中包括:對(duì)率回歸(Logistic regression),梯度提升機(jī)(Gradient boosting machine),隨機(jī)森林(random forest).
2)使用監(jiān)督學(xué)習(xí)方法估計(jì)傾向性分?jǐn)?shù),使用反事實(shí)學(xué)習(xí)的方法
使用對(duì)率回歸,梯度提升機(jī)和隨機(jī)森林得到的策略作為傾向性得分,使用反事實(shí)學(xué)習(xí)的方法得到最終策略,實(shí)驗(yàn)結(jié)果通過(guò)測(cè)試集拒絕采樣進(jìn)行驗(yàn)證.
3)使用因果混淆因子建模的反事實(shí)訓(xùn)練
使用對(duì)混淆因子建模的方法,計(jì)算出傾向性得分,通過(guò)該傾向性得分進(jìn)行反事實(shí)學(xué)習(xí),最終得到結(jié)果.
本文假設(shè)隱變量符合標(biāo)準(zhǔn)高斯分布N(0,1),其中隱變量維度設(shè)置為8 維.編碼器中的$采用單層全聯(lián)接作為隱層模型,隱層維數(shù)為8.解碼器中的3 類三元組估計(jì)同樣采用單層全聯(lián)接作為隱層模型,其中l(wèi)ogpθ(yi|ui,ai)隱 層維數(shù)為16,l ogpθ(ai|ui,xi)、l ogpθ(xi|ui)分別為16,8.由于模型需要同時(shí)估計(jì)策略模型q?(ai|xi)似然函數(shù)中的高斯分布參數(shù),隱層維數(shù)為16.為了更好地提升GPU 運(yùn)算效率,隱藏層維數(shù)設(shè)置為2 的倍數(shù),另外為避免過(guò)擬合現(xiàn)象產(chǎn)生,隱層維數(shù)與解碼器均與輸入數(shù)據(jù)維數(shù)接近,均設(shè)置為8 與 16.
實(shí)驗(yàn)結(jié)果圖3所示,可以看出對(duì)率回歸表現(xiàn)結(jié)果欠佳,是因?yàn)榫€性模型的假設(shè)空間的復(fù)雜度不夠高,從而不容易捕捉更加復(fù)雜的模式,所以擬合度會(huì)有一些欠缺,尤其是在數(shù)據(jù)量過(guò)大的情況下,需要的假設(shè)空間會(huì)更大.所以其表現(xiàn)相對(duì)于梯度提升機(jī)和隨機(jī)森林較差.
圖3 各對(duì)照組實(shí)驗(yàn)的平均回報(bào)
梯度提升機(jī)和隨機(jī)森林都是基于樹(shù)結(jié)構(gòu)的方法,在該實(shí)驗(yàn)中,對(duì)與兩種方法試驗(yàn)均采用50 個(gè)估計(jì)器以及15 層樹(shù)深度以達(dá)到最佳的精準(zhǔn)率并防止過(guò)擬合.得到的結(jié)果相差并不多,可見(jiàn)這兩種方法的復(fù)雜度要比線性模型高出許多,所以表現(xiàn)也更加優(yōu)秀.
可以從圖3中看出,采用反事實(shí)學(xué)習(xí)的策略,得到的效果比直接使用監(jiān)督學(xué)習(xí)高許多,由于在反事實(shí)學(xué)習(xí)中傾向性分?jǐn)?shù)作為分母,為避免過(guò)擬合,在實(shí)驗(yàn)過(guò)程中對(duì)該傾向性分?jǐn)?shù)做了一定的限制,要求其不為0 且與當(dāng)前策略的比值不低于0.05,不高于0.95.但也可以看出,雖然采用反事實(shí)學(xué)習(xí)雖然能提高性能,但是也受到傾向性分?jǐn)?shù)的影響,傾向性分?jǐn)?shù)較高的,通過(guò)反事實(shí)學(xué)習(xí)也能得到更高的分?jǐn)?shù).
實(shí)驗(yàn)同樣也測(cè)試了本文提出的算法,該算法得到了最佳的結(jié)果.可以看出本文提出的基于混淆因子的反事實(shí)學(xué)習(xí)算法效果最好.這是因?yàn)槭褂昧艘蚬V?估計(jì)出來(lái)的歷史策略包含更大的范圍,所以能夠擁有更高的無(wú)偏性,降低了系統(tǒng)出現(xiàn)的偏差.
通過(guò)實(shí)驗(yàn)發(fā)現(xiàn)了當(dāng)對(duì)傾向性分?jǐn)?shù)使用混淆因子建模,有利于反事實(shí)學(xué)習(xí)得到最佳結(jié)果,實(shí)驗(yàn)結(jié)果證明,本文提出的基于因果混淆因子的反是學(xué)習(xí)具有更低的偏差.本文首先對(duì)推薦系統(tǒng)中存在的因果關(guān)系進(jìn)行建模,此外,本文使用了隱變量推斷的方法對(duì)混淆因子的分布進(jìn)行推斷,并同時(shí)訓(xùn)練出生成模型,從而得到了反事實(shí)學(xué)習(xí)中的傾向性分?jǐn)?shù).該傾向性分?jǐn)?shù)作為反事實(shí)學(xué)習(xí)重要性采樣的分母進(jìn)行訓(xùn)練.結(jié)合因果關(guān)系中混淆的方法,是一種創(chuàng)新的魯棒性的方法.未來(lái)的研究將采用一些更加復(fù)雜的主題數(shù)據(jù),并且在該方法解決過(guò)擬合上做更多的探索.