推薦系統(tǒng)遇上深度學(xué)習(xí)(一三二)-[阿里]點(diǎn)擊率預(yù)估中的自適應(yīng)參數(shù)生成網(wǎng)絡(luò)

今天給大家分享一篇阿里發(fā)表的關(guān)于神經(jīng)網(wǎng)絡(luò)中網(wǎng)絡(luò)參數(shù)自適應(yīng)生成的文章,不僅可以做到不同的樣本有不同的網(wǎng)絡(luò)參數(shù),同時(shí)通過拆分矩陣等操作大大提升了推理性能,一起來學(xué)習(xí)一下。

1、背景

當(dāng)前CTR預(yù)估的主要研究方向大致可以分為兩個(gè)方面:
1)豐富輸入特征:如引入用戶行為序列,多模態(tài)信息,知識(shí)圖譜信息等等
2)更先進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì):如設(shè)計(jì)多樣的特征交叉模塊,自動(dòng)的網(wǎng)絡(luò)結(jié)構(gòu)搜索等等

除此之外,另一種提升模型效果的方面,網(wǎng)絡(luò)參數(shù)的優(yōu)化,則很少受到關(guān)注。目前大多數(shù)模型針對(duì)所有的輸入樣本都采用相同的網(wǎng)絡(luò)參數(shù)。這種方式存在以下兩方面的缺點(diǎn):
1)通過共享的參數(shù)W可以學(xué)習(xí)樣本的共性模式,但對(duì)于學(xué)習(xí)樣本中的特有模式則并不友好。以淘寶為例,如下圖所示,不同用戶如高頻用戶和冷啟動(dòng)用戶的樣本分布存在較大的差距,對(duì)所有的樣本使用相同的網(wǎng)絡(luò)參數(shù)很難從不同的分布中捕捉每個(gè)樣本的特性。

2)模型學(xué)習(xí)到的共性模式,容易被高頻的用戶或特征所主導(dǎo),以至于并不是對(duì)所有樣本都是適合的。

因此,除學(xué)習(xí)樣本中的共性模式外,網(wǎng)絡(luò)參數(shù)應(yīng)該更加具有適應(yīng)性,能夠隨著不同的輸入樣本動(dòng)態(tài)改變來捕獲樣本中的特有模式。但是,想要實(shí)現(xiàn)針對(duì)不同樣本的自適應(yīng)參數(shù)生成,需要解決以下兩方面的挑戰(zhàn):
1)高效的計(jì)算和存儲(chǔ)
2)同時(shí)學(xué)習(xí)樣本間的共性模式和單個(gè)樣本內(nèi)的特有模式

為了解決以上兩方面的挑戰(zhàn),論文提出了Adaptive Parameter Generation network (以下簡稱APG),一起來看一下。

2、APG介紹

2.1 APG框架簡介

APG的整體框架如下圖所示??梢钥吹剑槍?duì)輸入樣本i,xi為樣本i的輸入特征,zi為樣本i的狀態(tài)(condition)向量。

樣本的特有參數(shù)基于狀態(tài)向量生成,并用于DeepCTR部分的前向計(jì)算,得到點(diǎn)擊率預(yù)估值。整個(gè)框架可以用如下的公式表示。

那么,樣本i的狀態(tài)向量zi是如何生成的呢?模型參數(shù)生成如何保證高效性和有效性呢?接下來的兩節(jié)進(jìn)行分別的介紹。

2.2 狀態(tài)(condition)向量生成

論文給出了三種狀態(tài)向量zi生成的方式,分別為Group-wise,Mix-wise和Self-wise。

Group-wise

Group-wise基于一定的規(guī)則對(duì)樣本進(jìn)行聚類,同一類別下的樣本使用相同的狀態(tài)向量來生成網(wǎng)絡(luò)參數(shù),以此來學(xué)習(xí)不同類別的特有模式。如使用用戶id的embedding作為狀態(tài)向量,相同用戶的不同樣本使用相同的參數(shù),不同的用戶參數(shù)則不同。

Mix-wise

Mix-wise策略使用多個(gè)狀態(tài)向量,如用戶id的embedding和最近點(diǎn)擊item的embedding的組合。不同的狀態(tài)向量之間的組合可以有輸入聚合和輸出聚合兩種聚合方式。
1)輸入聚合(Input Aggregation):首先對(duì)不同的狀態(tài)向量進(jìn)行聚合,隨后生成網(wǎng)絡(luò)參數(shù)。聚合可以采用拼接,avg-pooling或者attention的方式。
2)輸出聚合(Output Aggregation):不同的狀態(tài)向量生成對(duì)應(yīng)的網(wǎng)絡(luò)參數(shù),隨后對(duì)參數(shù)進(jìn)行聚合。聚合同樣可以采用拼接,avg-pooling或者attention的方式。

Self-wise

前面兩種方式需要額外的先驗(yàn)知識(shí)對(duì)狀態(tài)向量進(jìn)行設(shè)計(jì),而Self-wise策略則使用簡單易獲取的知識(shí)進(jìn)行狀態(tài)向量設(shè)計(jì),如網(wǎng)絡(luò)的第1層對(duì)應(yīng)的狀態(tài)向量為樣本輸入向量xi,第l層對(duì)應(yīng)的狀態(tài)向量為網(wǎng)絡(luò)第l-1層的輸出。

不同的狀態(tài)向量生成策略從實(shí)驗(yàn)結(jié)果看各有好壞,實(shí)際應(yīng)用中可以靈活選擇。

2.3 參數(shù)設(shè)計(jì)

基本思路

這一節(jié),我們以最簡單的一層全鏈接網(wǎng)絡(luò)作為DeepCTR部分進(jìn)行介紹。
當(dāng)狀態(tài)向量獲取后,最基本的思路是通過MLP層得到網(wǎng)絡(luò)參數(shù),用于DeepCTR部分的前向計(jì)算:

其中,狀態(tài)向量zi維度為D,網(wǎng)絡(luò)參數(shù)Wi維度為N*M,那么這種方式的計(jì)算(時(shí)間)復(fù)雜度為O(NMD+NM)(參數(shù)生成的計(jì)算復(fù)雜度為O(NMD),DeepCTR部分的計(jì)算復(fù)雜度為O(NM)),存儲(chǔ)(空間)復(fù)雜度為O(NMD)。相比于傳統(tǒng)的共享參數(shù)的方式(計(jì)算復(fù)雜度和存儲(chǔ)復(fù)雜度均為O(NM)),計(jì)算復(fù)雜度為D+1倍,存儲(chǔ)復(fù)雜度為D倍。那么該如何降低復(fù)雜度呢?

Low-rank parameterization降低復(fù)雜度

論文采用了Low-rank parameterization的方式,將網(wǎng)絡(luò)參數(shù)Wi拆解為三個(gè)矩陣:

Ui,Si,Vi的維度分別為N*K,K*K,K*M。

此時(shí)DeepCTR部分的前向計(jì)算過程變?yōu)椋?/p>

進(jìn)行如上的優(yōu)化后,網(wǎng)絡(luò)的存儲(chǔ)復(fù)雜度變?yōu)镺((NK+MK+KK)D),由于K往往遠(yuǎn)小于N和M的最小值,因此存儲(chǔ)復(fù)雜度可以近似為O((NK+MK)D),而計(jì)算復(fù)雜度為O((NK+MK)(D+1))(參數(shù)生成的計(jì)算復(fù)雜度為O((NK+MK)D),DeepCTR部分的計(jì)算復(fù)雜度為O(NK+MK))。

Parameter sharing學(xué)習(xí)共性模式

背景中提到,APG需要解決兩方面的挑戰(zhàn),上述Low-rank parameterization的方式,使得模型的計(jì)算和存儲(chǔ)更加高效。接下來需要解決的挑戰(zhàn)是:如何同時(shí)學(xué)習(xí)樣本間的共性模式和單個(gè)樣本內(nèi)的特有模式?

論文采用的是參數(shù)共享的方式,即UV矩陣所有實(shí)例共享,學(xué)習(xí)所有樣本的共性模式,S矩陣為樣本獨(dú)有,學(xué)習(xí)樣本的特有模式:

這樣,存儲(chǔ)和計(jì)算復(fù)雜度被進(jìn)一步降低。

Over Parameterization提升模型表達(dá)能力

雖然已經(jīng)解決了APG所面臨的兩方面的挑戰(zhàn),但是共享的矩陣UV由于維度K的限制(K<<min(N,M)),在一定程度上約束了模型的表達(dá)能力,因此論文提出了一種過度參數(shù)化(Over Parameterization)的方法,進(jìn)一步將矩陣UV拆解為兩個(gè)大矩陣的相乘:

盡管使用了過度參數(shù)化的方法,但模型訓(xùn)練完成后,可以直接存儲(chǔ)VU,不必存儲(chǔ)對(duì)應(yīng)的拆分的大矩陣,因此并沒有帶來額外的線上的預(yù)測耗時(shí)和存儲(chǔ)空間。

2.4 復(fù)雜度分析

關(guān)于模型的復(fù)雜度咱們前面也介紹過一些了,這里就不再做更詳細(xì)的介紹,直接貼論文給出的總結(jié)表格,感興趣的同學(xué)可以詳細(xì)看下:

3、實(shí)驗(yàn)結(jié)果及分析

最后來看下實(shí)驗(yàn)結(jié)果:

更加詳細(xì)的實(shí)驗(yàn)結(jié)果大家可以參考原論文,這里就不再做過多介紹。

好了,本文就介紹到這里,思路還是比較新穎的,感興趣的同學(xué)可以閱讀原文~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容