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