天天看點

推薦系統煉丹筆記:阿裡推薦算法特征交叉新方式CAN

作  者:一進制           

昨天看非常多的群友在讨論該篇文章,很是好奇,今天就讀了一下,個人感覺本文的co-action操作還是第一次碰到,但該方案在amazu等資料集上對比的方案還是較為弱的,是以是否效果比xDeepFM和NFFM等要好,還是一個問好,但是新的表示co-action的方案還是很值得思考的。有任何問題歡迎最後入群交流。好了下面進入正文,Let's Go!

目前基于特征互動的模型可以大緻分為三類:

  1. Aggregation based方法:聚合使用者的曆史行為序列來獲得CTR預估的判别表示;
  2. Graph based方法: 将特征作為節點, 通過有向和無向圖的方式連接配接, 在這種情況下,特征協同作用作為資訊沿邊緣傳播的邊緣權重;
  3. Combinatorial embedding方法:直接明顯的組合特征的embedding;

基于Aggregation的方法和基于Graph的方法隻通過邊的權值對特征的協同作用進行模組化,但是邊緣隻用于資訊聚合,而不用于資訊擴充。組合嵌入方法,另一方面,結合兩個特征的嵌入來建立特征的共同作用,但組合嵌入法的問題在于, 嵌入負責表示學習和協同作用模組化,而表示學習和協同模組化可能會互相沖突最終使我們的效果受限。

本文提出了feature Co-Action Network(CAN)捕獲在輸入階段的特征的co-action并且利用互動和共同資訊來對最終模型的效果進行提升。

回顧CTR預測問題的特征Co-action

推薦系統煉丹筆記:阿裡推薦算法特征交叉新方式CAN

Co-Action網絡

推薦系統煉丹筆記:阿裡推薦算法特征交叉新方式CAN

CAN的整體架構如上,使用者和商品的特征可以被分為兩種形式:

推薦系統煉丹筆記:阿裡推薦算法特征交叉新方式CAN

Co-Action網絡的最終結構為:

推薦系統煉丹筆記:阿裡推薦算法特征交叉新方式CAN

最終,我們通過最小化cross-entropy:

推薦系統煉丹筆記:阿裡推薦算法特征交叉新方式CAN

Co-Action 單元

推薦系統煉丹筆記:阿裡推薦算法特征交叉新方式CAN

其中H表示特征的co-action.對于使用者序列特征例如使用者的點選序列等,co-action單元會被應用到每個商品上,之後再使用一個sum-pool。

多階(Multi-order) Enhancement

此處我們使用下面的方式進行高階的特征組合:

推薦系統煉丹筆記:阿裡推薦算法特征交叉新方式CAN

其中C是階的個數, 此處我們使用SeLU作為激活函數(當C=1的時候),同時我們使用tanh來避免數值問題。

多層(Multi-level)獨立性

  • 第一層:參數獨立性, 我們的方法将表示學習和co-action模組化區分,參數的獨立性是CAN的基礎;
  • 第二層:組合獨立性,特征的co-action随着特征組合的增加而線性增長,假設有M個weight-side和N個input-side的嵌入,
推薦系統煉丹筆記:阿裡推薦算法特征交叉新方式CAN
  • 第三層:oders的獨立性,為了進一步提升在multi-order的輸入co-action模組化的便利,我們的方法對不同的oder的商品

在不同的輸入順序下,進一步提高了不同輸入順序下的嵌入靈活性。weight-side嵌入的大小相應地增加了orders倍。注意,由于MLP在不同的順序項中沒有參數,是以之前的近似值不可行。

實驗

效果比較

推薦系統煉丹筆記:阿裡推薦算法特征交叉新方式CAN
  • CAN在這兩個資料集上都優于其他最先進的方法。與基礎模型DIEN相比,其AUC分别提高了1.7%和2.1%。
  • 該方法在很大程度上優于其他協同作用方法,證明了本文方法在協同作用模組化中的有效性。
  • 值得注意的是,作為純表示學習方法,笛卡爾積方法與PNN、NCF、DeepFM等其他組合嵌入方法相比,可以取得更好的性能,這說明雖然這些組合嵌入方法可以提取一些協同作用特征資訊,他們真的可以通過出色的表現和合作學習嵌入。相比之下,CAN比笛卡爾積和結合嵌入的方法取得了更好的效果,這意味着基于網絡的CAN機制可以同時學習表示能力和協作能力

解耦研究

推薦系統煉丹筆記:阿裡推薦算法特征交叉新方式CAN
  • Multi orders:多階數對性能增益的影響很小,是以在實際應用中,2或3個power項是合适的。
  • MLP depth:8層的MLP可以拿到最好的結果;
  • 激活函數:Tanh的激活函數可以獲得最好的效果;

模型的普遍性和泛化(Universality and Generalization)

推薦系統煉丹筆記:阿裡推薦算法特征交叉新方式CAN

Universality: CAN比大多數方法的效果要好,和cartesian乘積效果差不大;

在真實的商業場景中,每天都會出現無數的功能組合,這就要求CTR模型能夠快速響應。推廣對于實際應用具有重要意義。為此,我們從測試集中移除包含現有特征組合的樣本。通過這種方法,我們得到了一個新的測試集,其特征組合對于一個經過良好訓練的模型來說是全新的。請注意,我們隻要求特征組合為zero-shot快照,而不是所有特性。

推薦系統煉丹筆記:阿裡推薦算法特征交叉新方式CAN
  • Generalization: CAN還是工作的非常好, 具有非常好的泛化性。

工業資料集上的表現

推薦系統煉丹筆記:阿裡推薦算法特征交叉新方式CAN

CAN在工業資料集上A/B Test上得到了非常大的提升。

小結

繼續閱讀