陶竹林,宋格格,黃祥林
(中國傳媒大學(xué)計算機(jī)與網(wǎng)絡(luò)空間安全學(xué)院,北京 100024)
CTR(Click-through rate)點(diǎn)擊預(yù)測是推薦系統(tǒng)、廣告系統(tǒng)中的核心技術(shù)之一,點(diǎn)擊預(yù)測的效果,直接影響到相關(guān)系統(tǒng)的整體表現(xiàn),比如在廣告系統(tǒng)中,預(yù)測的準(zhǔn)確率高低,直接關(guān)系到廣告效果。點(diǎn)擊預(yù)測模型的構(gòu)建,依托用戶和內(nèi)容之間的歷史交互,構(gòu)建點(diǎn)擊預(yù)測模型的過程,也是學(xué)習(xí)用戶偏好的過程。在建模過程中,首先,由于歷史交互數(shù)據(jù)非常稀疏,我們通常需要對原始數(shù)據(jù)進(jìn)行獨(dú)熱編碼,再對稀疏的編碼數(shù)據(jù)進(jìn)行嵌入操作,將特征映射到低維的隱空間,通過隱空間的特征向量來表征原始特征。其次,通過特征向量之間的交互,來模擬真實特征之間的依賴關(guān)系,再結(jié)合原始特征,進(jìn)行運(yùn)算求和,輸入到Sigmoid函數(shù)中,最終將結(jié)果映射到[0,1]之間,得到表征點(diǎn)擊的概率。
點(diǎn)擊預(yù)測技術(shù)的核心是建模特征組合。早期的特征組合主要依賴于專家的領(lǐng)域知識來構(gòu)建特征組合,但該方法需要大量人力投入,而且也具有很大的領(lǐng)域局限性。目前的研究重點(diǎn)在自動建模特征組合。根據(jù)建模特征組合方式的不同,我們可以將點(diǎn)擊預(yù)測模型大致分為傳統(tǒng)模型和基于神經(jīng)網(wǎng)絡(luò)的模型。傳統(tǒng)模型主要有兩類方法,基于FM[1](Factorization Machine,因子分解機(jī))的方法和基于GBDT[2](Gradient Boost Decision Tree,梯度提升決策樹)的方法?;谏窠?jīng)網(wǎng)絡(luò)的模型可以分為基于DNN(Deep Neural Network,深度神經(jīng)網(wǎng)絡(luò))的方法和基于GNN(Graph Neural Network,圖神經(jīng)網(wǎng)絡(luò))的方法?;贔M方法的方法通過優(yōu)化兩個特征向量之間的運(yùn)算,非常簡便的建模了二階特征交互?;贕BDT方法通過集成決策樹的方式,建模了高階的特征組合。傳統(tǒng)方法通過顯示的方式建模特征交互,模型相對具有很好的可解釋性,但只對線性的特征交互進(jìn)行了建模,忽略現(xiàn)實中特征間非線性的依賴關(guān)系?;贒NN的方法,一方面,部分研究直接將特征向量連接輸入到DNN中學(xué)習(xí)高階的非線性特征,比如由 Wide&Deep[3],Deep&Cross[4],DeepFM[5]等模型中的深度組件。另一方面,通過預(yù)訓(xùn)練或交互后的特征向量輸入到DNN中來學(xué)習(xí)高階的特征組合,比如PNN[6],NFM[7]。此外還有顯式建模非線性特征的DNN模型,比如CIN[8],HoAFM[9]等。目前,基于GNN的方法利用圖的高階連通性和消息傳播特征,使特征交互突破了共現(xiàn)特征的信息孤島限制,為結(jié)合圖神經(jīng)網(wǎng)絡(luò)在點(diǎn)擊預(yù)測中的應(yīng)用提供了新的研究方向。下面,我們首先介紹點(diǎn)擊預(yù)測模型的整體流程,然后就模型中的特征組合部分常見方法進(jìn)行重點(diǎn)論述。
點(diǎn)擊預(yù)測場景中,用戶和物品的數(shù)量非常大,交互數(shù)量小,數(shù)據(jù)非常稀疏。如圖1所以,通常情況下,我們會將原始特征進(jìn)行OneHot編碼(獨(dú)熱編碼),編碼后的特征總數(shù)大,非零特征少,且不包含組合特征,并不適合直接回歸預(yù)測。一般講編碼輸入到GBDT中學(xué)習(xí)組合特征,再結(jié)合原始特征進(jìn)行回歸預(yù)測。此外,采取Embedding(特征嵌入)也是比較常用的方式,通過特征嵌入,可以將高維稀疏的特征編碼轉(zhuǎn)到低維的稠密特征向量,如圖2所示:
圖1
圖2
嵌入之后,原始特征以特征向量來表征,通過特征向量之間的交互運(yùn)算,來表征特征之間的依賴關(guān)系。最常見的特征運(yùn)算方式有點(diǎn)乘,叉乘和內(nèi)積,點(diǎn)乘即兩個特征向量對位點(diǎn)逐位相乘,結(jié)果仍為一個向量,叉乘為為兩個向量所有點(diǎn)相乘,得到行列大小與向量相同的矩陣,而內(nèi)積為逐位相乘求和。
點(diǎn)擊預(yù)測為典型的二分類問題,通常結(jié)合原始的特征向量和特征組合轉(zhuǎn)換求和之后輸入Sigmoid函數(shù),通過該函數(shù),可以將最終只映射到[0,1]之間,來表征點(diǎn)擊的概率。綜上,點(diǎn)擊預(yù)測模型中,建模特征組合方法的選取,直接影響到預(yù)測的結(jié)果,下面我們將重點(diǎn)論述特征組合中的常見方法。
通常,特征數(shù)量都非常大,依托專家特征組合,往往不全面。比如下式中的二階多項式線性模型:
(1)
假如有n個特征,那么特征交互的數(shù)量則為n的平方,同時,數(shù)據(jù)非常稀疏,這樣導(dǎo)致交互特征的系數(shù)矩陣wi,j很難訓(xùn)練。而二階的FM的模型可定義如下:
(2)
上模方法中,我們利用特征交互系數(shù)矩陣的的對稱性來優(yōu)化模型,簡化了二階特征交互,使得模型計算更加簡單。二階特征交互可表示如下:
(3)
FM既可以用于回歸,也可以用于分類,當(dāng)我們將FM用于二分類問題時,便是邏輯回歸問題,它通過激勵函數(shù)sigmoid來對最終結(jié)果進(jìn)行映射,獲取可能的點(diǎn)擊概率。點(diǎn)擊預(yù)測即為該模型在二分類方向的典型應(yīng)用。
雖然FM方法在建模二階特征交互方面很有優(yōu)勢,但并不能很好地建模高階的交互特征。 HoFM[10](High Order Factorization Machine,高階因子分解機(jī))通過優(yōu)化,建模了高階的特征交互;FFM[11](Field-aware Factorization Machine,面向域的因子分解機(jī))將域的概念引入到了特征交互中。此外,F(xiàn)M的建模二階交互特征,也是各類模型中的重要組件,比如DeepFM,NFM等,這些模型融合了DNN,我們將在后續(xù)研究中介紹。
在基于GBDT的點(diǎn)擊預(yù)測模型中,GBDT主要用于建模特征征組合。不同于FM方法,將特征向量作為輸入,通常情況下,GBDT直接輸入原始特征來構(gòu)建特征組合。GBDT為集成模型,CART分類回歸二叉決策樹為該集成模型的基礎(chǔ)分類器,由于采用回歸,所以在選擇最優(yōu)切分特征和切分點(diǎn)時,采用最小均方差作為選擇的依據(jù)。同時,根據(jù)集成模型的特點(diǎn),每一個新分類器都在前個分類器的預(yù)測結(jié)果上進(jìn)行優(yōu)化,所以模型整體上是先選擇針對整體區(qū)分度大的特征,再選擇針對少數(shù)誤差較大的樣本進(jìn)行區(qū)分。模型的優(yōu)化采用梯度下降的方法來學(xué)習(xí)。該模型的的表示定義如下:
(4)
由于模型是疊加關(guān)系,所以第m個分類器的預(yù)測結(jié)果可以表示為:
Fm(x)=Fm-1(x)+λmhm
(5)
GBDT各分類器學(xué)習(xí)的過程,其實也是在進(jìn)行特征組合的過程。通過多棵樹的學(xué)習(xí),可以更好地發(fā)現(xiàn)有效的特征和特征組合。目前關(guān)于GBDT的開源庫很多,比較知名的有XgBoost、LightGBM等。
在獲建模特征組合之后,可以直接進(jìn)行線性回歸預(yù)測,也可以同原始特征向量組合進(jìn)行回歸預(yù)測。其中比較經(jīng)典的模型有Facebook提出GBDT+LR(Logistic Regression)的廣告點(diǎn)擊預(yù)測模型,該模型直接使用GBDT輸出的組合特征來進(jìn)行線性回歸預(yù)測。現(xiàn)實中,一般使用FTRL代替RL,F(xiàn)TRL[12]模型為FTRL方法是在線學(xué)習(xí)的算法,由LR發(fā)展而來,過程中經(jīng)歷了SGD算法、TG算法、FOBOS算法、 RDA算法等算法。該算法處理諸如LR之類的帶非光滑正則化項(例如1范數(shù),做模型復(fù)雜度控制和稀疏化)的凸優(yōu)化問題上性能非常出色,目前廣泛應(yīng)用于各類在線系統(tǒng)中。此外,有研究現(xiàn)實與FM模型的融合也能取得不錯的效果。
基于GBDT的方法基于決策樹結(jié)構(gòu),顯式的構(gòu)建高階的特征組合,且模型整體具有很好的可解釋性,但GBDT模型只能夠預(yù)測在訓(xùn)練中出現(xiàn)過的特征,所以對特征變動特別頻繁的場景存在一定的局限性,GBDT和FM一樣,都是線性的特征組合,并不能建模特征間非線性的依賴關(guān)系。
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,神經(jīng)網(wǎng)絡(luò)被成功地應(yīng)用于不同領(lǐng)域,在點(diǎn)擊預(yù)測方向上,也出現(xiàn)了大量的研究,使得預(yù)測的表現(xiàn)實有很好的提升。根據(jù)特征向量的交互方式不同,我們又可以基于DNN的方法分為兩類:隱式建模高階非線性交互特征的方法和顯示建模非線性高階交互特征的方法。
在基于DNN的隱式建模高階非線性交互特征方法中,一些研究直接將所有非零特征的特征向量連接,輸入到DNN中進(jìn)行學(xué)習(xí)。比如Wide&Deep,Deep&Cross,DeepFM等方法中的深度學(xué)習(xí)組件,另一些研究首先通過特征向量的交互,在輸入到DNN中學(xué)習(xí)特征組合,比如PNN,NFM等。隱式建模雖然取得了不錯的效果,但其黑盒性質(zhì),其形式是未知的、不可控的;同時它們的特征交互是發(fā)生在元素級(bit-wise)而不是特征向量之間(vector-wise),違背了因子分解機(jī)的初衷。此外,單純的DNN容易導(dǎo)致過擬合,所以基于DNN的模型通常還與線性的模型融合,來進(jìn)行聯(lián)合訓(xùn)練和預(yù)測。比如Wide&Deep結(jié)合專家組合特征和DNN來進(jìn)行點(diǎn)擊預(yù)測;DeepFM模型將Wide&Deep中的wide組件替換成FM。
顯示建模非線性高階交互特征的方法一個顯著的特點(diǎn)是使模型更加具有可解釋性。xDeepFM模型中的DIN組件,通過對特征向量外積進(jìn)行卷積,多層疊加的方式,建模了高階的非線性交互特征,同時將原特征向量輸入DNN組件中進(jìn)行聯(lián)合訓(xùn)練;HoAFM模型通過特征向量與共現(xiàn)向量點(diǎn)乘,多層疊加的方式,建模了高階非線性特征,并結(jié)合特別設(shè)計的注意力機(jī)制,為組合特征乘上不同的權(quán)重,提高重要組合特征的重要性,減少無用組合特征的影響。
圖在自然語言處理領(lǐng)域已經(jīng)取得了很大的成功,特別是GNN圖神經(jīng)網(wǎng)絡(luò)的發(fā)展,進(jìn)一步推進(jìn)了圖在各領(lǐng)域的應(yīng)用。基于圖的高階聯(lián)通特性和消息傳播知識,可以將高階鄰節(jié)點(diǎn)信息注入當(dāng)前節(jié)點(diǎn),來挖掘更深層次的隱藏信息。點(diǎn)擊預(yù)測場景中,Tasos[13]等人提出以查詢的內(nèi)容和被查詢內(nèi)容為節(jié)點(diǎn),查詢且點(diǎn)擊為邊,來構(gòu)建二分圖,通過查詢內(nèi)容相似度來推薦新的廣告,以提高廣告點(diǎn)擊率;Feng[14]等人利用用戶的行為序列,構(gòu)建了商品的共現(xiàn)圖,然后基于該圖來學(xué)習(xí)用戶的意圖,Zekun[15]等人則通過用戶-物品以及交互構(gòu)建的二分圖,來學(xué)習(xí)交互特征。利用GNN來進(jìn)行點(diǎn)擊預(yù)測的研究還剛剛開始,隨著研究的升入,更多基于GNN的成果將產(chǎn)生。
本文對點(diǎn)擊預(yù)測中關(guān)鍵技術(shù)進(jìn)行了研究。根據(jù)點(diǎn)擊預(yù)測模型的流程,我們重點(diǎn)對特征組合進(jìn)行了全面和相對深入的論述。傳統(tǒng)的方法只建模了線性特征,缺乏特征間非線性依賴關(guān)系的考慮,基于DNN的方法一方面受到黑盒性質(zhì)的影響,缺乏可解釋性,另一方面局限于共現(xiàn)特征之間的信息孤島問題;近期基于GNN的方法,基于拓?fù)鋱D的高階連接特性和消息傳播機(jī)制,打破了信息孤島的限制,同時,顯式建模方式也使得模型更具可解釋性,基于GNN的方法為點(diǎn)擊預(yù)測模型的改進(jìn)提供了重要的研究方向。