推荐系统炼丹笔记:阿里推荐算法特征交叉新方式CAN
昨天看非常多的群友在討論該篇文章,很是好奇,今天就讀了一下,個(gè)人感覺(jué)本文的co-action操作還是第一次碰到,但該方案在amazu等數(shù)據(jù)集上對(duì)比的方案還是較為弱的,所以是否效果比xDeepFM和NFFM等要好,還是一個(gè)問(wèn)好,但是新的表示co-action的方案還是很值得思考的。有任何問(wèn)題歡迎最后入群交流。好了下面進(jìn)入正文,Let's Go!
目前基于特征交互的模型可以大致分為三類(lèi):
基于Aggregation的方法和基于Graph的方法只通過(guò)邊的權(quán)值對(duì)特征的協(xié)同作用進(jìn)行建模,但是邊緣只用于信息聚合,而不用于信息擴(kuò)充。組合嵌入方法,另一方面,結(jié)合兩個(gè)特征的嵌入來(lái)建立特征的共同作用,但組合嵌入法的問(wèn)題在于, 嵌入負(fù)責(zé)表示學(xué)習(xí)和協(xié)同作用建模,而表示學(xué)習(xí)和協(xié)同建模可能會(huì)互相沖突最終使我們的效果受限。
本文提出了feature Co-Action Network(CAN)捕獲在輸入階段的特征的co-action并且利用交互和共同信息來(lái)對(duì)最終模型的效果進(jìn)行提升。
回顧C(jī)TR預(yù)測(cè)問(wèn)題的特征Co-action
Co-Action網(wǎng)絡(luò)
CAN的整體框架如上,用戶(hù)和商品的特征可以被分為兩種形式:
Co-Action網(wǎng)絡(luò)的最終結(jié)構(gòu)為:
最終,我們通過(guò)最小化cross-entropy:
Co-Action 單元
其中H表示特征的co-action.對(duì)于用戶(hù)序列特征例如用戶(hù)的點(diǎn)擊序列等,co-action單元會(huì)被應(yīng)用到每個(gè)商品上,之后再使用一個(gè)sum-pool。
多階(Multi-order) Enhancement
此處我們使用下面的方式進(jìn)行高階的特征組合:
其中C是階的個(gè)數(shù), 此處我們使用SeLU作為激活函數(shù)(當(dāng)C=1的時(shí)候),同時(shí)我們使用tanh來(lái)避免數(shù)值問(wèn)題。
多層(Multi-level)獨(dú)立性
- 第一層:參數(shù)獨(dú)立性, 我們的方法將表示學(xué)習(xí)和co-action建模區(qū)分,參數(shù)的獨(dú)立性是CAN的基礎(chǔ);
- 第二層:組合獨(dú)立性,特征的co-action隨著特征組合的增加而線性增長(zhǎng),假設(shè)有M個(gè)weight-side和N個(gè)input-side的嵌入,
- 第三層:oders的獨(dú)立性,為了進(jìn)一步提升在multi-order的輸入co-action建模的便利,我們的方法對(duì)不同的oder的商品
在不同的輸入順序下,進(jìn)一步提高了不同輸入順序下的嵌入靈活性。weight-side嵌入的大小相應(yīng)地增加了orders倍。注意,由于MLP在不同的順序項(xiàng)中沒(méi)有參數(shù),因此之前的近似值不可行。
實(shí)驗(yàn)
效果比較
- CAN在這兩個(gè)數(shù)據(jù)集上都優(yōu)于其他最先進(jìn)的方法。與基礎(chǔ)模型DIEN相比,其AUC分別提高了1.7%和2.1%。
- 該方法在很大程度上優(yōu)于其他協(xié)同作用方法,證明了本文方法在協(xié)同作用建模中的有效性。
- 值得注意的是,作為純表示學(xué)習(xí)方法,笛卡爾積方法與PNN、NCF、DeepFM等其他組合嵌入方法相比,可以取得更好的性能,這說(shuō)明雖然這些組合嵌入方法可以提取一些協(xié)同作用特征信息,他們真的可以通過(guò)出色的表現(xiàn)和合作學(xué)習(xí)嵌入。相比之下,CAN比笛卡爾積和結(jié)合嵌入的方法取得了更好的效果,這意味著基于網(wǎng)絡(luò)的CAN機(jī)制可以同時(shí)學(xué)習(xí)表示能力和協(xié)作能力
解耦研究
- Multi orders:多階數(shù)對(duì)性能增益的影響很小,因此在實(shí)際應(yīng)用中,2或3個(gè)power項(xiàng)是合適的。
- MLP depth:8層的MLP可以拿到最好的結(jié)果;
- 激活函數(shù):Tanh的激活函數(shù)可以獲得最好的效果;
模型的普遍性和泛化(Universality and Generalization)
Universality: CAN比大多數(shù)方法的效果要好,和cartesian乘積效果差不大;
在真實(shí)的商業(yè)場(chǎng)景中,每天都會(huì)出現(xiàn)無(wú)數(shù)的功能組合,這就要求CTR模型能夠快速響應(yīng)。推廣對(duì)于實(shí)際應(yīng)用具有重要意義。為此,我們從測(cè)試集中移除包含現(xiàn)有特征組合的樣本。通過(guò)這種方法,我們得到了一個(gè)新的測(cè)試集,其特征組合對(duì)于一個(gè)經(jīng)過(guò)良好訓(xùn)練的模型來(lái)說(shuō)是全新的。請(qǐng)注意,我們只要求特征組合為zero-shot快照,而不是所有特性。
- Generalization: CAN還是工作的非常好, 具有非常好的泛化性。
工業(yè)數(shù)據(jù)集上的表現(xiàn)
CAN在工業(yè)數(shù)據(jù)集上A/B Test上得到了非常大的提升。
小結(jié)
在笛卡爾產(chǎn)品模型的啟發(fā)下,我們提出了一種新的特征交叉范式:Co-Action network,CAN。通過(guò)一個(gè)靈活的模塊,co-action單元,可以將表示學(xué)習(xí)和co-action行為建模分離開(kāi)來(lái)。在co-action單元中引入了多階增強(qiáng)和多層次獨(dú)立性,進(jìn)一步提高了特征協(xié)同建模的能力。實(shí)驗(yàn)表明,該算法的性能優(yōu)于之前的研究成果,對(duì)新的特征組合具有更好的泛化能力。
http://weixin.qq.com/r/XSjP1zrEzGezrX60931P (二維碼自動(dòng)識(shí)別)
總結(jié)
以上是生活随笔為你收集整理的推荐系统炼丹笔记:阿里推荐算法特征交叉新方式CAN的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 炼丹面试官的面试笔记
- 下一篇: 推荐系统炼丹笔记:阿里边缘计算+奉送20