7大特征交互模型,最好的深度學(xué)習(xí)推薦算法總結(jié)
??點擊“博文視點Broadview”,獲取更多書訊

深度學(xué)習(xí)自出現(xiàn)以來,不斷改變著人工智能領(lǐng)域的技術(shù)發(fā)展,推薦系統(tǒng)領(lǐng)域的研究同樣也受到了深遠的影響。
一方面,研究人員利用深度學(xué)習(xí)技術(shù)提升傳統(tǒng)推薦算法的能力;另一方面,研究人員嘗試用深度學(xué)習(xí)的思想來設(shè)計新的推薦算法。
基于深度學(xué)習(xí)的推薦算法研究不僅在學(xué)術(shù)界百花齊放,目前也受到了工業(yè)界的重視和廣泛采用。深度學(xué)習(xí)具有強大的表征學(xué)習(xí)和函數(shù)擬合能力,它能在眾多方面改革傳統(tǒng)的推薦算法,如協(xié)同過濾、特征交互、圖表示學(xué)習(xí)、序列推薦、知識融合及深度強化學(xué)習(xí)。下面將介紹推薦系統(tǒng)中較為重要的方向——特征交互。
基于隱向量的協(xié)同過濾的方法將用戶和物品獨立地映射到低維空間,計算簡單,很適合作為召回模型或者粗排模型。
而推薦系統(tǒng)在精排階段為了能夠更準(zhǔn)確地刻畫用戶對物品的興趣,往往會考慮更豐富的情景特征,例如時間、地點等上下文信息,以及捕捉更細粒度的特征交互,例如用戶畫像和物品屬性之間的交互作用。
在過去,人們通過手動設(shè)計交互特征,或者利用梯度提升樹自動提取和選擇一些有用的交互特征,但這樣終究只能覆蓋到訓(xùn)練集里面出現(xiàn)過的特征模式,不能泛化到未在訓(xùn)練集中出現(xiàn)過的特征組合。隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,自動特征交互方式也迎來了新的思路。

AFM 模型
因子分解機(Factorization Machine,F(xiàn)M)模型的特點是考慮了所有可能的二階特征組合。
當(dāng)數(shù)據(jù)集中存在大量不必要做特征交互的組合時,這些特征的交互產(chǎn)生的噪聲可能會影響模型的性能。
因此,Jun Xiao 等人提出了基于注意力網(wǎng)絡(luò)調(diào)整的因子分解機(Attentional Factorization Machines,AFM)。AFM 模型的整體結(jié)構(gòu)如下圖所示。

AFM 模型的整體結(jié)構(gòu)

PNN 模型
在推薦系統(tǒng)的精排模型或者廣告點擊率預(yù)估模型中,輸入的樣本往往有一個特點:特征是高維稀疏的。
例如,用戶和物品的ID、離散化的時間、類別類型的屬性,都可以作為有用的特征出現(xiàn)在樣本數(shù)據(jù)中。
這種高維稀疏的特征可以歸到不同的特征域(field),每個特征域用獨熱編碼或者多熱編碼表示。
這樣做的好處是,雖然每個樣本的特征數(shù)量是可變的,所有樣本的特征域的數(shù)量卻是固定的,因此,可以很方便地把所有特征域?qū)?yīng)的隱向量拼接起來,輸入到MLP 進行下一步的操作。一個簡單的樣本示例如下:
這個樣本有三個特征域:日期、性別和地點。每個特征域內(nèi)用一個獨熱編碼表示。
一種簡單的做法是,通過特征嵌入查找(Embedding Lookup)得到每個特征域的低維表示向量,然后將所有特征域的表示向量拼接起來,輸入MLP 計算高階特征交互。
這樣的做法本質(zhì)上是通過求和的形式把各個特征域的表示向量組合到MLP 中。
為了引入更有效的特征交互,Yanru Qu 等人提出PNN(Product-based Neural Networks)模型,創(chuàng)新性地引入了一個特征域之間的顯式二階交互層,作用在特征嵌入層和MLP 層之間,具體模型框架如下圖所示。

PNN 模型結(jié)構(gòu)圖

Wide & Deep 模型
Wide & Deep 模型是谷歌公司于2016 年推出的結(jié)合深度學(xué)習(xí)的推薦模型,一經(jīng)問世便廣受好評,目前也成了工業(yè)界主流的推薦模型之一。
Wide &Deep 模型強調(diào)一個好的推薦系統(tǒng)應(yīng)該兼顧記憶性(memorization)和泛化性(generalization)。
記憶性是指模型能夠捕捉數(shù)據(jù)集中頻繁共現(xiàn)的特征規(guī)律,并建立它們和標(biāo)簽直接的關(guān)系。這一能力可以通過枚舉交叉特征(cross-productfeature),并用一個邏輯回歸模型去學(xué)習(xí)這些交叉特征的關(guān)聯(lián)系數(shù)來實現(xiàn)。
例如,如果在訓(xùn)練數(shù)據(jù)集中,用戶經(jīng)常點擊某個主題、名人相關(guān)的新聞,那么<用戶ID,主題ID,如下圖所示。

Wide & Deep 模型結(jié)構(gòu)
模型分為左右兩個部分,左邊是寬度模塊,負責(zé)記憶性。右邊是深度模塊,負責(zé)泛化性,輸入內(nèi)容是稀疏特征,經(jīng)過特征隱向量嵌入查找得到低維的稠密向量表示。

DeepFM 模型
在Wide & Deep 模型的深度模塊中,DNN 模塊可以自動學(xué)習(xí)特征之間的高階交互關(guān)系。然而,它并不能保證學(xué)習(xí)到良好的低階特征交互。
同時,寬度模塊可以通過人工提取交叉特征的方式引入部分的低階特征交互關(guān)系,但是人們依舊不能期望能通過手工枚舉的形式羅列所有有效的特征組合。
而經(jīng)典的因子分解機模型,旨在顯式地建模特征之間的二階交互關(guān)系,能自動捕捉所有的二階特征交互關(guān)系。
為了彌補現(xiàn)有的模型要么太偏向于學(xué)習(xí)高階特征交互,要么太偏向于學(xué)習(xí)線性特征,或者依賴于人工經(jīng)驗來提取低階特征交互的缺點。
Huifeng Guo 等人提出了DeepFM 模型,將因子分解機和多層感知機融合到一個模型中,使得新的模型能同時擁有良好的建模低階特征交互(來自FM 模塊)和高階特征交互(來自DNN 模塊)的能力,如下圖所示。

DeepFM 模型結(jié)構(gòu)

DCN 模型
人們普遍認識到,線性模型雖然簡單方便,有高擴展性且易于解釋,但是它的表達能力有限,依賴于工程師手工設(shè)計交叉特征,并且不能泛化到訓(xùn)練數(shù)據(jù)中未曾出現(xiàn)過的特征組合。
到目前為止,自動學(xué)習(xí)高階特征交互的能力還是依賴于DNN。因此,學(xué)者們對DNN 在特征交互上的進一步改進頗為感興趣。
考慮到DNN 的特點是只能隱式地對潛在的高階特征交互進行建模,而其建模過程和結(jié)果都是一個黑盒,并不能保證能夠?qū)W習(xí)到全面的高階特征交互。
是否能夠通過設(shè)計一種新的深度神經(jīng)網(wǎng)絡(luò),使得它在高階特征交互的學(xué)習(xí)上有某種良好的特性呢?
帶著這種問題,Ruoxi Wang 等人提出了DCN模型,它具有非常優(yōu)異的特點:能夠顯式地捕捉高階特征交互,并且階數(shù)可控。
整個模型的框架和Wide&Deep、DeepFM 類似,也是分成左右兩個部分,本節(jié)只討論DCN 的特殊部分——交叉網(wǎng)絡(luò)(Cross Network),結(jié)構(gòu)如下圖所示。

DCN 中的交叉網(wǎng)絡(luò)模塊

xDeepFM 模型
DCN 的發(fā)表很快吸引了許多業(yè)內(nèi)學(xué)者的濃厚興趣。其中,Jianxun Lian 等人發(fā)現(xiàn),雖然DCN 中的交叉網(wǎng)絡(luò)具有簡潔、計算高效的優(yōu)點,但同時也有一個明顯的缺點,即交叉網(wǎng)絡(luò)最終的隱狀態(tài)的形式有很大的局限性,它只能是原始特征隱向量
為了探索更自由的顯式高階特征交互,Jianxun Lian 等人提出了一種新的網(wǎng)絡(luò)結(jié)構(gòu)——壓縮交互網(wǎng)絡(luò)(Compressed Interaction Network,CIN)。
壓縮交互網(wǎng)絡(luò)的靈感來自兩個方面。第一,用了向量級別(vector-wise)的交互取代原素級別(bit-wise)的交互。
既然用隱向量來表示一個特征域,那么不同的特征域之間的交互是有意義的,而同一個特征內(nèi)的元素之間的交互是無意義的。
同時,DNN 采用的是元素級別的全連接操作,它雖然在理論上能建模任意復(fù)雜的函數(shù),但是要學(xué)好它并不容易。
尤其是在推薦場景中特征交互明顯的數(shù)據(jù)集上,DNN 是否真的能高效地刻畫高階特征交互仍然是一個未知數(shù)。
無獨有偶,Alex Beutel 等人在Latent Cross 一文中也提倡向量級別的交互,并且通過一個模擬數(shù)據(jù)經(jīng)驗性地證明了,要訓(xùn)練好一個DNN 去捕捉特征交互并不容易。
第二,既然深度神經(jīng)網(wǎng)絡(luò)的優(yōu)勢在于自動抽取復(fù)雜的特征,例如從圖像、文本和語音等復(fù)雜的原始數(shù)據(jù)中自動提取抽象的特征,那么是否可以把所有的特征組合看成散亂無章的原始數(shù)據(jù),期望利用神經(jīng)網(wǎng)絡(luò)去從中自動提取到有用的特征交互呢?
答案是可能的,這便是壓縮交互網(wǎng)絡(luò)中“壓縮”一詞的由來。
下圖展示了壓縮交互網(wǎng)絡(luò)的整體結(jié)構(gòu)。

壓縮交互網(wǎng)絡(luò)的整體結(jié)構(gòu)
因為每層都是前一層和輸入特征嵌入矩陣的交互操作,因此網(wǎng)絡(luò)每增加一層,能夠達到的特征交互階數(shù)就增加了一層。
為了讓模型從低階到高階的特征交互都能充分地捕捉到,每層的特征圖都會歷經(jīng)一個求和池化操作并輸送給最終的預(yù)測單元。
值得一提的是,壓縮交互網(wǎng)絡(luò)的結(jié)構(gòu)與循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)都頗有淵源。
與循環(huán)神經(jīng)網(wǎng)絡(luò)相同的是,壓縮交互網(wǎng)絡(luò)的每次計算都取決于前一層網(wǎng)絡(luò)的激活值和一個輸入值;不同的是,循環(huán)神經(jīng)網(wǎng)絡(luò)每次輸入的內(nèi)容是新的(例如,一個句子里面的不同單詞),每層神經(jīng)元的參數(shù)是共享的;而壓縮交互網(wǎng)絡(luò)的每次輸入的內(nèi)容是固定的(總是原始的特征嵌入矩陣),而每層神經(jīng)元的參數(shù)是新的。
與卷積神經(jīng)網(wǎng)絡(luò)異曲同工之處是,壓縮交互網(wǎng)絡(luò)的中間計算結(jié)果

AutoInt 模型
隨著Transformer 模型在自然語言處理任務(wù)上的成功應(yīng)用,學(xué)者們也逐漸探索Transformer 的結(jié)構(gòu)如何應(yīng)用在學(xué)習(xí)特征交互上。
Weiping Song 等人將Transformer 中的核心模塊Multi-head Self-Attention(MSA)——作用在推薦任務(wù)的特征嵌入表示層,用來自動學(xué)習(xí)高階的特征交互。
MSA 中有兩個重要單元——自注意力機制(self-attention)和多頭映射(multi-head)。
自注意力機制旨在改善特征的隱向量表示,使得新的向量可以適量包含其他特征的信息(稱為上下文感知的向量表示),而不再是獨自的ID 表示。
它本質(zhì)上是一種以< 查詢詞,索引鍵,內(nèi)容值> 為形式的特征交互過程。
每個特征以自己的向量表示作為查詢詞(Query),和其他特征的向量為索引鍵(Key)計算相似度,再以相似度為權(quán)重,把其他特征的向量(作為內(nèi)容值Value)作用在自身向量上。

特征交互的其他思路
如何有效地學(xué)習(xí)特征交互是推薦系統(tǒng)精排、廣告點擊率等階段中十分重要的一個難點。這方面的研究工作還有很多,受篇幅所限,本文不能一一列舉。感興趣的讀者可以參考相關(guān)文章繼續(xù)閱讀。
例如,新浪微博AI Lab 團隊提出的FiBiNet模型,從兩個方面改進了現(xiàn)有特征交互方法:將傳統(tǒng)的兩個向量點積或者哈達瑪積操作替換成雙線性乘法操作,用來捕捉更細粒度的特征交互關(guān)系;引入了SENET 模塊,動態(tài)地調(diào)整特征向量的重要程度。
華為諾亞方舟實驗室提出的兩階段訓(xùn)練模型AutoFIS,能夠自動捕捉到有意義的特征交互,摒棄無意義的甚至?xí)碓肼暤奶卣鹘换?,最終能同時在效果和效率上改進已有模型。
阿里媽媽團隊基于DIN 模型的框架,提出CAN 模型,把特征交互形式化成一種基于DNN 的特征變換。例如,要得到特征A 相對于目標(biāo)特征B 的隱向量表示,只需要為特征B 專門引入一組DNN 的參數(shù),當(dāng)把特征A的原始隱向量輸入給這個DNN 時,這個DNN 的輸出向量就是特征A 和特征B 交互過后的隱向量。
本文節(jié)選自《推薦系統(tǒng):前沿與實踐》(李東勝 練建勛 張樂 任侃 盧暾 鄔濤 謝幸 著)。
本文節(jié)選自《推薦系統(tǒng):前沿與實踐》(李東勝 練建勛 張樂 任侃 盧暾 鄔濤 謝幸 著)。
專享六折優(yōu)惠,掃描下方二維碼搶購!
發(fā)布:劉恩惠 審核:陳歆懿
![]()
如果喜歡本文 歡迎 在看丨留言丨分享至朋友圈 三連 熱文推薦
▼點擊閱讀原文,了解本書詳情~
