WSDM 2022 | 点击率模型特征交叉方向的发展及CAN模型介绍
丨目錄:
· 摘要
· 背景
· 問題和方法
·??Co-Action Network方案
· 方案擴展
· 總結
·?References
· 關于我們
??一、摘要
排序模塊在廣告、推薦和搜索等系統中扮演著非常重要的角色。排序結果會直接影響用戶的體驗。因此排序技術一直是工業界和學術界的研究熱點,其中的點擊率預估技術更是重中之重。而特征交叉則是點擊率預估模型的重要技術方向,本文介紹了近年來特征交叉的熱門技術方案及其挑戰,并提出了一種新的特征協同交互模型Co-Action Network(CAN),通過提高非線性特征交互的隱式學習容量來探索特征協同交互的潛力。該模型相關工作論文已發表在WSDM 2022,歡迎閱讀交流。
論文下載:https://arxiv.org/abs/2011.05625
??二、背景
我們團隊主要負責展示廣告場景的排序預估,點擊率預估模型的性能除了影響平臺營收,也關系到用戶體驗和廣告主的營銷效率。在展示廣告的業務場景下,點擊率預估模型的目標是預估給定廣告、場景、用戶的情況下該用戶會點擊該廣告的概率,即 ?。近年來隨著深度學習的發展,點擊率預估模型也逐漸從傳統的LR、FM、MLR等模型過渡到DNN模型,其整體的表達方式可以看做是一種Embedding&MLP的范式,基于這種范式逐漸涌現出了兩類優秀的工作,一類是通用范式的特征交叉,例如:xDeepFM, ONN,FiBiNET等,這部分模型充分利用神經網絡的學習能力挖掘特征信息的低階、高階融合從而提升點擊率預估能力。另一類是基于物理意義先驗的顯式語義特征交互,例如DIN和PCF-GNN等,分別采用用戶行為序列和圖結構去捕捉用戶和目標商品的相關性。在后者我們團隊提出了興趣建模這一技術方向,并持續耕耘產出了DIN/DIEN/MIMN/SIM等工作。因此我們也希望能在通用范式的特征交叉迭代中尋求技術增長,一開始我們的嘗試是基于笛卡爾積的特征交叉,但遠未達到預期的目標,隨后我們打破以往的笛卡爾積組合慣性,嘗試直接對序列特征和目標特征進行笛卡爾積組合,取得了不錯的離線結果,不過在工業化上線的時候,這種方法在離線都遇到各種問題,且嚴重威脅到未來的技術迭代。因此我們轉而嘗試FM等參數化方案,這類方案性能可以,但效果遠不如笛卡爾積。于是我們轉而思考是否有更優雅的方式能夠覆蓋并超越笛卡爾積的效果,且不影響未來技術更迭。基于這樣的思考路徑,我們展開相關研究并最終設計出了Co-Action Network(CAN)。
??三、問題和方法
通用范式的特征交叉指的是通過組合兩個(或多個)特征來學習特征間非線性的組合高階表達,其收益則是來自通過挖掘特征之間的共現組合,拓展了特征輸入的表達,從而使得模型能更容易的學習到共現組合提供的信息。例如在真實的業務場景下,我們可以挖掘海量數據中用戶特征和商品特征間的共現信息,如下圖所示:
上述特征交叉的工業實現方案可以主要分為非參數化方案和參數化方案。
非參數化方案:顯式的表達特征交叉ID,例如特征求交,笛卡爾積特征等。
參數化方案:主要通過模型參數隱式擬合的形式去捕捉特征的非線性組合能力,而參數化方案在DNN基礎上的創新迭代又主要分為以下兩類范式:
范式一:通過模型參數擬合的過程中能夠明確特征的交互關系,例如DeepFM,IPNN,ONN,以及本文的CAN。
范式二:無法明確特征具體交互關系,通過設計更復雜的后端網絡追求特征的implict組合和高階融合,例如DCN,xDeepFM,FIBNET。
需要注意的是,兩種范式并不沖突,如果我們將范式一定義豐富輸入X,則范式二則是在復雜化F表達式,那么兩者結合的F(X)可能會帶來進一步收益,本文會在最后介紹CAN和范式二的結合升級。下面依次介紹一下各方法的實現和認識:笛卡爾積,IPNN,ONN,xDeepFM,FiBiNET,這些方法主要選取華為CTR Survey工作《Open Benchmarking for Click-Through Rate》里效果顯著的模型。
1. 笛卡爾積
傳統的笛卡爾積一般是將樣本輸入的任意兩個特征進行組合拼成一個新的特征作為輸入,我們在多種組合嘗試后將其擴展到序列特征的組合中,具體操作是將待預估的商品信息(如item id)和用戶行為序列信息(如item id sequence)做笛卡爾積,形成一個新的id sequence,對其直接做embedding后pooling,將該信息輸入到后續DNN網絡,在我們現有的主模型SIM上有比較明顯的提升。但這種序列笛卡爾積在訓練端和在線服務端成本很大,訓練需要采用各種優化手段防止模型無限膨脹,且大小驟增的模型嚴重影響OL更新。在線服務因為每一次預估需要生成的ID(特征量級擴展參競規模倍),和查詢embedding的ID會急劇膨脹,RT和QPS都明顯遭遇性能瓶頸,一言以蔽之則是給在離線都帶來巨大挑戰。
2. IPNN
IPNN,全稱為Inner Product-based Neural Network,認為在embedding輸入到MLP之后學習的交叉特征表達并不充分,提出了一種product layer的思想,即基于乘法的運算來體現體征交叉的DNN網絡結構。
3. ONN
ONN可以看成是在IPNN基礎上的基于Feature組合參數獨立性的擴展,即可以理解成ONN=IPNN+FFM,ONN認為相同特征在交互過程中執行不同的操作應當使用不同嵌入向量,例如一共有n個特征,每個特征與其他特征做Inner Product會執行(n-1)次操作,加上不交互的嵌入向量,即一個特征需要有n個對應的嵌入向量。
4. xDeepFM
xDeepFM雖然命名看起來是DeepFM的延續,但其核心模塊CIN實際是DCN的一種升級。對比DCN,CIN則從bit-wise改進為vector-wise,不同Feature Group的向量逐層與融合信息進行交互,特性同樣是有限高階、自動叉乘、參數共享。xDeepFM的模型架構圖如下。
其中CIN才是該模型核心,其具體前饋流程如下圖:
是Embedding的維度,是Feature Group的數量,是第層轉移矩陣數量,轉移矩陣的shape為,該轉移矩陣也可以看成是一個卷積核,是原始Embedding,是第層的輸出,具體執行邏輯是:
和的每一列進行外積后拼接得到的矩陣P,對于來說,這里的 = m;
將矩陣P經過個轉移矩陣Conv1D后得到;
將k層Layer的沿列SUM后送入DNN網絡。
5. FiBiNET
文章指出當前的許多通過特征組合進行CTR預估的工作主要使用特征向量的內積或哈達瑪積來計算交叉特征,這種方法忽略了特征本身的重要程度。提出通過使用Squeeze-Excitation network (SENET) 結構動態學習特征的重要性以及使用一個雙線性函數來更好的建模交叉特征。
SENET有效性在論文中的解釋是獲取不同特征的重要性,但其實也可以看做是一種XF(X)的特征交叉,其中F是SENET計算權重的非線性擬合函數,權重可以看做vector-size特征交叉的相對向量,獨特之處在于確保了特征交叉的時候不做Embedding向量內部的差異化,這種形式可以降低學習難度。
6. 挑戰
如背景中所述,我們在迭代的過程中希望尋找一種參數化的方案能夠超越笛卡爾積效果,但又能屏蔽掉笛卡爾積帶來的在離線問題,但在嘗試現有參數化方案后發現均有一定差距,分析原因主要是存在coupled-gradient和信息容量的問題,因此我們分析了笛卡爾積獨立空間學習特征共現記憶的原理,基于此我們通過參數化的方式 將表征神經元化(micro net)設計了Co-Action Network,無需顯式構建id即可逼近大規模序列端笛卡爾積效果,同時性能更友好。下文我們將詳細展開,與此同時CAN模型主要針對的是范式一的優化升級,因此也存在和范式二的合并優化,后文會介紹合并后的模型設計與效果。
??四、Co-Action Network方案
1. 方案概述
點擊率預估模型的核心目標是給定用戶、場景、商品等信息,預估用戶的點擊率。以DNN為基礎的主流預估模型,均采用交叉熵損失函數進行監督訓練,即商品特征、場景特征以及用戶特征取完Embedding后送入全連接層中。其形式化描述是:
其中和分別表示用戶特征和廣告特征,表示將原始的離散ID映射為d維可學習的嵌入向量(embedding),作為整個模型的輸入。將特征間交互建模考慮進來后,可進一步描述為:
其中表示和之間的交互建模。由于特征共現的存在,模型可以受益于特征交互。因此如何有效地對特征交互進行建模是提高模型表達能力的關鍵。仔細回顧以往的方法可以發現,它們要么以特征交互作為權重,要么同時隱式學習與其他目標的相關性,可能會產生不理想的結果。學習特征交互最直接的方法是將特征組合視為新的特征,直接學習每個特征組合的嵌入向量,如笛卡爾積。笛卡爾積提供了獨立的參數空間,具有足夠的靈活性來學習協同作用信息,從而提高預測能力。
然而,笛卡爾積式的建模也有一些嚴重的缺陷。首先是參數爆炸問題。大小為的兩個特征進行笛卡爾積操作后的參數空間將從擴展到,其中D為嵌入維度,這將給在線系統帶來巨大的負擔。此外,由于笛卡爾積將<A, B>和<A, C>視為完全不同的特征,組合之間不存在信息共享,這也限制了組合的表示能力。
考慮到笛卡爾積的優點和計算的服務效率,我們提出了一種新的特征交互建模方法CAN。將笛卡爾積的表達變得可學習、可擴展并具備更高的自由度,演進過程如下:
對于每個特征對,其笛卡爾積產生一個新的特征和相應的嵌入。由于不同的特征對可能具有相同的特征,因此任意兩個特征對之間存在隱含的相似度,而笛卡爾積忽略了這一點。如果能夠有效地處理隱式相似度,則可以用比笛卡爾積更小的參數尺度更有效地建模這些特征對之間的相互作用。CAN模型受笛卡爾積獨立編碼的啟發,首先對嵌入參數和特征交互進行區分,避免了特征間的相互干擾??紤]到DNN具有強大的擬合能力,進而設計了一個以micro net形式參數化特征嵌入的協同單元。由于不同的特征對可以共享同一個micro net,因此在該micro net中可以自然地學習和存儲相似度信息。
2. 模型設計
該模型主要包括特征抽取模塊、興趣抽取模塊、序列建模模塊、特征交互模塊等,整體框架如下圖所示。其中左側的Co-Action Unit具體刻畫了隱式特征交互的過程。
CAN的主要改進是,在原有結構基礎上將不同特征送入新設計的算子得到特征交互的表達向量,再額外送入全連接層中作為信息補充。其形式化表達如下,其中表示模型的參數:
CAN的實現細節主要有三部分,首先引入了一個動態可插拔的特征交互學習單元Co-Action Unit,該單元實現特征組合信息的表達。此外,為了在模型中加入高階信息,引入了多階增強的邏輯,它顯式地為特征交互學習單元構造了一個多項式輸入。為了防止不同特征組合的信息學習的數據穿越相互干擾,針對性地在多個方面合理的開辟新的參數空間,在有限的參數擴增下,有效的提高了自由度。
一般來說,特征交互學習單元是每個特征對的一個獨立的MLP,即micro net,由特征對提供MLP的權值、偏置和輸入。對于一個特定的用戶特征ID ,使用參數查詢獲得可學習的參數,相應的目標商品ID 其參數為。然后,對進行重構,將其分割為micro net的權重矩陣和偏置向量。這一過程可以公式化為:
其中和表示micro net第i層的權重和偏置表示拼接運算,𝐿表示micro net的網絡層數,表示變量的長度。此過程的可形式化為下圖。
然后將輸入到micro net中,最后將micro net各層的輸出拼接,得到最終特征與的特征交互:
其中表示矩陣點乘,表示激活函數,表示特征交互學習單元,其輸入是和。對于序列類的特征,例如用戶的歷史點擊行為序列, 特征交互學習單元會作用于每個點擊行為上,并求和:
在上面的描述中,和分別是通過商品和用戶的特征得到的。不過,同樣可以作為micro net的參數,作為micro net的輸入。根據經驗,在廣告系統中,廣告對應的商品庫遠小于用戶行為中的商品庫規模。因此,此處選擇廣告ID作為提供micro net參數,以減少參數總量,使學習過程更簡單、更穩定。
需要注意,micro net的網絡深度取決于學習的難度。根據經驗,當ID個數較多時通常需要更深的網絡層數,但最后一層一般不帶偏置項效果會更穩定。事實上,deepFM也可以看作是CAN的一種特殊情況,即micro net是一層1×𝐷矩陣,沒有偏置項和激活函數。
與其他方法相比,CAN模型所提出的Co-Action Unit至少具有三個優點。首先,不同于以往在不同類型的特征域學習中使用相同嵌入向量的研究,Co-Action Unit利用了神經網絡強大的計算能力,并將和兩個分量特征動態耦合,而不是固定模型,為保證兩者的解耦更新提供了更大的能力。其次,需要學習的參數規模較小。例如,考慮兩個特征都有N個ID,它們的笛卡爾積的參數量級應該是,其中𝐷是Embedding維度。但若以CAN模型的Co-Action Unit進行建模,則該參數規模降至,其中為的維度,顯著的減輕在線系統負擔。同時與笛卡爾積全盤從0學起相比,在給定一個新的特征組合時,CAN可以復用特征組合對應的well-trained embedding,僅需要訓練Co-action Net中的少量參數即可,所以Co-Action Unit對新特征組合具有更好的泛化能力。
上述特征交互方式是在一階特征的基礎上形成的,然而特征交互可以認為存在高階表達,盡管此單元可以通過多層全連接隱式學習高階特征交互,并且進一步增大參數量和算子復雜度達到學習到的可能,但受限與生產化過程中的參數規模以及稀疏學習無法使得參數對于高階表達學習充分,因而需要顯式輸入高階信息。為此,CAN明確地在Co-Action Unit中引入多階信息以獲得多項式輸入:
學習獨立性是隱式特征交互建模的一個防止學習影響、增加擬合空間,加強表達能力的關鍵方法。由于特征交互計算單元以外還有其他計算單元,這些單元之間可能涉及到相同的特征,但由于擬合邏輯不同如果同空間映射則可能造成表達能力沖突無法收斂,因此區分了表征學習和聯合行動建模的參數。
因此為了保證Co-Action Unit的學習獨立性,CAN從不同的角度提出了三層次的學習策略。
第一層,參數獨立性。即表示學習和CAN特征交互建模的更新,參數獨立性是特征交互學習的基礎。
第二層,組合獨立性。特征交互隨著特征組合數量的增加而線性增長。根據經驗,像“item_id”和“category_id”這樣的目標特征被選擇為,而用戶特征被選擇為。由于可以與相結合,因此CAN可以方便地以指數形式擴大模型的表達能力。形式上,如果和分別有𝑄和𝑆組,特征交互組合應滿足:
其中表示第q個micro net的輸入維度。在前向傳播過程中,將分成若干部分并輸入進不同的micro net。
第三層,階數獨立性。為了進一步提高特征交互建模在多階輸入下的靈活性,CAN模型可以對不同階次的特征進行了不同的向量嵌入。當然,這些嵌入向量的維度也會相應增加。
多層次的獨立性有助于特征交互建模,但同時也帶來了額外的內存訪問和計算。在獨立性級別和部署成本之間存在權衡。根據經驗,模型使用的獨立級別越高,它需要的訓練數據就越多。因為不同的特征的表達語義不同,所以當某個特征在和不同特征組合時應盡量避免用相同的參數,參數使用量會隨著所做組合的特征個數成倍增加。下圖具體闡釋了特征組合的獨立性:
3. 生產化上線
公開數據集實驗和消融實驗大家可以參看論文,這里不再贅述,下面介紹下CAN生產化上線的具體設置和算力優化。正如前面所討論的,笛卡爾積是特性交互建模中最直接的方法。然而,笛卡爾積通常會導致大量的資源消耗。一方面,模型的尺寸將以極快的速度擴大。模型過大給存儲和網絡傳輸帶來了巨大的挑戰,進一步影響了模型的實時更新。另一方面,隨著在輸入階段特性的增加,它增加了應用程序請求中嵌入的查找操作,這導致了系統響應的延遲?,F有的方法在工業部署方面更加友好。但是,也需要注意到,在數十億數據的規模下,與笛卡爾積相比,提升非常有限。同時,單純地增加參數空間,如增加Embedding維度,并不能帶來額外的改進。在實際廣告系統中,選擇了21種特征,其中包括6種廣告特征(如ad_id、item_id、shop_id等)和15種用戶特征(如item_history、shop_history等)來構建特征交互。CAN與笛卡爾積相比,只有十分之一的模型大小就可以實現相當的性能。由于用戶特性大多是長度超過100的行為序列,因此需要額外的內存訪問,這導致了很大的響應延遲。此外,特征交互的計算代價隨著特征組合數量的增加而線性增長,這也給系統帶來了相當大的響應延遲。為了發揮CAN的所有能量,許多工作都致力于減少響應延遲。在算力優化方面,我們主要從三個方面進行了優化:
序列截斷:用戶特征的長度從50到200不等。為了減少內存訪問成本,簡單地對用戶特性應用序列截斷,例如,所有長度為200的用戶行為序列被減少到50,從而保留用戶最新的行為。序列截止使QPS(每秒查詢次數)提高了20%。
減少組合:6個商品特征和15個用戶特征可以得到多達90個特征組合,這是一個很重的負擔。從經驗上看,同類型的廣告特征和用戶特征的組合可以更好地模擬特征的共現性。根據先驗知識,保留相關的組合,并刪除一些不相關的組合。這樣組合數量從90個減少到48個,QPS提高了30%。
計算內核優化:特征交互單元的計算是一個相當耗時的大規模矩陣運算, 基本線性代數子程序不能很好地優化這種矩陣乘法。為解決這一問題,重寫了內部計算邏輯,提高了60%的QPS,并進一步將矩陣乘法和求和運算進行了內核融合。這樣做,可以避免矩陣乘法中間的GPU內存寫入,這帶來了另外47%的QPS提升。
經過以上優化,我們今天成功在展示廣告幾乎所有場景上線了CAN模型,并取得巨大的提升,下表是在主要場景的具體提升結果:
??五、方案擴展
如第三節中所講,通用特征交叉的兩類范式并不矛盾,效果存在互補,因此我們在CAN的基礎上嘗試把所有算子和特征拼接后輸入DNN之前經過一個FiBiNET中所采用的SENET結構。
在離線實驗過程中GAUC+0.2%,但我們分析認為SENET最初設計用于圖像領域,而圖像的feature map的相鄰維度由于Receptive Field設計的Local Share特性存在一定的相關性,所以可以共用權重,但在搜推廣的ID化特征的Embedding中這種相關性大大減弱,因此沒有必要Embedding向量內共享一個權重。于是我們將SENET學習的Feature Group權重對應每個Embedding Dim學習,但實驗結果并沒有提升,且計算復雜度顯著上升,分析原因懷疑學習自由度過大,難以訓練充分,因此我們Trade Off了學習規模, 并綜合各種算法技巧在特征向量輸入DNN之前設計了一個Feature Attribute Unit,將以Feature Group的最大公約數8 dim為粒度學習權重,將學到的權重乘到對應的特征表達向量上,并在最后一層權重激活選擇sigmoid函數,為保證特征變換后的Scale不變,我們乘2保證期望為1。最終取得 0.36% GAUC 提升。由于我們原始feature group的embedding dim各不相同,在實現senet時需要遍歷,因此我們的新方法在算力上也得到了優化。最終上線取得了CTR+2.3%,RPM+2.5%的效果。具體實現結構如下所示:
? 六、總結
對于通用范式的特征交叉表達優化,我們相信還有不少可挖掘的優化空間,Co-Action Network只是一個拋轉引玉的工作,證明了微觀表達可以更復雜,其本身還有些許不足,比如如何差異化不同稠密度特征節點的信息容量以及如何將特征交叉的輸入組合擴展到更多階,因而未來在這個方向一定還能出現更優秀的工作。
References
Bian W, Wu K, Ren L, et al. CAN: Feature Co-Action Network for Click-Through Rate Prediction[C]//Proceedings of the Fifteenth ACM International Conference on Web Search and Data Mining. 2022: 57-65.
Zhu J, Liu J, Yang S, et al. Open Benchmarking for Click-Through Rate Prediction[C]//Proceedings of the 30th ACM International Conference on Information & Knowledge Management. 2021: 2759-2769.
Qu Y, Cai H, Ren K, et al. Product-based neural networks for user response prediction[C]//2016 IEEE 16th International Conference on Data Mining (ICDM). IEEE, 2016: 1149-1154.
Yang Y, Xu B, Shen S, et al. Operation-aware neural networks for user response prediction[J]. Neural Networks, 2020, 121: 161-168.
Huang T, Zhang Z, Zhang J. FiBiNET: combining feature importance and bilinear feature interaction for click-through rate prediction[C]//Proceedings of the 13th ACM Conference on Recommender Systems. 2019: 169-177.
Lian J, Zhou X, Zhang F, et al. xdeepfm: Combining explicit and implicit feature interactions for recommender systems[C]//Proceedings of the 24th ACM SIGKDD international conference on knowledge discovery & data mining. 2018: 1754-1763.
??關于我們
阿里媽媽展示廣告核心算法團隊負責廣告系統的核心召回及排序算法迭代和創新研發,致力于利用人工智能前沿技術打造超大規模體量下的工業級深度學習框架和創新解決方案及相應的基礎設施。團隊在用戶興趣建模、深度樹匹配范式等技術持續深耕,并在工業級領域的深度學習框架上有著深厚的積累。近年在SIGKDD、SIGIR、NIPS、WSDM、CIKM、AAAI等學術會議上發表多篇論文。歡迎感興趣同學加入我們~
投遞簡歷郵箱:
alimama_tech@service.alibaba.com
END
也許你還想看
丨阿里媽媽技術團隊4篇論文入選WSDM 2022
丨WSDM 2022 | 合約廣告自適應統一分配框架
丨WSDM 2022 | 基于元學習的多場景多任務商家建模
歡迎關注「阿里媽媽技術」,了解更多~
瘋狂暗示↓↓↓↓↓↓↓
總結
以上是生活随笔為你收集整理的WSDM 2022 | 点击率模型特征交叉方向的发展及CAN模型介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WSDM 2022 | 基于元学习的多场
- 下一篇: WSDM 2022 | 一种用于在线广告