推薦系統(tǒng)與深度學(xué)習(xí)(1): [第四范式 2020]Network On Network for Tabular Data Classification in Real-world Applica...

~~ 個(gè)人對(duì)文章的理解,如果有錯(cuò)誤,歡迎大家指正。??
如果覺得有幫助或者寫的還行,點(diǎn)個(gè)贊唄~~~

如今在電子商務(wù)、物聯(lián)網(wǎng)等領(lǐng)域,推薦系統(tǒng)扮演著越來越重要的地位。如何根據(jù)用戶的歷史行為和項(xiàng)目的特征信息,判斷用戶對(duì)商品是否感興趣成了重要的研究問題之一。日前,第四范式提出了全新的深度神經(jīng)網(wǎng)絡(luò)表數(shù)據(jù)分類模型——深度稀疏網(wǎng)絡(luò)(Deep Sparse Network,又名 NON)。最近閱讀了這篇文章,記錄一下,了解NON模型提出動(dòng)機(jī)、整體結(jié)構(gòu)、局部特點(diǎn)以及突出貢獻(xiàn)。


文章標(biāo)題及作者

Luo Y, Zhou H, Tu W, et al. Network On Network for Tabular Data Classification in Real-world Applications[J]. arXiv preprint arXiv:2005.10114, 2020.
(文章引用及文章地址)

一、相關(guān)工作簡(jiǎn)介

可以將推薦系統(tǒng)分為以下四類,簡(jiǎn)單介紹基于內(nèi)容的推薦算法、基于協(xié)同過濾的推薦算法、混合推薦算法,重點(diǎn)介紹基于模型的推薦算法。主要是通過基于深度學(xué)習(xí)的算法引出NON模型。
1. Contented based
基于內(nèi)容的推薦算法。主要根據(jù)用戶的瀏覽記錄,或者購買記錄,向用戶推薦與瀏覽記錄或者購買記錄相似的物品。

2. Collaborative Filter
基于協(xié)同過濾的推薦算法。主要根據(jù)擁有相同經(jīng)驗(yàn)或者相同群體的喜好,為用戶推薦感興趣的資訊或者物品。例如用戶A和用戶B相似,就可以把用戶B喜歡的物品推薦給用戶A。協(xié)同過濾算法還可以分為基于用戶的協(xié)同算法和基于物品的協(xié)同算法。

3. Hybrid
混合推薦算法,將不同的算法混合使用??梢栽诓煌A段使用不同的推薦算法,也可以對(duì)多個(gè)推薦算法進(jìn)行不同的處理,然后將多個(gè)推薦算法的結(jié)果耦合,將最終結(jié)果推薦給用戶。

4. Model Bsed
基于模型的推薦算法。將用戶的profile和物品的properties作為特征,用機(jī)器學(xué)習(xí)模型,來預(yù)測(cè)用戶對(duì)物品的喜好程度。在推薦系統(tǒng)中,經(jīng)常會(huì)用到點(diǎn)擊率(CTR)來表示喜好程度。點(diǎn)擊率表示用戶點(diǎn)擊物品的概率,點(diǎn)擊率越高說明用戶對(duì)該物品的喜好程度越高。

如下圖給出的FM數(shù)據(jù)圖例子,表示用戶對(duì)電影的點(diǎn)擊率。每一行是一個(gè)樣本。每一列是不同的特征,表示用戶的屬性,電影的特征,以及用戶的一些歷史行為記錄。在每一條樣本中,0表示用戶沒有點(diǎn)擊對(duì)應(yīng)的movie,1表示點(diǎn)擊對(duì)應(yīng)電影。那么此時(shí)問題已經(jīng)轉(zhuǎn)化為二分類問題。


FM模型數(shù)據(jù)圖

5. 基于模型的常見方法

(1)淺層的基于模型的方法
首先,是一些比較淺層的推薦方法,例如LR、FM、FFM等。邏輯回歸算法(Logistic Regression,LR)是推薦系統(tǒng)的常用方法之一。將用戶的瀏覽記錄和項(xiàng)目的信息、離散特征,通過one-hot編碼;將數(shù)值類特征歸一化,或者通過分桶技術(shù),進(jìn)行離散化。然后通過LR模型進(jìn)行訓(xùn)練,LR模型很穩(wěn)定, 但是缺乏學(xué)習(xí)高階特征的能力,尤其是特征間的交互。而FM模型和FFM模型則將低維的離散特征通過embedding,轉(zhuǎn)化為高維的稠密向量。然后用稠密向量的內(nèi)積表示特征之間的交互特征。LR、FM 和 FFM 三種模型取得了較好的效果,但由于它們的結(jié)構(gòu)較淺,其表達(dá)能力也受到了限制。

(2)基于深度學(xué)習(xí)的方法
基于深度學(xué)習(xí)的推薦方法,目前有基礎(chǔ)DNN、NFM、AFM、NCF、DeepFM、WDL、xDeepFM、AutoInt等。介紹比較基礎(chǔ)的兩個(gè)。

DNN模型。DNN方法使用了Embedding技術(shù),將離散和數(shù)值特征Embedding 到高維的稠密向量。然后和將稠密向量和數(shù)值特征拼接,作為DNN的輸入,然后直接預(yù)測(cè)輸出。

WIDE&DEEP模型。WIDE&DEEP方法,對(duì)比DNN方法。增加了Y的部分,即專家手工設(shè)計(jì)的高維特征。然后把高維特征和DNN學(xué)到的特征拼接,作為模型的輸入,預(yù)測(cè)最終的點(diǎn)擊率。

其他深度學(xué)習(xí)的方法借鑒了WIDE&DEEP的模式。例如,在DeepFM模型中,將專家手工設(shè)計(jì)的部分(Wide部分)替換成了FM; 在xDeepFM模型中, 將Wide部分替換成了CNN; 在AutoInt模型中,將Wide部分替換成self-attention的網(wǎng)絡(luò)。

在推薦系統(tǒng)中還有一類方法,基于用戶的興趣, 使用了用戶的歷史行為數(shù)據(jù),例如DIN、DSIN,但是這一類方法和NON模型有所區(qū)別。

DNN和WDL模型結(jié)構(gòu)

上述方法的存在的問題:

  • 現(xiàn)有方法直接融合不同特征域的向量表示,而未顯式地考慮域內(nèi)信息。
    文中將“每個(gè)特征域內(nèi)的不同特征值,均屬于同一個(gè)特征域”記為域內(nèi)信息。對(duì)于每個(gè)特征域中的特征,它們的內(nèi)在屬性是都屬于同一個(gè)特征域。以在線廣告場(chǎng)景為例,假設(shè)特征域 ‘a(chǎn)dvertiser_id’ 和 ‘user_id’ 分別表示廣告商和用戶的 ID,則特征域 ‘a(chǎn)dvertiser_id’(‘user_id’)中的不同的廣告商 ID(用戶 ID)都屬于廣告商(用戶)這個(gè)特征域。此外,特征域有自己的含義,如 “advertiser_id” 和 “user_id” 分別代表廣告主和用戶,而不管域內(nèi)特征的具體取值。

  • 大多數(shù)現(xiàn)有方法使用預(yù)定義的特征域交互操作組合(如 DNN、FM),而未考慮輸入數(shù)據(jù)。
    事實(shí)上,預(yù)定義的操作組合并不適用于所有的數(shù)據(jù),而是應(yīng)該根據(jù)數(shù)據(jù)選擇不同的操作,以獲得更好的分類效果。如下圖所示,Wide&Deep中的Operations使用了了Linear和DNN;DeepFM使用了FM和DNN;xDeepFM使用了CIN、Linear和DNN;AutoInt中使用了self-attention和DNN。

  • 最后,現(xiàn)有方法忽略了特征域交互操作(如 DNN 和 FM)的輸出之間的非線性。
    如下圖第三列所示,在Prediction時(shí),都是通過線性關(guān)系關(guān)聯(lián)的,沒有考慮非線性關(guān)系。

現(xiàn)有模型Operation總結(jié)

二、NON模型詳細(xì)講解

接下來全面介紹《Network on Network》。

1. NON模型整體結(jié)構(gòu)

為了解決上述問題,第四范式提出了深度稀疏網(wǎng)絡(luò)(NON),它由三部分組成: 底層為域內(nèi)網(wǎng)絡(luò)(Field-wise Network)中層為域間網(wǎng)絡(luò)(Across Field Network),頂層為融合網(wǎng)絡(luò)(Operation Fusion Network)。域內(nèi)網(wǎng)絡(luò)為每個(gè)特征域使用一個(gè) DNN 來捕獲域內(nèi)信息;域間網(wǎng)絡(luò)包含了大部分已有的Operation,采用多種域間交互操作來刻畫特征域間潛在的相互作用; 最后融合網(wǎng)絡(luò)利用 DNN的非線性,對(duì)所選特征域交互操作的輸出進(jìn)行深度融合,得到最終的預(yù)測(cè)結(jié)果。


image.png

2. Field-wise network

每一個(gè)特征Field都和一個(gè)NN網(wǎng)絡(luò)相連,其中類別特征先進(jìn)行Embedding操作,而數(shù)值型特征直接通過NN網(wǎng)絡(luò)。通過NN網(wǎng)絡(luò)強(qiáng)大的學(xué)習(xí)能力, 顯示地學(xué)習(xí)特征域內(nèi)信息。鑒于 DNN 的強(qiáng)大的表達(dá)能力,特征域內(nèi)信息可以被充分地學(xué)習(xí)。還有一點(diǎn)需要注意,在模型中還加入了一個(gè)Gate Function,將NN的輸出和輸入耦合起來,常見的Gate Function包括concatenation、element-wise product以及其他更加復(fù)雜的操作。

Field wise network

3. Across field network

在域間網(wǎng)絡(luò)(Across field network)中,利用已有的Operation,來學(xué)習(xí)特征之間的Interaction,這些Operation都是以Field-wise network的輸出為輸入。常見的特征域交互操作包括 LR、DNN、FM、Bi-Interaction 和多頭自注意網(wǎng)絡(luò)等。在設(shè)計(jì)中,兼容目前大部分學(xué)術(shù)上提出的Operation。在操作中,將Operation作為超參數(shù),在訓(xùn)練過程中根據(jù)數(shù)據(jù)進(jìn)行選擇?,F(xiàn)有方法中,域間交互操作的方式是用戶事先制定的。而在深度稀疏網(wǎng)絡(luò)中,可以通過數(shù)據(jù),自適應(yīng)地選擇最合適的操作組合,即在深度稀疏網(wǎng)絡(luò)中,操作組合的選擇是數(shù)據(jù)驅(qū)動(dòng)的。

Across field network

4. Operation fusion network

在融合網(wǎng)絡(luò)(Operation fusion network)中,將域間網(wǎng)絡(luò)層的輸出拼接,作為NN的輸入,利用NN的非線性,學(xué)習(xí)不同Operation的高階特征表示。


Operation fusion network

需要注意一點(diǎn),NON網(wǎng)絡(luò)設(shè)計(jì)的特別深,所以在訓(xùn)練過程中,很容易出現(xiàn)梯度消散的現(xiàn)象,導(dǎo)致模型效果變差,收到GoogLeNet的啟發(fā),在模型訓(xùn)練過程中引入了輔助損失。在DNN的每一層都加入了一條路徑,連接到最終的損失上,緩解了梯度消散問題。經(jīng)實(shí)驗(yàn)測(cè)試,該方案不僅能夠增加模型最終預(yù)測(cè)效果,也使得模型能在更短的時(shí)間內(nèi),取得更好的效果。如下圖所示。


Auxiliary losses

至此模型介紹結(jié)束,接下來將分析實(shí)驗(yàn)結(jié)果。

三、NON模型實(shí)驗(yàn)結(jié)果分析

1. DNN with auxiliary losses

這是在Criteo數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,圖中的橫坐標(biāo)是訓(xùn)練的輪次,縱坐標(biāo)是AUC。從圖上可以看出,通過添加輔助損失,訓(xùn)練效率明顯提升。在同等AC的情況下,產(chǎn)生了1.67倍的加速。之后的所有訓(xùn)練都是通過添加輔助函數(shù)的方式進(jìn)行訓(xùn)練的。


測(cè)試Auxiliary losses的作用

2. Ablation study of NON

在NON消融研究中,展示NON每一個(gè)模塊的作用。從左到右:第一列數(shù)據(jù)集;第二列,只有DNN;第三列,增加輔助損失的DNN,和DNN比較,添加了輔助損失可以提高性能;第四列,添加了Field-wise Network,從結(jié)果看出,域內(nèi)網(wǎng)絡(luò)捕獲的域內(nèi)信息有助于提高模型的泛化性能;第五列,加入了Across field network,結(jié)果有所提升;第六列,完整的NON模型,取得了最好的結(jié)果??梢钥闯鲭S著 NON 不同的組件堆疊,模型的預(yù)測(cè)效果持續(xù)增長(zhǎng)。
NON模型消融分析

3. Study of field-wise network

從定性和定量的角度分析Field-wise network的結(jié)果。下圖第一行,是通過Field-wise network之前,第二行是通過Field-wise network之后。不同的顏色表示不同F(xiàn)ield之間的Embedding。通過對(duì)Field-wise network處理前后特征值對(duì)應(yīng)的向量進(jìn)行可視化和比較,可以看出經(jīng)過Field-wise network后,每個(gè)Field內(nèi)的特征在向量空間中更加接近,不同F(xiàn)ield間的特征也更容易區(qū)分。
Field-wise network功能探究

下表展示了所有的Field 內(nèi)部的Embedding 預(yù)先相似度。通過進(jìn)一步計(jì)算數(shù)據(jù)中特征的平均余弦距離(數(shù)值越大,相似度越高),F(xiàn)ield-wise network可以使余弦距離提高一到兩個(gè)量級(jí),即能有效地捕獲每個(gè)域內(nèi)特征的相似性。
image.png

4. Study of operations

對(duì)Operation的學(xué)習(xí),就是對(duì)Across field network層的學(xué)習(xí)。這一部分做了兩個(gè)實(shí)驗(yàn)。在Across field network,深度稀疏網(wǎng)絡(luò)將不同的交互操作視為超參數(shù),并根據(jù)在具體數(shù)據(jù)上的預(yù)測(cè)效果,選擇最適合的交互操作。其中,DNN 被視為必選,而其他操作(LR、Bi-Interaction和multi-head self-attention)被視為可選。同時(shí),通過固定深度稀疏網(wǎng)絡(luò)的其他層,只變換域間網(wǎng)絡(luò)中不同的操作組合來進(jìn)行更多驗(yàn)證。橫坐標(biāo)是不同的組合,縱坐標(biāo)是AUC??梢钥闯鰶]有一個(gè)操作組合能夠在所有數(shù)據(jù)集上都取得最優(yōu)效果,也沒有一個(gè)Operation組合能夠在所有的數(shù)據(jù)集上都取得最好的效果,這表明了根據(jù)數(shù)據(jù)選擇操作組合的必要性。


不同數(shù)據(jù)集不同Operations的組合研究

上表列出了在不同數(shù)據(jù)集上表現(xiàn)組好的Operation組合,可以看到DNN和LR都有,可能是因?yàn)長(zhǎng)R的穩(wěn)定性很好。同時(shí),從結(jié)果可以看出來,大數(shù)據(jù)集傾向于選擇容量大、復(fù)雜的操作組合;小數(shù)據(jù)集傾向于輕量、簡(jiǎn)單的操作組合。再一次證明需要通過不同的數(shù)據(jù)集需要選擇不同的Operation組合。


不同數(shù)據(jù)集最終選擇的Operations組合

5. Comparison with SOTAs

和當(dāng)前的SOTA模型進(jìn)行比較。與 FFM、DNN、Wide&Deep、NFM、xDeepFM、AutoInt 等模型相比,深度稀疏網(wǎng)絡(luò)在實(shí)驗(yàn)數(shù)據(jù)集上均能獲得最好的結(jié)果,AUC 可提高 0.64%~0.99%,結(jié)果說明NON模型設(shè)計(jì)的有效性。其次,看一些細(xì)節(jié),在Talkshow數(shù)據(jù)集上,NFM模型的效果退步,說明網(wǎng)絡(luò)不一定越復(fù)雜越來,需要進(jìn)行設(shè)計(jì),才能獲得較好的結(jié)果。證明了NON模型設(shè)計(jì)范式的有效性。


和SOTAs模型對(duì)比

四、個(gè)人觀點(diǎn)

首先,不可否認(rèn),這是一比較好的文章。NON可以看成是模塊化的系統(tǒng),尤其是Cross field network層,從WDL模型開始,越來越多的模型使用雙塔結(jié)構(gòu),然后NON模型告訴你,你不要糾結(jié)了,這些模型都放進(jìn)來,你們都是超參數(shù),我通過排列組合給你們挑出最好的結(jié)果。以后若是產(chǎn)生了新的模型,也可以放進(jìn)去作為模塊進(jìn)行訓(xùn)練,很萬金油。所以只要選得好,模型的結(jié)果應(yīng)該是會(huì)比SOTAs的模型好的。不過Field-wise network和Auxiliary loss的使用對(duì)結(jié)果的提升從實(shí)驗(yàn)看來確實(shí)比較明顯。當(dāng)然另一方面這也會(huì)為人詬病: NON模型是不是可以看成模型融合呢?個(gè)人覺得,在一定程度上是可以的。
其次,還有一個(gè)明顯的問題在于訓(xùn)練的時(shí)間問題,這個(gè)模型的參數(shù)量比任何一個(gè)SOTAs模型都要大,因?yàn)樵贓mbedding和Prediction層都加了Network,而且選擇了很多個(gè)Operation,所以顯而易見。而且將operation作為超參數(shù)的代價(jià)太大,需要訓(xùn)練的時(shí)間更長(zhǎng)。作者也在文章中分析了時(shí)間復(fù)雜度的問題,并且給出了建議,在保證效果的前提下選擇輕量級(jí)的Operation組合。

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

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