深度CTR預估模型在應用寶推薦系統中的探索

2021-01-15 騰訊網

導語 |點擊率(click-through rate, CTR)預估是網際網路平臺的核心任務之一。近年來,CTR預估技術從傳統的邏輯回歸,到深度學習DeepFM, Wide&Deep, DIN, DCN等算法落地,經歷了突飛猛進的發展。本文旨在以深度CTR預估模型為基礎,探索在應用寶推薦場景下的算法優化。文章作者:趙程,騰訊算法研發工程師。

一、業務背景

點擊率(click-through rate, CTR)預估的本質是對用戶/商品建模,進而計算用戶的點擊概率。模型的衍變經歷了從經典機器學習LR、FM再到深度學習DNN、Wide&Deep、雙塔、DIN等的百花齊放。本文將針對應用寶的推薦場景,展開CTR模型探索優化。

應用寶推薦業務主要包括首頁推薦、遊戲推薦等,與常見信息流推薦(新聞/視頻)不同,本場景下的數據分布具有明顯的差異:

App曝光頻次差異巨大:頭部app曝光佔比很高,長尾app曝光嚴重不足;

用戶行為極其稀疏:用戶月下載中位數、平均數較少。

面對著以上問題,當前的推薦模型主要面臨著以下挑戰:

在訓練樣本稀缺的情況下,如何保證低頻特徵(e.g., 長尾appid)的充分學習;

鑑於用戶行為極其稀疏,如果更精準地捕捉用戶的興趣偏好。

本文主要針對以上挑戰,在當下深度CTR預估模型的基礎上展開模型優化探索,通過引入更長周期用戶行為和app描述文本信息,並進一步挖掘用戶行為興趣,有效促進了推薦效果提升。

二、基本框架

應用寶的整體推薦流程如下圖所示,從底層數據流抽取特徵,經過召回、排序以及重排,最終應用到實際業務場景中。本文主要針對排序模型優化。

排序模型我們以業內廣泛使用的Wide&Deep模型作為baseline,其中,Wide側具有記憶能力,能夠記住高頻特徵組合,達到準確推薦的目的;Deep側為了彌補交互矩陣稀疏的不足,將特徵映射到低維向量表示,經過多層神經網絡,使模型具有泛化能力。

三、多行為融合訓練

在我們的場景中擁有很多appid 相關的行為特徵,例如用戶歷史點擊、下載、安裝等,基本的Wide&Deep框架會將每個行為特徵映射到單獨的embedding,並單獨更新。

由於每一類特徵的用戶行為記錄十分稀疏,這種操作會造成低頻特徵embedding的訓練不充分。

針對於此,我們設計了基於appid embedding共享的多行為融合訓練機制,體現在模型中為Deep側的appid embedding聚合共享。

由於appid類的特徵較多,在實際選取時,我們主要利用了用戶的實時行為特徵和短期行為特徵,避免了由安裝/卸載記錄帶來的數據噪音。

Wide&Deep中embedding參數約佔總量的95%,通過特徵共享,參數量從2800w降低到了2000w,在模型保存和訓練速度方面均有一定的優化。

效果方面,我們主要考慮離線auc和copc(pcvr/cvr,反映模型打分偏差),經過特徵共享的模型效果在auc上基本持平,而在copc指標上得到了明顯的優化,一定程度上緩解了模型的打分偏差。

由於我們的特徵中用戶行為只涵蓋了15天內近30個app的記錄,對於低頻app依然沒有充足的學習樣本,那麼應該如何優化呢?

四、引入更長周期用戶行為

一種自然的想法便是引入更長周期的用戶行為記錄。近年來,以DeepWalk, Graphsage為代表的圖模型能夠較好地捕捉用戶的長周期行為特點。

我們根據用戶過去30天內的下載行為進行構圖,考慮到用戶在同一天中的下載序列無明顯的先後關係,構建了基於共線下載的無向圖,接著訓練隨機遊走模型生成預訓練的deepwalk appid embedding,作為先驗信息指導排序模型優化。

在共享appid embedding的基礎上,我們嘗試了多種訓練策略。

固定初始化:直接將預訓練的deepwalk appid embedding賦值給共享appid embedding;

初始化微調:在1的基礎上進行參數微調;

特徵蒸餾:引入輔助loss,度量學習得到的embedding與預訓練embedding的相似度(向量點積)。

從效果來看,只有初始化微調的方式會帶來一定的效果提升,說明經過deepwalk訓練的embedding和wide&deep訓練的embedding在向量分布上是有差異的。

但目前為止auc的提升還很微弱,即使我們引入了30天甚至更久的用戶行為數據,對於一些低頻app依然無法充分學習,那是否還有外部信息可以利用呢?

五、引入APP描述文本信息

Deepwalk的訓練本質是從用戶行為信息中發掘app間的相似關聯,若直接從app自身的屬性信息(e.g., 標題、描述文本)出發,是否也能發現相似的規律?

近年來,以BERT為代表的預訓練語言模型在文本表示方面取得了巨大的成功,我們將每個app的標題和描述文本作為輸入訓練tag分類模型,得到一個高維(768維)的向量表示,嘗試指導Wide&Deep中的appid embedding學習。

由於Wide&Deep模型規模的限制以及前期的經驗,我們的embedding size往往很小(30維/60維),更高的維度會導致效果下降,所以需要探索一種有效的降維方式。

這裡我們主要嘗試了外部pca降維和內部通過全連層自動學習的降維方式,實驗表明,在網絡中進行端到端自動學習的降維方式更有效果。

六、預訓練embedding融合

為了更直觀地展現embedding分布,我們對deepwalk和bert預訓練的embs分別進行了tsne可視化。

下圖中不同的顏色表明不同的一級類目,二者均呈現了明顯的類目空間聚集性,同類目的app自然地聚集到了一起。

同時兩者的embedding分布也具有空間差異性,比如,bert可視化圖中的左下角部分是視頻類app,而deepwalk是出行類app。

鑑於二者的差異性,我們的做法是將其分別做投影變換,投影到同一向量空間中,這裡投影變換的參數隨網絡一起學習。融合embedding的方式則為拼接或相加。

模型的整體框架圖如下:

從實驗效果來看,向量投影拼接的方式具有更好的表現:

為了進一步展示加入deepwalk/bert外部預訓練embedding的效果,我們接著進行了tsne可視化,其中左邊為wide&deep appid embedding的可視化表示,右邊是融合embedding的可視化表示,可以發現app的分布從雜亂無序學到了呈現明顯的聚簇,具有了一定的可解釋性。

通過這個實驗,我們已經知道app embs的初始化不同會對模型結果產生影響,那麼它們分布的具體聚簇是否與模型效果有著嚴格的相關性,還需要更多的探索求證。

七、基於attention的用戶行為挖掘

用戶的歷史行為對當前app推薦具有直觀的影響,如下圖中,同樣的歷史點擊序列,對不同app的影響大小不同。

下圖是用戶近72h內同類目app點擊次數(match特徵)與cvr的關係,我們可以發現,用戶歷史點擊的同類目app次數越多,當前app的cvr也就越高。

圖中從123級類目由粗至細定位了用戶的興趣。但同類目的限制往往比較嚴苛,有時相關的app可能不在同一類目下(e.g., 和平精英、騰訊地圖),而且用戶的興趣也更加廣泛。

於是我們使用基於attention的方式對用戶行為進行挖掘,希望可以從一定程度上緩解同類目限制所帶來的泛化性弱的問題。但由於用戶行為序列極短,一般的attention操作是否適用呢?

首先我們進行了一組基礎attention的實驗,額外引入app embedding作為query,對用戶行為序列進行attenion 操作,具體公式和圖示如下:

從效果來看,隨機初始化query embedding的attention操作甚至會使效果變差,而且模型的訓練過程往往第二個epoch開始就出現了過擬合。受上一步工作的影響,我們認為app embs query和key的初始化也對模型有著極大的影響。

下圖中展示了在i2i召回中,app相似度和cvr的關係。橫坐標表示當前app和用戶歷史app的cos相似度的log值,藍線表示cvr。

我們發現app召回中,cvr隨著相似度的增加而增加,用戶總是傾向於喜歡與他歷史行為app相似的app。

體現在deepwalk/bert的融合embedding中,由於相似app具有明顯的聚集性,它們的點乘得分也高。

在attention中,我們添加了以dw+bert融合向量為初始化embedding的點乘打分方式,最終效果auc效果提升明顯。

八、結語

綜上,本文針對應用寶推薦場景下的兩大挑戰(app曝光差異大、用戶行為少),從兩方面對現有的深度CTR模型進行了改進:

第一,引入了基於Deepwalk的長周期用戶行為挖掘和基於BERT的app文本描述信息增強。

第二,利用attention機制挖掘用戶的歷史行為序列,並融合外部embedding,實現用戶興趣發掘。

相關焦點

  • 從FM推演各深度CTR預估模型(附代碼)
    怎樣才能迅速get到新模型的創新點和適用場景,快速提高新論文速度,節約理解、復現模型的成本?這些都是亟待解決的問題。 我們認為,從FM及其與神經網絡的結合出發,能夠迅速貫穿很多深度學習CTR預估網絡的思路,從而更好地理解和應用模型。
  • IJCAI 2020|推薦中的深度反饋網絡
    然而,現在的大規模深度推薦模型往往以點擊為目標,只看重以用戶點擊行為為代表的隱式正反饋,而忽略了其它有效的用戶反饋信息。作者在本文中關注用戶多種顯式/隱式和正/負反饋信息,學習用戶的無偏興趣偏好。這些信息在推薦系統中往往是海量的,但是這些信息有著較多噪聲(用戶點擊的並不一定是他真正喜歡的)。另外,隱式反饋通常是以正反饋的形式出現,推薦中的隱式負反饋存在巨大噪聲(未展現信息或者未點擊信息並不一定意味著用戶不喜歡這些內容)。在近期的深度推薦系統中,CTR導向的目標受到極大關注。因此,模型不可避免地只關注和目標緊密相關的用戶點擊行為,忽略了其它用戶行為中蘊含的豐富信息。
  • 深度解析數據挖掘在推薦系統中的應用
    在移動網際網路時代, 我們會接收到很多由推薦系統推薦過來的信息。比如在逛淘寶、京東時,你會看到「猜你喜歡」這樣的推薦商品; 刷今日頭條、抖音時會首選看推薦的新聞、短視頻,接收來自推薦系統的信息似乎已經成了一種習慣。實際上,在構建推薦系統的過程中會用到大量的數據挖掘算法。
  • 代碼+實戰:TensorFlow Estimator of Deep CTR——DeepFM/NFM/AFM/...
    深度學習在 ctr 預估領域的應用越來越多,新的模型不斷冒出。從 ctr 預估問題看看 f(x) 設計—DNN 篇整理了各模型之間的聯繫之後,一直在琢磨這些東西如何在工業界落地。經過幾個月的調研,發現目前存在的一些問題:開源的實現基本都是學術界的人在搞,距離工業應用還有較大的鴻溝模型實現大量調用底層 API,各版本實現千差萬別,代碼臃腫難懂,遷移成本較高單機,放到工業場景下跑不動針對存在的問題做了一些探索,摸索出一套可行方案,有以下特性:讀數據採用 Dataset API,支持 parallel and prefetch 讀取通過
  • 基於深度神經網絡的脫硫系統預測模型及應用
    關鍵詞:燃煤電廠;脫硫系統;計算機模擬;深度學習;神經網絡;預測;模型應用;智慧環保;當前,國家正加快推進以 5G、人工智慧、工業網際網路、物聯網為代表的新型基礎設施建設(新基建),電力行業的智能化建設也蓬勃發展。國內大型火力發電廠很早就實現了廠級 DCS 數據監控,歷史運行數據豐富,為實現數據驅動的神經網絡建模提供了有利條件。
  • 從模型到部署,FPGA該怎樣加速廣告推薦算法
    圖 1:某美食 APP 的推薦頁面這些 APP 都會有類似「猜你喜歡」這類欄目。在使用時會驚嘆「它怎麼直到我喜歡這個」,當然,也會有「我怎麼可能喜歡這個」的吐槽。其實這些推送都是由機器學習搭建的推薦系統預測的結果。今天就介紹一下推薦系統中的重要成員 CTR 預估模型,下面先讓大家對 CTR 預估模型有一個初步認識。
  • 推薦算法系統/人臉識別/深度學習對話機器人高級實戰課
    包含了推薦算法系統實戰、深度學習人臉識別實戰、深度學習對話機器人實戰等高級前沿的精品課程,下面分別介紹下各個實戰項目:1、推薦算法系統實戰首先推薦系統不等於推薦算法,更不等於協同過濾。推薦效果最終要應用到線上平臺去,在App或網站上毫秒級別的快速展示推薦結果,這就需要推薦的在線Web引擎服務來保證高性能的並發訪問。這麼來說,雖然算法是核心,但離不開每個子系統的配合,另外就是不同算法可以嵌入到各個子系統中,算法可以貫穿到每個子系統。從開發人員角色上來講,推薦系統不僅僅只有算法工程師角色的人就能完成整個系統,需要各個角色的工程師相配合才行。
  • 分享實錄 | 第四範式程曉澄:機器學習在推薦系統中的應用
    主講人:程曉澄 | 第四範式資深算法科學家 屈鑫 整理編輯 量子位 出品 | 公眾號 QbitAI 9月20日晚,量子位邀請到第四範式資深算法科學家程曉澄, 他以「機器學習在推薦系統中的應用」為題,與大家分享了 如何用機器學習來優化推薦系統相關技術問題 。
  • SpaceX發射之後:在人類探索太空的徵途中,深度學習能做什麼?
    相比於完全由政府主導的「軍用」航天時代,隨著模塊化衛星和商業航天領域的發展,更多的小型或私人機構得以參與到太空領域的探索工作中。與此同時,機器學習也在這一領域有著更加廣泛的應用,尤其是近年來興起的深度學習技術。在今年 1 月份的一篇論文中,來自牛津大學和三星 AI 的研究者介紹了深度學習在太空探索實踐中的應用。
  • 深度、卷積、和遞歸三種模型中,哪個將是人類行為識別方面的佼佼者?
    但是由於這些深度技術都是基於不同的應用層面,從識別手勢到區分跑步、爬樓梯等一系列活動,所以很難對這些問題提出一個普遍適用的方案。在本文中我們認真地探索了深度、卷積、遞歸方式對三種代表性的包含運用可穿戴感應器測得的運動數據組進行的實驗。我們將展示怎樣訓練遞歸方法並介紹一種創新性的規範方式,講述它們如何在大型基礎數據集上實現現有技術下最好的表現。
  • 吳恩達 NIPS 2016:利用深度學習開發人工智慧應用的基本要點(含...
    今日,在第 30 屆神經信息處理系統大會(NIPS 2016)中,百度首席科學家吳恩達教授發表演講:《利用深度學習開發人工智慧應用的基本要點(Nuts and Bolts of Building Applications using Deep Learning)》。
  • 在推薦系統中,我還有隱私嗎?聯邦學習:你可以有
    初期的推薦系統中多採用的是內容過濾的方法。例如,我在某寶上瀏覽了幾件黑色女式羽絨服,系統根據內容過濾算法直接提取 「黑色」、「羽絨服」、「女式」 等 item 特徵,在這個應用場景下,item 具體為 「物品」。通過對物品進行多次關聯性分析,發現我多次在某寶中的點擊之間的關聯性,從而生成推薦結果,將「女式羽絨服」 推薦到我的某寶首頁中。
  • 吳恩達NIPS2016:利用深度學習開發人工智慧應用的基本要點含唯一的...
    今日,在第 30 屆神經信息處理系統大會(NIPS 2016)中,百度首席科學家吳恩達教授發表演講:《利用深度學習開發人工智慧應用的基本要點(Nuts and Bolts of Building Applications using Deep Learning)》。
  • 視覺信息助力廣告點擊率預估-京東廣告團隊技術論文入圍KDD2020
    在以AI技術為支持的推薦、搜索、廣告等業務中,點擊率預估(CTR)一直是技術攻堅的核心,同時也是AI技術在業務落地中最難實現的技術方向之一。在2016年,商業提升事業部部署LR-DNN模型架構,基於Theano框架離線訓練,自研在線severing服務。模型上線早於google的wide & deep模型發布,雖然較w&d模型設計和使用略顯粗糙,但是也是將深度學習算法引入廣告生產環境中的一次大版本升級,對於部門有舉足輕重的意義。
  • 視覺信息助力廣告點擊率預估——京東廣告團隊技術論文入圍KDD2020
    在以AI技術為支持的推薦、搜索、廣告等業務中,點擊率預估(CTR)一直是技術攻堅的核心,同時也是AI技術在業務落地中最難實現的技術方向之一。在2016年,商業提升事業部部署LR-DNN模型架構,基於Theano框架離線訓練,自研在線severing服務。模型上線早於google的wide & deep模型發布,雖然較w&d模型設計和使用略顯粗糙,但是也是將深度學習算法引入廣告生產環境中的一次大版本升級,對於部門有舉足輕重的意義。
  • KDD 2018:滴滴提出WDR模型顯著提升ETA預測精度
    四篇論文分別是(文末附論文打包下載地址)Kaixiang Lin (Michigan State University); Renyu Zhao (AI Labs, Didi Chuxing); Zhe Xu (AI Labs, Didi Chuxing); Jiayu Zhou (Michigan State University)Yaguang Li (
  • 實現一個簡單的推薦系統模型-基於流行度的推薦模型
    搭建一個最簡單的推薦系統,應該如何入手呢? 推薦系統目前已經深入到了網際網路的各類產品中。
  • 深度學習在統計機器翻譯和會話中的應用 |微軟IJCAI2016演講PPT
    、深度神經網絡應用於不同場景的情況,之前第一部分提到了其應用於語義理解上的一些經驗和收穫,本文為第二部分。神經網絡在基於短語的SMT中的示例l  神經網絡作為線性模型中的組成部分   翻譯模型   預壓模型 捲曲神經網絡的使用   聯合模型 FFLM與原始詞彙