【摘 "要】 推薦系統(tǒng)旨在挖掘用戶歷史興趣偏好訓(xùn)練模型,再用模型為用戶提供個(gè)性化推薦。模型的好壞主要取決于模型的記憶及泛化能力。要想充分挖掘用戶興趣偏好,常見的做法包括通過(guò)特征遷移學(xué)習(xí)挖掘用戶在多個(gè)場(chǎng)景下的興趣。如果目標(biāo)場(chǎng)景樣本量不足,模型容易陷入過(guò)擬合。實(shí)驗(yàn)表明可以通過(guò)樣本遷移學(xué)習(xí)、基于對(duì)抗式的遷移學(xué)習(xí)及基于多任務(wù)聯(lián)合訓(xùn)練遷移學(xué)習(xí)等方法解決此問(wèn)題。其他包括但不限制于用戶物品冷啟動(dòng)問(wèn)題,推薦系統(tǒng)的重排策略等,均可對(duì)遷移學(xué)習(xí)方法進(jìn)行優(yōu)化。總而言之,遷移學(xué)習(xí)與推薦系統(tǒng)存在密不可分的關(guān)系。
【關(guān)鍵詞】 推薦系統(tǒng);遷移學(xué)習(xí);特征挖掘;個(gè)性化推薦;多任務(wù)模型
遷移學(xué)習(xí)研究的是如何利用已有知識(shí)來(lái)解決新的問(wèn)題,廣泛用于物品識(shí)別、風(fēng)格轉(zhuǎn)化、推薦系統(tǒng)等領(lǐng)域[1]。本文主要研究遷移學(xué)習(xí)在推薦系統(tǒng)的應(yīng)用,通過(guò)一個(gè)比較典型的案例,分析案例中源場(chǎng)景及目標(biāo)場(chǎng)景的差異,結(jié)合目標(biāo)場(chǎng)景的線上業(yè)務(wù)目標(biāo),分別介紹使用何種遷移學(xué)習(xí)方案提升目標(biāo)場(chǎng)景業(yè)務(wù)指標(biāo)以及為何使用該方案;使用改方案存在什么問(wèn)題,以及如何對(duì)當(dāng)前方案進(jìn)行修改升級(jí),從而保留當(dāng)前方案的優(yōu)點(diǎn)、摒棄缺點(diǎn);使用不同遷移學(xué)習(xí)方案下實(shí)驗(yàn)的離線及在線效果評(píng)估;對(duì)比不同解決方案效果進(jìn)行分析,最終凝練知識(shí),形成方法論。
一、背景
目標(biāo)場(chǎng)景為新上線的短視頻推薦場(chǎng)景(下文稱為目標(biāo)場(chǎng)景)。目標(biāo)為優(yōu)化短視頻場(chǎng)景下雙塔召回模型[2]。由于該場(chǎng)景新上線,沒有累計(jì)足夠多的場(chǎng)景內(nèi)用戶行為信息,導(dǎo)致模型預(yù)估精度偏低。考慮信息流圖文場(chǎng)景(下文稱為源場(chǎng)景)運(yùn)營(yíng)足夠成熟,源場(chǎng)景下用戶行為豐富。待優(yōu)化的目標(biāo)用戶(目標(biāo)場(chǎng)景下用戶)與源場(chǎng)景下用戶交集占96%,且這部分用戶在源場(chǎng)景下人均使用時(shí)長(zhǎng)大于5分鐘,加上源場(chǎng)景與目標(biāo)場(chǎng)景同屬于內(nèi)容消費(fèi)相關(guān)場(chǎng)景,具備極大的遷移價(jià)值。因此可通過(guò)遷移學(xué)習(xí)的方式,充分利用用戶源場(chǎng)景下知識(shí),彌補(bǔ)由于目標(biāo)場(chǎng)景下用戶行為不足無(wú)法充分表征用戶內(nèi)容興趣的問(wèn)題。充分利用源場(chǎng)景下樣本量豐富的特性,選擇合適的遷移學(xué)習(xí)方法提升目標(biāo)場(chǎng)景模型預(yù)估能力。
二、相關(guān)工作
(一)基于特征的遷移學(xué)習(xí)
考慮用戶在目標(biāo)場(chǎng)景下行為不足,統(tǒng)計(jì)用戶在目標(biāo)場(chǎng)景對(duì)不同Tag類目視頻的偏好也不全面。源場(chǎng)景與目標(biāo)場(chǎng)景同屬于內(nèi)容消費(fèi)相關(guān)場(chǎng)景。對(duì)源場(chǎng)景及目標(biāo)場(chǎng)景下Item選擇相同Tag分類規(guī)則,采樣統(tǒng)計(jì)用戶在源場(chǎng)景及目標(biāo)場(chǎng)景下Tag偏好,發(fā)現(xiàn)盡管源場(chǎng)景和目標(biāo)場(chǎng)景內(nèi)容呈現(xiàn)形態(tài)不同(圖文內(nèi)容、視頻內(nèi)容),但單個(gè)用戶對(duì)內(nèi)容Tag興趣存在很大的關(guān)聯(lián)性及一致性。因此希望挖掘統(tǒng)計(jì)用戶在源場(chǎng)景下對(duì)不同內(nèi)容Tag類目偏好構(gòu)造特征,然后把這部分特征作為用戶特征加入目標(biāo)場(chǎng)景模型中來(lái)。具體流程:先使用目標(biāo)場(chǎng)景內(nèi)容理解模型對(duì)源場(chǎng)景下Item劃分所屬Tag類目及相關(guān)性,譬如item1:才藝0.4;教育0.4;舞蹈0.2,item2:美食0.7;母嬰親子0.3。統(tǒng)計(jì)每個(gè)用戶近30天在源場(chǎng)景下對(duì)內(nèi)容Item的有效消費(fèi)(閱讀時(shí)長(zhǎng)超過(guò)指定閾值或?yàn)g覽長(zhǎng)度超過(guò)整篇圖文內(nèi)容占比超過(guò)指定閾值)。再對(duì)這些Item按其Tag類目及權(quán)重占比加權(quán),得到用戶在源場(chǎng)景下Tag偏好及打分。最后對(duì)其按打分進(jìn)行降序排序,選擇出用戶最感興趣的N個(gè)Tag類目作為特征。同理使用與目標(biāo)場(chǎng)景內(nèi)容理解模型對(duì)源場(chǎng)景下Item抽取關(guān)鍵詞,再根據(jù)用戶近30天在源場(chǎng)景下對(duì)內(nèi)容Item有效消費(fèi)統(tǒng)計(jì)用戶感興趣的TopM個(gè)關(guān)鍵詞作為特征。最后把這些特征作為用戶實(shí)時(shí)動(dòng)態(tài)畫像特征加入目標(biāo)場(chǎng)景模型中參與訓(xùn)練及線上預(yù)估。
訓(xùn)練樣本與基線訓(xùn)練樣本一致,只是用戶側(cè)特征增加用戶在源場(chǎng)景下的興趣特征。
(二)基于多任務(wù)模型聯(lián)合訓(xùn)練遷移學(xué)習(xí)
由于目標(biāo)場(chǎng)景下目標(biāo)模型整體為DNN結(jié)構(gòu)。模型的底層輸入特征會(huì)先通過(guò)hash再隨機(jī)構(gòu)造低緯稠密向量Embedding[3]。分析目標(biāo)場(chǎng)景下總樣本量偏少,導(dǎo)致模型對(duì)底層輸入特征Embedding訓(xùn)練不充分。即使直接在模型中加入用戶在源場(chǎng)景下的興趣特征,也會(huì)因?yàn)闃颖玖坎蛔阌绊懱卣鞅憩F(xiàn)。而源場(chǎng)景下樣本量大,希望聯(lián)合源場(chǎng)景下樣本一起訓(xùn)練模型。利用多任務(wù)模型的參數(shù)共享特性[4],模型通過(guò)梯度下降共同優(yōu)化底層輸入特征Embedding。源場(chǎng)景樣本除了可以實(shí)現(xiàn)優(yōu)化新引入的用戶源場(chǎng)景興趣特征,亦可同時(shí)訓(xùn)練用戶在短視頻場(chǎng)景下獨(dú)有特征(Session播放列表特征等)以及其他用戶靜態(tài)畫像特征(UserId、性別、年齡等),從而間接遷移學(xué)習(xí)源場(chǎng)景知識(shí)提升模型的表達(dá)能力。
模型采用多任務(wù)雙塔召回模型,結(jié)構(gòu)如圖1所示。由于目標(biāo)場(chǎng)景下Item與源場(chǎng)景下Item不同,所以分別構(gòu)建Item tower子網(wǎng)絡(luò)。Item tower輸入特征為對(duì)應(yīng)Item物料畫像特征(ItemId、Tag、OCR、上線日期等)以及Item動(dòng)態(tài)畫像特征(統(tǒng)計(jì)類特征)。Item tower分別輸出一個(gè)64維的Item Embedding。User Tower輸入特征為用戶靜態(tài)畫像特征、用戶目標(biāo)場(chǎng)景動(dòng)態(tài)畫像特征(Session播放列表、統(tǒng)計(jì)類特征等)以及用戶源場(chǎng)景動(dòng)態(tài)畫像特征(感興趣Tag類目、感興趣Key word特征等)。User tower輸出一個(gè)64維的User Embedding。兩個(gè)待優(yōu)化任務(wù)模型共享User Embedding及User tower子網(wǎng)絡(luò)。logit=cosine(User Embedding,Item Embedding)。最后使用交叉熵?fù)p失函數(shù)計(jì)算loss。
目標(biāo)場(chǎng)景訓(xùn)練樣本選?。耗繕?biāo)場(chǎng)景正樣本選取用戶在目標(biāo)場(chǎng)景下有效播放樣本,采用正負(fù)樣本比為1:20的對(duì)全局Item隨機(jī)采樣進(jìn)而構(gòu)建負(fù)樣本。
源場(chǎng)景訓(xùn)練樣本選?。哼x取近120天在目標(biāo)場(chǎng)景有消費(fèi)行為的用戶在源場(chǎng)景下有效閱讀樣本作為正樣本,采用正負(fù)樣本比為1:20的對(duì)全局Item隨機(jī)采樣進(jìn)而構(gòu)建負(fù)樣本。
訓(xùn)練流程:訓(xùn)練流程方案可以分成兩種:把所有樣本隨機(jī)打散進(jìn)行模型訓(xùn)練(MODEL2-1)。也可以先全部訓(xùn)練源場(chǎng)景樣本再訓(xùn)練目標(biāo)場(chǎng)景樣本(MODEL2-2)。最終評(píng)估樣本為目標(biāo)場(chǎng)景樣本,因此猜測(cè)第二種訓(xùn)練流程方案在離線及在線表現(xiàn)會(huì)優(yōu)于第一種。
(三)基于特征Embedding提取的遷移學(xué)習(xí)
基于多任務(wù)模型聯(lián)合訓(xùn)練遷移學(xué)習(xí)中共用User Tower及User Embedding,充分利用源場(chǎng)景樣本對(duì)底層輸入特征Embedding訓(xùn)練的同時(shí),也導(dǎo)致User Tower及User Embedding需要平衡擬合不同任務(wù)下不同空間域的Item Embedding。這會(huì)導(dǎo)致模型的User Tower及User Embedding無(wú)法專注于擬合短視頻場(chǎng)景任務(wù)下的Item Embedding??紤]到目標(biāo)僅為優(yōu)化目標(biāo)場(chǎng)景下召回模型,而不需要優(yōu)化源場(chǎng)景下的召回模型。這種情況會(huì)給最終目標(biāo)帶來(lái)負(fù)向效果。可以設(shè)置這兩項(xiàng)任務(wù)目標(biāo)的權(quán)重,通過(guò)模型訓(xùn)練時(shí)降低源場(chǎng)景任務(wù)權(quán)重,從而令User Tower及User Embedding更加傾向于貼合目標(biāo)場(chǎng)景Item Embedding。但是這樣做也會(huì)影響引入源場(chǎng)景樣本優(yōu)化訓(xùn)練User Tower底層輸入特征Embedding的效果。
可以把多任務(wù)模型拆解成兩個(gè)獨(dú)立模型。源場(chǎng)景模型用于訓(xùn)練學(xué)習(xí)User tower輸入特征Embedding。再把充分訓(xùn)練過(guò)的User tower輸入特征Embedding合并到目標(biāo)場(chǎng)景模型的User tower的輸入層作為遷移知識(shí)的輸入。最后再用近7天目標(biāo)場(chǎng)景樣本對(duì)遷移模型(最終目標(biāo)場(chǎng)景模型)進(jìn)行Fine tune。既保留源場(chǎng)景樣本訓(xùn)練學(xué)習(xí)輸入特征Embedding的優(yōu)點(diǎn),又規(guī)避了由于User Tower及User Embedding直接共享所帶來(lái)的缺陷。各模型結(jié)構(gòu)及遷移合并訓(xùn)練的訓(xùn)練流程如圖2所示。
(四)模型上線及線上serving
天級(jí)別訓(xùn)練源場(chǎng)景樣本雙塔模型,天級(jí)別更新合并遷移模型,使用近7天目標(biāo)場(chǎng)景樣本對(duì)遷移模型進(jìn)行Fine tune。每隔一個(gè)小時(shí)使用最近一小時(shí)目標(biāo)場(chǎng)景樣本對(duì)當(dāng)前模型進(jìn)行增量模型訓(xùn)練得到實(shí)時(shí)模型。使用最新版本模型對(duì)Item做離線預(yù)估出Item Embedding推送更新到Faiss索引文件。模型Serving對(duì)線上用戶實(shí)時(shí)預(yù)估User Embedding。Faiss服務(wù)根據(jù)User Embedding檢索TopN ItemId返回作為本次模型召回內(nèi)容。
三、實(shí)驗(yàn)及效果評(píng)估
(一)模型離線訓(xùn)練集與測(cè)試集
模型離線訓(xùn)練集采用相同周期內(nèi)源場(chǎng)景及目標(biāo)場(chǎng)景120天樣本。離線評(píng)估測(cè)試集為目標(biāo)場(chǎng)景第121~127天樣本。
(二)模型離線及線上效果評(píng)估
模型離線評(píng)估指標(biāo)為AUC。模型線上實(shí)驗(yàn)流量按UserId進(jìn)行隨機(jī)劃分。在線評(píng)估指標(biāo)統(tǒng)計(jì)相同上線周期內(nèi)一周線上效果。評(píng)估指標(biāo)有Video View占比、人均播放時(shí)長(zhǎng)以及次日留存率,且均采用基線BASE提升百分百統(tǒng)計(jì)。
(三)對(duì)照組及實(shí)驗(yàn)組模型設(shè)計(jì)
1. BASE是不做任何遷移學(xué)習(xí)的基線模型。2. MODEL1是章節(jié)(二)介紹的在基線模型基礎(chǔ)上加上用戶源場(chǎng)景興趣特征模型。3. MODEL2-1是章節(jié)(二)介紹的訓(xùn)練流程采取所有樣本隨機(jī)打散訓(xùn)練的模型(含用戶源場(chǎng)景興趣特征)。4. MODEL2-2是章節(jié)(二)介紹的訓(xùn)練流程采取先訓(xùn)練源場(chǎng)景樣本再訓(xùn)練目標(biāo)場(chǎng)景樣本的模型(含用戶源場(chǎng)景興趣特征)。5. MODEL3是章節(jié)(三)介紹的遷移學(xué)習(xí)模型(含用戶源場(chǎng)景興趣特征)。
(四)不同模型離線及線上效果比較
表1展示了在選擇不同遷移學(xué)習(xí)模型的情況下離線及在線的效果。
(五)結(jié)果
1. 對(duì)比MODEL1與BASE,挖掘遷移用戶源場(chǎng)景興趣特征確實(shí)能提升模型預(yù)估準(zhǔn)確性。2. 對(duì)比MODEL2-1與MODEL1,疊加對(duì)源場(chǎng)景樣本的遷移學(xué)習(xí),模型可以在不添加額外特征的情況下取得較大的提升。3. 對(duì)比MODEL2-1與MODEL2-2,離線及在線效果差異不大。可能是因?yàn)槟P投际前刺旒?jí)別進(jìn)行迭代訓(xùn)練,且樣本回溯訓(xùn)練周期為120天,不同訓(xùn)練流程下真正影響的只有最近一天數(shù)據(jù),對(duì)模型影響不大。4. 對(duì)比MODEL2-2與MODEL3,獨(dú)立出源模型用于訓(xùn)練學(xué)習(xí)User tower輸入特征Embedding,確實(shí)能給模型預(yù)估帶來(lái)更大的提升。
四、結(jié)論和展望
研究結(jié)合了源場(chǎng)景和目標(biāo)場(chǎng)景均同屬于內(nèi)容消費(fèi)相關(guān)場(chǎng)景的特性,可以使用基于特征的遷移學(xué)習(xí)模型。利用目標(biāo)場(chǎng)景模型(雙塔召回模型)具備DNN模型對(duì)輸入特征Embedding學(xué)習(xí)的特點(diǎn)及User Tower和Item Tower分離的特性,可使用基于特征Embedding提取的遷移學(xué)習(xí)以及基于多任務(wù)模型聯(lián)合訓(xùn)練的遷移學(xué)習(xí)。當(dāng)然遷移學(xué)習(xí)不僅僅局限于以上方法,目前我們也在嘗試使用基于樣本權(quán)重的遷移學(xué)習(xí)、基于異構(gòu)的遷移學(xué)習(xí)以及基于對(duì)抗式的遷移學(xué)習(xí)。
參考文獻(xiàn):
[1] 王晉東,陳益強(qiáng). 遷移學(xué)習(xí)導(dǎo)論[M]. 北京:電子工業(yè)出版社,2021:135-145.
[2] Yi X,Yang J,Hong L,et al. Sampling-bias-corrected neural modeling for large corpus item recommendations[C]. Proceedings of the 13th ACM Conference on Recommender Systems,2019:269-277.
[3] 王喆. 深度學(xué)習(xí)推薦系統(tǒng)[M]. 北京:電子工業(yè)出版社,2020:103.
[4] Ma J,Zhao Z, Yi X,et al. Modeling task relationships in Multi-task learning with Multi-gate Mixture-of-Experts[C]. In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery amp; Data Mining,2018:1930-1939.