用上GAN的推薦算法成精了,看完視頻馬上刷出相關(guān)文章丨KDD 2021
微信已經(jīng)用上了
蕭簫 整理自 KDD 2021
量子位 報(bào)道 | 公眾號(hào) QbitAI
這年頭,推薦算法真是越來越智能了。
舉個(gè)栗子,當(dāng)你熱衷于東京奧運(yùn)會(huì)并且刷了不少剪輯視頻,APP就會(huì)根據(jù)你的品味為你推薦文章、游戲或是同款周邊。
沒錯(cuò),推薦算法早已不局限于一個(gè)場(chǎng)景,而是在視頻、文章、小程序等各種場(chǎng)景中“打通任督二脈”,也就是多領(lǐng)域推薦算法。
但事實(shí)上,這類算法并不如想象中容易駕馭,關(guān)鍵在于如何抓住不同領(lǐng)域中,關(guān)于目標(biāo)領(lǐng)域的有效特征。
為了讓推薦算法更了解你,騰訊微信的看一看團(tuán)隊(duì),針對(duì)多領(lǐng)域推薦任務(wù)提出了一個(gè)全新的模型,融合了生成對(duì)抗網(wǎng)絡(luò)GAN、ELECTRA、知識(shí)表示學(xué)習(xí)等思路,學(xué)習(xí)不同領(lǐng)域之間的特征轉(zhuǎn)移,極大地提升了多領(lǐng)域推薦算法的效果,論文已被KDD 2021收錄。
8月18日,數(shù)據(jù)挖掘領(lǐng)域國際最高級(jí)別會(huì)議KDD 2021會(huì)議在線上舉行,微信看一看團(tuán)隊(duì)的Xiaobo Hao,針對(duì)這篇名為「Adversarial Feature Translation for Multi-domain Recommendation」的論文,進(jìn)行了詳細(xì)解析和分享。
我們對(duì)論文解析進(jìn)行了相關(guān)總結(jié),一起來看看。
多領(lǐng)域推薦難在哪
推薦系統(tǒng)已經(jīng)融入生活的方方面面,為我們提供個(gè)性化的信息獲取及娛樂。
在馬太效應(yīng)的影響下,Google、WeChat、Twitter等平臺(tái)應(yīng)運(yùn)而生。它們往往擁有各種(推薦)服務(wù),能夠?yàn)橛脩敉扑]多樣化的物品(如文章、視頻、小程序等),滿足用戶需求。
用戶在不同推薦服務(wù)上的行為(在用戶允許下),會(huì)通過用戶的共享賬號(hào)產(chǎn)生關(guān)聯(lián)。
這些行為,能在目標(biāo)領(lǐng)域行為之外提供更多信息,幫助推薦系統(tǒng)更加全面地了解用戶,輔助提升各領(lǐng)域推薦效果。
多領(lǐng)域推薦?(Multi-domain recommendation,MDR)任務(wù)就是基于用戶在多個(gè)領(lǐng)域的行為和特征,來同時(shí)優(yōu)化多個(gè)領(lǐng)域的推薦效果,關(guān)鍵在于如何抓住不同領(lǐng)域中的目標(biāo)領(lǐng)域特化的特征。
一個(gè)直觀的方法,是將用戶的多領(lǐng)域行為當(dāng)作額外的輸入特征,直接輸入給ranking模型,但這種方法沒有針對(duì)領(lǐng)域間的特征交互進(jìn)行優(yōu)化建模。
另一個(gè)方法,是近期基于多任務(wù)學(xué)習(xí)(Multi-task learning,MTL)的一些思路,將一個(gè)領(lǐng)域的推薦當(dāng)作一個(gè)任務(wù)進(jìn)行處理,取得了不錯(cuò)的效果。
然而,多領(lǐng)域推薦效果仍然嚴(yán)重地受限于其固有的稀疏性問題,具體體現(xiàn)在兩個(gè)方面:其一,user-item點(diǎn)擊行為的稀疏性(這個(gè)是推薦系統(tǒng)本身擁有的稀疏性問題);其二,跨領(lǐng)域特征交互的稀疏性(這是多領(lǐng)域推薦特有的稀疏性問題)。
AFT模型要解決什么?
為了解決這兩個(gè)問題,使模型能夠同時(shí)提升多領(lǐng)域推薦效果,論文提出了一個(gè)名為Adversarial Feature Translation(AFT)的模型,基于生成對(duì)抗網(wǎng)絡(luò)(GAN)學(xué)習(xí)不同領(lǐng)域之間的特征轉(zhuǎn)移(feature translation)。
首先,在multi-domain generator中,論文先提出了一個(gè)domain-specific masked encoder,用以強(qiáng)調(diào)跨領(lǐng)域的特征交互建模,再基于transformer層以及domain-specific attention層聚合這些跨領(lǐng)域交互后的特征,學(xué)習(xí)用戶在目標(biāo)領(lǐng)域下的表示,以生成虛假的物品候選(fake clicked items)輸入到判別器中。
在multi-domain discriminator中,受到知識(shí)表示學(xué)習(xí)(KRL)中的基于三元組的建模方法(如TransE)的啟發(fā),論文構(gòu)建了一個(gè)兩階段特征轉(zhuǎn)移(two-step feature translation)模型,對(duì)領(lǐng)域、物品和用戶不同粒度/不同領(lǐng)域的偏好進(jìn)行可解釋的建模。
團(tuán)隊(duì)在Netflix和微信多領(lǐng)域推薦數(shù)據(jù)集上進(jìn)行了測(cè)試后,發(fā)現(xiàn)模型在離線和在線實(shí)驗(yàn)的多個(gè)結(jié)果上都獲得了顯著的提升,論文也進(jìn)行了充分的消融實(shí)驗(yàn)和模型分析,以驗(yàn)證模型各個(gè)模塊的有效性。
△圖1:多領(lǐng)域推薦及AFT模型框架圖
具體來說,如上圖1,AFT包括domain-specific masked encoder以及two-step feature translation,著重關(guān)注跨領(lǐng)域、多粒度的特征交互建模。
在生成器?(generator)部分,論文先設(shè)計(jì)了一個(gè)domain-specific masked encoder,通過mask掉目標(biāo)領(lǐng)域的歷史行為特征(historical behaviors),來加強(qiáng)“其它領(lǐng)域歷史行為特征”和“目標(biāo)領(lǐng)域點(diǎn)擊行為”之間的交互特征權(quán)重,以驅(qū)使AFT模型學(xué)習(xí)基于其它領(lǐng)域特征進(jìn)行的目標(biāo)領(lǐng)域推薦;
再用Transformer層和Domain-specific aggregation來抽取目標(biāo)領(lǐng)域相關(guān)的用戶特征,以生成top-k虛假點(diǎn)擊的物品(fake clicked items)。這些虛假點(diǎn)擊的物品將被輸入判別器,迷惑判別器的判斷,在對(duì)抗中相互提升所有領(lǐng)域的推薦能力。
在判別器?(discriminator)部分,論文受知識(shí)表示學(xué)習(xí)模型(KRL)啟發(fā),希望顯式地對(duì)用戶、物品和領(lǐng)域進(jìn)行建模。
其中,先用Transformer從多領(lǐng)域特征中分別抽取用戶的細(xì)粒度item和粗粒度domain的偏好特征,分別標(biāo)記為user item-level preference和user domain-level preference;
再構(gòu)造第一個(gè)三元組(user item-level preference,user domain-level preference,user general preference),進(jìn)行第一次特征轉(zhuǎn)移,學(xué)習(xí)用戶通用領(lǐng)域的偏好特征(user general preference)。第一個(gè)三元組的物理含義是,對(duì)于(Hamlet,writer,Shakespeare)三元組關(guān)系,有Hamlet+writer=Shakespeare(以KRL中的經(jīng)典模型TransE為例)。
在多領(lǐng)域推薦中,用戶不同粒度的偏好相加(item-level preference+ domain-level preference),就約等于用戶通用領(lǐng)域的偏好(user general preference),因此這一步能得到用戶通用領(lǐng)域的偏好。
然后,論文再次構(gòu)建第二個(gè)三元組(user general preference, target domain information, user domain-specific preference),進(jìn)行第二次特征轉(zhuǎn)移。第二個(gè)三元組的物理含義是,用戶的通用領(lǐng)域偏好+目標(biāo)領(lǐng)域的特征=用戶在目標(biāo)領(lǐng)域的偏好(user domain-specific preference)。
論文基于成熟的知識(shí)表示學(xué)習(xí)模型ConvE進(jìn)行兩層特征轉(zhuǎn)移(two-step feature translation)后,得到了用戶在目標(biāo)領(lǐng)域上的表示,并用于推薦。
那么,AFT模型到底有什么優(yōu)勢(shì)?
其一,AFT的GAN框架在domain-specific masked encoder的幫助下,提供了充足且高質(zhì)量的多領(lǐng)域推薦負(fù)例,緩解了數(shù)據(jù)稀疏和過擬合的問題;
其二,生成器中的domain-specific masked encoder能加強(qiáng)模型的跨領(lǐng)域特征交互,而這正是多領(lǐng)域推薦的核心要素;
其三,判別器中的two-step feature translation提供了一種大膽的、顯式化可解釋的建模用戶、物品和領(lǐng)域的方式,對(duì)多領(lǐng)域推薦提供了更深層次的理解。
團(tuán)隊(duì)將AFT模型和多個(gè)有競(jìng)爭(zhēng)力的baseline模型進(jìn)行了離線和線上對(duì)比。結(jié)果顯示,AFT模型在多個(gè)領(lǐng)域上全面顯著地超出所有baseline。此外,團(tuán)隊(duì)還進(jìn)行了詳盡的消融實(shí)驗(yàn)和模型分析實(shí)驗(yàn),用以加深對(duì)AFT各個(gè)模塊和參數(shù)的理解。
目前,AFT模型已經(jīng)在用了——被部署于微信看一看的多領(lǐng)域推薦場(chǎng)景,正服務(wù)于千萬用戶。論文本身的貢獻(xiàn)如下:
- 針對(duì)多領(lǐng)域推薦問題,提出了一個(gè)全新的AFT框架,首次在多領(lǐng)域推薦中引入了對(duì)抗下的特征轉(zhuǎn)移。
- 提出了一種GAN框架下的domain-specific masked encoder,能夠針對(duì)跨領(lǐng)域特征交互進(jìn)行特化加強(qiáng)。
- 設(shè)計(jì)了一種兩階段特征轉(zhuǎn)移策略,嘗試使用結(jié)構(gòu)化知識(shí)表示學(xué)習(xí)的建模方式,學(xué)習(xí)用戶多粒度多領(lǐng)域偏好、物品和領(lǐng)域之間的可解釋的轉(zhuǎn)移關(guān)系。
- AFT在離線和線上實(shí)驗(yàn)中均取得顯著的提升效果,并已經(jīng)被部署于微信看一看系統(tǒng)。
AFT模型具體長啥樣
上文提到,AFT模型基于GAN訓(xùn)練框架,主要分為生成器和判別器兩個(gè)部分。
如下圖2,生成器輸入用戶多領(lǐng)域行為特征,并基于domain-specific masked encoder、Transformer層和Domain-specific attention,抽取目標(biāo)領(lǐng)域相關(guān)的用戶特征,用于生成top-k虛假點(diǎn)擊的物品(fake clicked items)。判別器則基于兩階段特征轉(zhuǎn)移,獲得用戶向量,然后預(yù)測(cè)真實(shí)/虛假點(diǎn)擊物品的得分。
△圖2:AFT具體模型,包括(a)多領(lǐng)域生成器和(b)多領(lǐng)域判別器
我們具體來看。
多領(lǐng)域生成器
多領(lǐng)域生成器旨在為用戶生成每個(gè)領(lǐng)域上的fake clicked items,其輸入是某個(gè)用戶在所有n個(gè)領(lǐng)域上的行為序列X={X_1, …, X_n},其中X_t是第t個(gè)領(lǐng)域上的行為序列特征矩陣。
不失一般性,論文假設(shè)生成器正在生成目標(biāo)領(lǐng)域d_t上用戶可能點(diǎn)擊的物品,首先使用domain-specific masked encoder處理目標(biāo)領(lǐng)域序列X_t,隨機(jī)對(duì)目標(biāo)領(lǐng)域d_t中的行為進(jìn)行mask,如下式:
公式表示序列中pos_t這些位置上的行為被[mask]的token替代,使得domain-specific masked encoder強(qiáng)制生成器在生成目標(biāo)領(lǐng)域的候選物品時(shí),會(huì)更多地考慮其它領(lǐng)域的用戶行為。
這樣雖然會(huì)丟失關(guān)鍵的目標(biāo)領(lǐng)域的歷史行為,導(dǎo)致生成器更難生成最合適的fake clicked items,但也會(huì)加強(qiáng)跨領(lǐng)域歷史行為和點(diǎn)擊的特征交互,有助于多領(lǐng)域推薦,特別是稀疏行為的領(lǐng)域上的推薦效果,瑕不掩瑜。
隨后,論文使用average pooling分別聚合各個(gè)領(lǐng)域上(mask后)的行為序列,并基于Transformer和domain-specific attention,得到用戶在目標(biāo)領(lǐng)域上的表示h_t如下:
對(duì)每個(gè)候選物品e_i,生成器計(jì)算的點(diǎn)擊概率p為:
論文基于生成概率p,選擇目標(biāo)領(lǐng)域上的top k的近鄰物品(剔除訓(xùn)練集中的真實(shí)正例),作為生成器生成的負(fù)例輸入判別器。
多領(lǐng)域判別器
在判別器中,論文首先基于Transformer特征抽取器,獲取用戶在細(xì)粒度的具體行為(item)上和在粗粒度的領(lǐng)域(domain)上的特征表示:
隨后,團(tuán)隊(duì)基于知識(shí)表示學(xué)習(xí)中三元組的學(xué)習(xí)范式,設(shè)計(jì)了一個(gè)兩階段的特征轉(zhuǎn)移:先基于用戶在多領(lǐng)域的細(xì)粒度和粗粒度上的偏好,得到用戶整體偏好;然后基于用戶整體偏好和目標(biāo)領(lǐng)域信息,得到用戶在目標(biāo)領(lǐng)域上的偏好。
傳統(tǒng)的知識(shí)表示學(xué)習(xí)方法(如TransE)顯式建模三元組關(guān)系。上文提到,對(duì)于(Hamlet, writer, Shakespeare)這個(gè)三元組關(guān)系,TransE認(rèn)為:Hamlet+writer=Shakespeare。
因此,用戶細(xì)粒度的偏好加上用于粗粒度的偏好,應(yīng)該等于用戶通用領(lǐng)域上的全局偏好(user general preference)?;贑onvE模型(因?yàn)樗軌蛲诰騟lement-wise的特征交互),對(duì)于三元組(e_h, r, e_t)有:
類似地,在第一次特征轉(zhuǎn)移中,構(gòu)造了一個(gè)三元組(user item-level preference, user domain-level preference, user general preference),計(jì)算用戶通用領(lǐng)域上的全局偏好u_g如下:
在得到user general preference后,又構(gòu)建了第二個(gè)三元組(user general preference, target domain information, user domain-specific preference),并進(jìn)行第二次特征轉(zhuǎn)移。這個(gè)三元組的物理含義是,用戶的通用領(lǐng)域偏好加上目標(biāo)領(lǐng)域的特征,約等于用戶在目標(biāo)領(lǐng)域的偏好(user domain-specific preference),有:
其中,目標(biāo)領(lǐng)域特征綜合考慮了領(lǐng)域向量和行為向量。與生成器類似,團(tuán)隊(duì)基于用戶在d_t的特征表示u_t,計(jì)算物品e_i的點(diǎn)擊概率p如下:
生成器&判別器優(yōu)化
模型判別器的優(yōu)化如下:
生成器則是基于REINFORCE強(qiáng)化學(xué)習(xí)進(jìn)行優(yōu)化:
團(tuán)隊(duì)還提出一項(xiàng)MMD loss,目的是讓生成器產(chǎn)生的物品和真實(shí)物品不完全一致(否則會(huì)干擾判別器的訓(xùn)練),具體如下:
MMD loss基于推薦系統(tǒng)的特質(zhì)設(shè)計(jì):在推薦系統(tǒng)中,絕大多數(shù)物品其實(shí)并未被曝光,團(tuán)隊(duì)假設(shè)所有未被用戶點(diǎn)擊的物品均為負(fù)例;和點(diǎn)擊物品特別相似的fake clicked items,也有很大概率同樣被用戶點(diǎn)擊(例如不同自媒體號(hào)發(fā)表的同一主題的新聞/視頻等),這也是推薦系統(tǒng)item-CF的本質(zhì)。
因此,團(tuán)隊(duì)選擇加入MMD loss,使得GAN能夠生成更加多樣化的、相似但又不完全一樣的物品作為判別器的負(fù)例。
最后,綜合三項(xiàng)loss獲得最終AFT的loss,如下:
AFT模型的判別器被部署于線上,更多模型和線上細(xì)節(jié)可參考論文第三和第四部分。
實(shí)驗(yàn)結(jié)果
團(tuán)隊(duì)在公開數(shù)據(jù)集和微信看一看數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),結(jié)果表明,模型在多領(lǐng)域推薦上獲得了顯著提升:
△圖3:AFT離線結(jié)果
此外,論文也在微信看一看多個(gè)線上推薦場(chǎng)景進(jìn)行了A/B實(shí)驗(yàn),也同樣獲得了顯著的提升:
△圖4:AFT線上實(shí)驗(yàn)結(jié)果
消融實(shí)驗(yàn)也證明了模型各個(gè)模塊的有效性:
△圖5:AFT消融實(shí)驗(yàn)
最后,論文也進(jìn)行了詳盡的模型參數(shù)分析,探索了不同mask ratio和fake clicked item number對(duì)模型效果的影響:
△圖6:AFT參數(shù)實(shí)驗(yàn)
模型已用到微信里
整體來說,這篇論文針對(duì)多領(lǐng)域推薦任務(wù),提出了一個(gè)對(duì)抗特征轉(zhuǎn)移的AFT模型。它基于domain-specific masked encoder加強(qiáng)了跨領(lǐng)域特征交互,設(shè)計(jì)了一種two-step feature translation,能夠顯式可解釋地對(duì)多領(lǐng)域下用戶不同粒度的偏好、物品和領(lǐng)域進(jìn)行建模。
目前,AFT模型已部署于微信看一看多領(lǐng)域推薦模塊中,我們?nèi)粘S梦⑿趴匆豢磿r(shí),就會(huì)用到這個(gè)模型。
對(duì)于未來,團(tuán)隊(duì)表示十分看好基于對(duì)抗和知識(shí)表示學(xué)習(xí)的跨領(lǐng)域特征交互思路,計(jì)劃展開進(jìn)一步探索。
參考文獻(xiàn):
[1]Bordes A, Usunier N, Garcia-Duran A, et al. Translating embeddings for modeling multi-relational data[C]//Neural Information Processing Systems (NIPS). 2013: 1-9.
[2]Covington P, Adams J, Sargin E. Deep neural networks for youtube recommendations[C]//Proceedings of the 10th ACM conference on recommender systems. 2016: 191-198.
[3]Dettmers T, Minervini P, Stenetorp P, et al. Convolutional 2d knowledge graph embeddings[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2018, 32(1).
[4]Dziugaite G K, Roy D M, Ghahramani Z. Training generative neural networks via maximum mean discrepancy optimization[J]. arXiv preprint arXiv:1505.03906, 2015.
[5]He R, Kang W C, McAuley J. Translation-based recommendation[C]//Proceedings of the eleventh ACM conference on recommender systems. 2017: 161-169.
[6]Huang J T, Sharma A, Sun S, et al. Embedding-based retrieval in facebook search[C]//Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2020: 2553-2561.
[7]Ma J, Zhao Z, Yi X, et al. Modeling task relationships in multi-task learning with multi-gate mixture-of-experts[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2018: 1930-1939.
[8]Song W, Shi C, Xiao Z, et al. Autoint: Automatic feature interaction learning via self-attentive neural networks[C]//Proceedings of the 28th ACM International Conference on Information and Knowledge Management. 2019: 1161-1170.
[9]Sun F, Liu J, Wu J, et al. BERT4Rec: Sequential recommendation with bidirectional encoder representations from transformer[C]//Proceedings of the 28th ACM international conference on information and knowledge management. 2019: 1441-1450.
[10]Wang J, Yu L, Zhang W, et al. Irgan: A minimax game for unifying generative and discriminative information retrieval models[C]//Proceedings of the 40th International ACM SIGIR conference on Research and Development in Information Retrieval. 2017: 515-524.