排序模型一定要嘗試的特征交叉技巧,多場景驗證有效
今天給大家介紹兩篇經(jīng)典的工作,這兩篇工作都是針對推薦系統(tǒng)中排序模型的優(yōu)化,方法有一些相似之處,都是利用門控網(wǎng)絡(luò)對底層特征進(jìn)行交叉。最關(guān)鍵的在于,這類方法已經(jīng)在很多真實業(yè)務(wù)場景中被驗證效果顯著,非常值得還沒有應(yīng)用這類方法的同學(xué)進(jìn)行嘗試。
1.MaskNet
論文標(biāo)題:MaskNet: Introducing Feature-Wise Multiplication to CTR Ranking Models by Instance-Guided Mask
下載地址:??https://arxiv.org/abs/2102.07619??
MaskNet是2021年發(fā)表的一篇工作,引入instance-guided的mask,并使用該mask對embedding layer和hidden layer進(jìn)行element wise乘法,實現(xiàn)bit-wise的注意力機(jī)制。本文在三個工業(yè)數(shù)據(jù)集上驗證了MaskNet的有效性,證明了本文方法能夠有效捕捉高階特征交互。
MaskNet的核心模塊是Instance-Guided Mask,結(jié)構(gòu)如下圖所示,由兩層FC layer組成,第一層稱為aggregation layer,第二層為projection layer。輸入為feature embedding layer。注意第一層FC layer寬度較寬,第二層FC layer寬度相對較小,保持和輸入維度相同。得到mask之后可以將其用于embedding層或者是隱層。
instance-guided mask可以認(rèn)為是一種特殊的bit-wise的attention機(jī)制或者是門機(jī)制,使用instance中包含的global 上下文信息指導(dǎo)訓(xùn)練中的參數(shù)更新,有效捕捉復(fù)雜特征交互。mask中數(shù)值大的元素認(rèn)為更重要,可以boost emb/hidden中的對應(yīng)元素。mask中數(shù)值小的元素認(rèn)為相對來說不重要或者認(rèn)為是噪音,相應(yīng)的 emb/hidden中的對應(yīng)元素會被減小,達(dá)到弱化噪音,強(qiáng)化有用信號的目標(biāo)。
基于Instance-Guided Mask可以組成MaskNet中的基礎(chǔ)結(jié)構(gòu),MaskBlock,包含三個組件:layer normalization, instance-guided mask, feed-forward hidden layer,可以有兩種輸入,當(dāng)輸入為Feature Embedding時,計算方法如下:
當(dāng)輸入為上一層MaskBlock的輸出時,多個MaskBlock可以堆疊形成一個更深的網(wǎng)絡(luò):
MaskBlock作為一個基本的構(gòu)成單元,可以用于搭建Serial Model(SerMaskNet)和Parallel Model(ParaMaskNet),形成最終的MaskNet結(jié)構(gòu)。其中SerMaskNet是類似于時間序列預(yù)估任務(wù),ParaMaskNet類似于多專家網(wǎng)絡(luò)/多頭注意力機(jī)制。兩種網(wǎng)絡(luò)結(jié)構(gòu)圖如下所示:
本文在三個工業(yè)CTR數(shù)據(jù)集上驗證了MaskNet的有效性,SermaskNet在Malware和Avazu數(shù)據(jù)集取得最優(yōu)效果,在Criteo數(shù)據(jù)集上取得次優(yōu)效果。ParaMastNet在Criteo數(shù)據(jù)集上取得最優(yōu)效果,在Malware和Avazu數(shù)據(jù)集上取得次優(yōu)效果。
2.PEPNet
論文標(biāo)題:Kuaishou-PEPNet: Parameter and Embedding Personalized Network for Infusing with Personalized Prior Information
下載地址:??https://arxiv.org/pdf/2302.01115??
PEPNet是快手在2023年KDD發(fā)表的一篇工作,然而其在發(fā)表之前就已經(jīng)在多個場景取得了顯著效果,程維排序模型的基礎(chǔ)組件之一。
傳統(tǒng)推薦模型聚焦在單個領(lǐng)域單個任務(wù)的預(yù)估。但是現(xiàn)實中,推薦的數(shù)據(jù)分布在多個場景中,例如淘寶的猜你喜歡(購前),看了又看(購中),你可能還喜歡(購后)等場景。
不同的場景中,user和item有重疊,因此不同場景中存在共性。不同的task也存在依賴關(guān)系。為每個場景中的每個任務(wù)訓(xùn)練單獨模型,開發(fā)成本和后續(xù)迭代成本較大,并且由于沒有充分利用場景和任務(wù)之間的共性,只能得到次優(yōu)解。而將所有數(shù)據(jù)混合訓(xùn)練會由于多個場景數(shù)據(jù)量和多個任務(wù)目標(biāo)的稀疏性出現(xiàn)蹺蹺板現(xiàn)象。目前已有的解法包括以下兩種:?
multi-domain方法:將多個領(lǐng)域的特征對齊,但是忽略了多個target之間的依賴;
multi-task方法:擬合多個target的分布但是忽略了多個domain特征空間的語義差異;
現(xiàn)實中的推薦系統(tǒng)是一個multi-task && multi-domain問題,目前工業(yè)界缺乏在這種問題上的解法。
個性化建模始終是推薦系統(tǒng)的核心。multi-domain && multi-task任務(wù)可以認(rèn)為是user和item在不同situation下的交互,因此個性化建??梢詭椭徑鈓ulti-task && multi-domain中的double seesaw問題。目前的很多做法在網(wǎng)絡(luò)輸入層使用個性化先驗知識(如item_id, user_id等),但隨著網(wǎng)絡(luò)越來越深,這些個性化知識作用越來越小。因此本文提出了PEPNet, 在正確的地方以正確的方式加入用戶個性化信息,通過增強(qiáng)個性化來消除multi task && multi domain任務(wù)中的預(yù)估偏差。模型結(jié)構(gòu)如下圖所示:
EPNet:注入領(lǐng)域特定的先驗信息。使用domain-side特征作為輸入,包括domain ID和domain特定的個性化數(shù)值特征,如用戶行為/商品曝光的數(shù)值統(tǒng)計特征。????? 是gate nu function,不進(jìn)行梯度回傳
PPNet: 每個task tower中拼接user和item的個性化信息來獲取個性化的gate scores,通過門機(jī)制,在多任務(wù)中根據(jù)用戶興趣不同對DNN網(wǎng)絡(luò)參數(shù)進(jìn)行動態(tài)化調(diào)整。傳統(tǒng)任務(wù)在擬合multi-task任務(wù)時,使用DNN網(wǎng)絡(luò),網(wǎng)絡(luò)的參數(shù)都是一樣的,缺乏個性化。不可避免的帶來seesaw問題。使用用戶側(cè)/商品 側(cè)/作者側(cè)的特征作為個性化先驗知識,例如user_id/author_id和其他他正,構(gòu)建DNN網(wǎng)絡(luò)裁剪用戶興趣
之后使用element-wise乘法作用于DNN中的每一個隱層進(jìn)行個性化squash,對參數(shù)進(jìn)行個性化選擇:
模型離線效果如下圖所示,PEPNets在絕大多數(shù)的domain的task上取得了最優(yōu)結(jié)果,在稀疏domain和稀疏task上效果更明顯,說明PEPNet能較大幅度地緩解multi-domain和multi-task之間的double seesaw問題。
在線實驗上,在Like, Follow, Forward, Watch Time上都取得了超過1%的提升。
本文轉(zhuǎn)載自 ??圓圓的算法筆記??,作者: Lumia
