推薦系統(tǒng)遇上深度學(xué)習(xí)(六十二)-[阿里]電商推薦中的特殊特征蒸餾

今天介紹的論文是:《Privileged Features Distillation for E-Commerce Recommendations》
論文下載地址為:https://arxiv.org/abs/1907.05171?context=cs.IR

說(shuō)說(shuō)題目吧,先講講蒸餾(Distillation)的概念,我們知道模型最終都要應(yīng)用于線(xiàn)上,如果太過(guò)復(fù)雜的模型會(huì)導(dǎo)致性能無(wú)法保證,往往會(huì)應(yīng)用一個(gè)比較簡(jiǎn)單的模型。但簡(jiǎn)單的模型有時(shí)難以保證預(yù)測(cè)精度,因此一種做法是訓(xùn)練一個(gè)復(fù)雜的模型作為老師來(lái)指導(dǎo)這個(gè)簡(jiǎn)單模型的訓(xùn)練。這種教師-學(xué)生的訓(xùn)練模式,便稱(chēng)為蒸餾。再講講Privileged Features,我們這里暫且翻譯為特殊特征。好了,進(jìn)入正文吧。

1、背景

在淘寶的推薦系統(tǒng)中,整個(gè)推薦流程可以分為下面的三個(gè)階段:

首先是候選集生成階段(candidate generation),接下來(lái)是粗排階段(coarse-grained ranking),最后是精排階段(fine-grained ranking)。這里跟咱們之前接觸的兩階段過(guò)程不太一樣,接下來(lái)分別介紹各階段的內(nèi)容。

在候選集生成階段,通過(guò)多路召回的方式得到候選集合,召回方式可能有協(xié)同過(guò)濾、DNN模型等等。

在粗排階段,主要的任務(wù)是預(yù)估精排階段返回的候選集中每個(gè)物品的點(diǎn)擊率,然后選擇最高的一些物品進(jìn)入精排階段。粗排階段輸入的特征主要有用戶(hù)的行為特征(用戶(hù)的歷史點(diǎn)擊/購(gòu)買(mǎi)行為,通常通過(guò)RNN或者self-attention進(jìn)行處理)、用戶(hù)自身特征(如用戶(hù)id、性別、年齡)、物品自身特征(如物品id、類(lèi)別、品牌)。在粗排階段,考慮到性能的關(guān)系,模型的復(fù)雜度受到了很大的限制,因此通常是用下面的雙塔結(jié)構(gòu):

點(diǎn)擊率計(jì)算公式如下:

其中Xu和Xi代表用戶(hù)和物品對(duì)應(yīng)的向量,Xu混合了用戶(hù)本身特征和用戶(hù)行為序列特征。Wu和Wi代表用戶(hù)和物品側(cè)的參數(shù),而Φ代表從輸入到輸出的映射關(guān)系。在線(xiàn)上應(yīng)用階段,可以預(yù)先把每個(gè)物品的映射計(jì)算出來(lái),作為詞表進(jìn)行保存,當(dāng)一個(gè)請(qǐng)求到來(lái)時(shí),只需要計(jì)算用戶(hù)側(cè)的映射即可。過(guò)程如下圖所示:

由于性能的限制,在粗排階段沒(méi)有考慮用戶(hù)-物品的一些交互特征,如用戶(hù)過(guò)去24小時(shí)在同類(lèi)別下物品的點(diǎn)擊行為、用戶(hù)在過(guò)去24小時(shí)在物品所在店鋪內(nèi)的點(diǎn)擊行為。加入這些特征,如果放到用戶(hù)側(cè),那么針對(duì)每個(gè)物品都需要計(jì)算一次用戶(hù)側(cè)的映射,如果放到物品側(cè),同樣針對(duì)每個(gè)物品都需要計(jì)算一次物品側(cè)的映射,這會(huì)大大加大計(jì)算復(fù)雜度。因此,這些交互特征對(duì)于粗排階段的模型來(lái)說(shuō),通常在線(xiàn)上無(wú)法應(yīng)用,我們就稱(chēng)為Privileged Features。

最后講一下精排階段,這一階段我們不僅要預(yù)估CTR、還要預(yù)估CVR,因?yàn)殡娚填I(lǐng)域的推薦的目標(biāo)一般是提高GMV(CTR * CVR * Price,商品的Price是確定的,無(wú)需預(yù)估)。CVR的定義是用戶(hù)從點(diǎn)擊到購(gòu)買(mǎi)的概率。那么對(duì)于用戶(hù)購(gòu)買(mǎi)來(lái)說(shuō),用戶(hù)在商品詳情頁(yè)面停留的時(shí)間、對(duì)于評(píng)論的查看與否、是否會(huì)與商家進(jìn)行交流會(huì)是一些比較有用的強(qiáng)特征。但是,這些特征在線(xiàn)上預(yù)估階段是無(wú)法獲取的,我們需要在給用戶(hù)展示物品的時(shí)候就來(lái)預(yù)估CVR,所以對(duì)于CVR預(yù)估來(lái)說(shuō),用戶(hù)在點(diǎn)擊后進(jìn)入到商品詳情頁(yè)的一些特征同樣是Privileged Features。

使用這些Privileged Features,是可以提升模型的預(yù)測(cè)精度的。因此本文借鑒模型蒸餾的思想,讓粗排階段的CTR模型或者是精排階段的CVR模型,都能夠?qū)W習(xí)到一些Privileged Features的信息。下一節(jié),咱們來(lái)具體學(xué)習(xí)一下。

2、特殊特征蒸餾(Privileged Features Distillation)

接下來(lái),咱們以粗排階段的CTR預(yù)估來(lái)講一下本文中提出的蒸餾技術(shù)。

2.1 模型蒸餾 VS 特殊特征蒸餾

先來(lái)看一下模型蒸餾Model Distillation和特殊特征蒸餾Privileged Features Distillation的對(duì)比:

二者的思路都是訓(xùn)練一個(gè)復(fù)雜的Teacher網(wǎng)絡(luò)和一個(gè)簡(jiǎn)單的Student網(wǎng)絡(luò),并通過(guò)Teacher網(wǎng)絡(luò)來(lái)在一定程度上指導(dǎo)Student網(wǎng)絡(luò)的學(xué)習(xí)。對(duì)于模型蒸餾Model Distillation來(lái)說(shuō),兩個(gè)網(wǎng)絡(luò)的輸入是相同的,只是Teacher網(wǎng)絡(luò)的模型結(jié)構(gòu)更加復(fù)雜;對(duì)于Privileged Features Distillation來(lái)說(shuō),兩個(gè)網(wǎng)絡(luò)的結(jié)構(gòu)是相同的,只不過(guò)Teacher網(wǎng)絡(luò)可以輸入更多的Privileged Features。

2.2 Unified Distillation(UD)

如果只使用Privileged Features Distillation,Teacher網(wǎng)絡(luò)和Student網(wǎng)絡(luò)均使用雙塔結(jié)構(gòu)的話(huà),這其實(shí)也對(duì)模型的能力在一定程度上進(jìn)行了限制。因此實(shí)際應(yīng)用中,融合Model Distillation和Privileged Features Distillation,便得到Unified Distillation。其結(jié)構(gòu)示意圖如下:

對(duì)于Teacher網(wǎng)絡(luò),使用多層神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行學(xué)習(xí),而對(duì)于Student網(wǎng)絡(luò),還是使用雙塔結(jié)構(gòu)。

2.3 模型訓(xùn)練

既然是用Teacher網(wǎng)絡(luò)來(lái)指導(dǎo)Student網(wǎng)絡(luò)的訓(xùn)練,那么常見(jiàn)的一種方式是,先訓(xùn)練好一個(gè)比較精確的Teacher網(wǎng)絡(luò),然后再訓(xùn)練Student網(wǎng)絡(luò)。Student網(wǎng)絡(luò)的損失函數(shù)如下:

上面的損失函數(shù)被分為兩部分,兩部分都是計(jì)算交叉熵。其中X*代表Privileged Features。損失的第一部分是可以稱(chēng)為hard loss,其label是[0,1]或者[1,0],第二部分可以稱(chēng)為soft loss或distillation loss,其label是Teacher網(wǎng)絡(luò)的輸出,如[0.8,0.2](0.8的概率點(diǎn)擊,0.2的概率不點(diǎn)擊)。

但是,如果先訓(xùn)練Teacher網(wǎng)絡(luò),在阿里的實(shí)際場(chǎng)景中需要數(shù)天的時(shí)間。因此,一種做法是同時(shí)訓(xùn)練Teacher網(wǎng)絡(luò)和Student網(wǎng)絡(luò),二者的損失函數(shù)變?yōu)椋?/p>

這么做雖然能夠帶來(lái)訓(xùn)練速度的提升,但有時(shí)候的效果是比較差的。這主要是由于在訓(xùn)練的初期,Teacher網(wǎng)絡(luò)的精度不夠,給出的結(jié)果容易誤導(dǎo)Student網(wǎng)絡(luò)。因此通過(guò)對(duì)參數(shù)λ的控制來(lái)調(diào)整Teacher網(wǎng)絡(luò)對(duì)于Student網(wǎng)絡(luò)的影響。在初期,λ比較小,Teacher網(wǎng)絡(luò)對(duì)于Student網(wǎng)絡(luò)的影響較小,而隨著訓(xùn)練的進(jìn)行,逐步增加λ,讓Student學(xué)習(xí)到更多的Teacher網(wǎng)絡(luò)的信息。

論文里還提出了兩點(diǎn)值得注意。首先是更新Teacher網(wǎng)絡(luò)的時(shí)候,把distillation loss剔除,避免Student網(wǎng)絡(luò)影響到teacher網(wǎng)絡(luò)。第二點(diǎn)就是Teacher網(wǎng)絡(luò)和Student共享特征的embedding,這樣就極大減少了參數(shù)的數(shù)量。

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

簡(jiǎn)單看一下實(shí)驗(yàn)結(jié)果,這里對(duì)比了模型蒸餾、特殊特征蒸餾以及混合方式下Teacher網(wǎng)絡(luò)和Student網(wǎng)絡(luò)的AUC,結(jié)果如下:

可以看到,混合方式下得到了最好的AUC。其他的一些實(shí)驗(yàn)結(jié)果大伙可以看下論文。

最后編輯于
?著作權(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)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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