短視頻如何作到千人千面?FM+GBM排序模型深度解析

摘要: 背景 信息流短視頻以算法分發爲主,人工分發爲輔,依賴算法實現視頻的智能分發,達到千人千面的效果。整個分發流程分爲:觸發召回、排序與重排三個階段。排序層在其中起着承上啓下的做用,是很是重要的一個環節。在排序層優化的過程當中,除了借鑑業界前沿的經驗和作法,咱們也作了模型上的一些創新。算法

背景

信息流短視頻以算法分發爲主,人工分發爲輔,依賴算法實現視頻的智能分發,達到千人千面的效果。整個分發流程分爲:觸發召回、排序與重排三個階段。排序層在其中起着承上啓下的做用,是很是重要的一個環節。在排序層優化的過程當中,除了借鑑業界前沿的經驗和作法,咱們也作了模型上的一些創新。服務器

信息流短視頻排序目前使用是以CTR預估爲目標的Wide&Deep模型。經過引入時長特徵、點擊+時長多目標優化等工做,咱們取得了不錯的收益:網絡

 ●  增長視頻平均播放時長特徵,做爲用戶真實體感信號,帶來用戶消費時長提高;
 ●  經過消費時長樣本加權,實現點擊+時長多目標優化,實現點擊率與消費時長的提高;
 ●  引入多個視頻下發場景的樣本數據,實現多場景樣本融合;
框架

在優化排序模型的過程當中,咱們也調研了DeepFM/DeepCN等深度模型,這些模型不管從離線仍是線上指標上,都沒有明顯優點。在優化Wide&Deep模型的同時,更迫切的需求,是跳出原有的框架,尋找新的收益點。dom

引入GBM對submodel和高級特徵等信號作集成學習,效果要優於單模型。從計算學習理論上看,Wide&Deep是high-variance模型,容易過擬合(wd模型的訓練比評估指標高7%)。GBM經過boosting的方式組合集成多個submodel和高級特徵,更好地發揮各自不一樣的做用和優點互補,同時從總體上有更好的可解釋性。ide

上面是對信息流短視頻排序模型演進的簡要介紹;而其中的FM+GBM模型是咱們團隊比較有開創性的一項工做,下面稍微展開介紹。性能

模型學習

向量分解機(Factorization Machines, FM)是一種應用較爲普遍的推薦模型,其發明者Steffen Rendle目前供職於Google。FM是對傳統LR模型在處理高階交互特徵問題上的優化和改進:LR經過特徵交叉的方式,將組合後的特徵做爲新特徵加入到模型中,模型複雜度爲O(N^2)(N爲交互特徵的數量,下同),記憶性較強而泛化性偏弱;FM經過將特徵表徵爲隱向量,經過隱向量的類似度(內積)來表示特徵關聯這種方式來巧妙地提高模型的泛化能力;FM模型的複雜度爲O(N*k)(k爲隱向量維度超參)。測試

以二階交互的FM模型爲例,其模型定義以下:優化

FM本質上是一個線性模型,不一樣項之間以線性組合的方式影響模型的輸出。若是要考慮更加複雜的模型組合,計算複雜度將會很是高。儘管學術界也有像張量分解(Tensor Decomposition)這類處理高階交互特徵的模型;但在工業級,考慮到效果與性能的折衷,每每只考慮二階的交互。但在此基礎上,咱們能夠考慮引入非線性的模型來優化FM模型。

 

在非線性模型中,樹模型(CART/GBM/Random Forest)的應用很是普遍。咱們引入GBM做爲組合FM的非線性模型:

FM+GBM一期(純GBM)

一期主要打通整個實驗框架和數據流,並無引入額外的信號。GBM使用的信號包括:wd/lr模型等sub-model打分、點擊率/時長和體感特徵,以及一些簡單的匹配度特徵。整個實驗框架比較簡單:精排流程新增GBMScorer,實現如下2個功能:

 ●  分發服務器經過流量分桶決定精排是否使用GBM打分,由GBMScorer具體執行;
 ●  特徵歸一化和迴流。提取的特徵經歸一化後返回給分發服務器,由分發服務器迴流至日誌服務器落盤。點擊日誌也同時經由日誌服務器落盤。點擊-展示日誌經過reco_id+iid對齊,經清洗、過濾和反做弊處理後,提取回流特徵用於模型訓練;

在調研和實驗的過程當中,如下是一些經驗和教訓:

 ●  樣本與超參的選擇:爲了讓模型儘量地平滑,咱們從7天滑動窗口的數據中隨機抽取樣本,並按比例分割訓練/驗證/測試集。經過交叉驗證的方式選擇超參;在全部的超參中,樹深度對結果的影響比較大,深度爲6時效果明顯優於其餘選擇。在調參過程當中,auc和loss這兩項評估指標在訓練/評估/測試數據集上並無明顯的差別,因而可知GBM模型的泛化性。
 ●  離線評估指標:auc是排序模型經常使用的離線評估指標之一,但全局auc粒度太粗,能夠結合業務計算一些細粒度的auc。行業有采用以Query爲粒度,計算QAUC,即單個Query的auc,再按均值或者加權的方式融合獲得的auc,比起全局auc指標更加合理。咱們採用相似作法,以單次下發爲粒度計算auc,再計算均值或者按點擊加權。須要注意的是,auc計算的粒度決定了劃分數據集的粒度。若是按照單次下發爲粒度計算,那麼一次下發的全部樣本都必須同時落在訓練/評估/測試數據集上。除此以外,單次下發中若是零點擊或者全點擊,這部分數據也是須要廢棄的。
 ●  特徵的歸一化:尤爲是對與用戶相關的特徵進行歸一化尤其重要。經過分析精排打分(wd),咱們發現不一樣用戶間的精排打分分佈的差別較爲顯著:同一用戶的打分方差小,分佈比較集中;不一樣用戶用戶打分均值的方差比較大。若是不對精排打分作歸一化處理,GBM訓練過程很難收斂。

GBM和精排打分也會隨特徵迴流。日誌對齊後,能夠對這兩個模型在離線評估指標上作比較fair的對比。從全局auc/單次下發粒度auc與小流量實驗的結果來看,細粒度auc與在線實驗的效果更加趨於一致。

FM+GBM二期

一期搭建了實驗框架和數據流,二期開始考慮引入新的信號。

縱觀眼下GBM用到的信號,主要分爲兩類:一是item側信號,這類特徵從各個維度刻畫了item的特性:熱度、時長、質量等。這類特徵有助於咱們篩選精品內容,提高推薦質量baseline。二是相關性特徵,用於刻畫用戶和視頻的關聯度(關聯度能夠經過點擊刻畫,也能夠經過時長刻畫;目前主要經過點擊),提高推薦的個性化,作到千人千面。個性化水平纔是信息流的核心競爭力。

目前相關性特徵經過長短時間用戶畫像計算和視頻在一級/二級類目和TAG上的匹配程度,至少存在2個問題:

 ●  BoW稀疏的特徵表達沒法計算語義層面的匹配度;例如,帶足球標籤的用戶和梅西的視頻經過這種方式計算獲得的匹配度爲0。
 ●  目前視頻結構化信息的準確率/覆蓋率較低,會直接影響這類特徵的效果。

wd/lr模型可以必定程度解決上述問題。尤爲wd模型,經過embedding技術,將用戶和視頻自己及各個維度的結構化信息嵌入到一個低維隱向量,可以必定程度緩解這個問題。可是這類隱向量缺少靈活性,沒法脫離wd模型單獨使用:計算用戶和視頻的匹配度,除了須要用戶和視頻的隱向量,還要結合其餘特徵,並通過一系列隱層的計算才能獲得。

業界主流公司的作法,是經過FM模型,將全部id特徵都分紅在同一個空間內的隱向量,於是全部的向量都是可比的:不只用戶與視頻自己和各個維度的匹配度,甚至用戶之間、視頻之間,均可以經過簡單的向量運算獲得匹配度。從模型結構看,FM模型能夠認爲是可以更加緊密刻畫這種匹配度的神經網絡結構。爲此,咱們引入FM模型分解點擊-展示數據,獲得用戶和視頻自己及各個維度的隱向量。經過這些隱向量計算用戶和視頻的匹配度。這些信號和與其它sub-model和高級特徵一塊兒,經過GBM進行點擊率預估。

這種作法與Facebook在KDD'14發表的LR+GBDT模型有類似之處,差別在於: LR+GBDT本質上是線性模型,而FM+GBM是樹模型,可以處理信號與目標間高度非線性的複雜關係,也具有更好的可解釋性。整個算法框架如圖所示:

因爲FM須要例行訓練,用戶隱向量灌庫和視頻隱向量加載之間存在時間差,而不一樣版本模型的隱向量之間是不可比的。爲此咱們設計了簡單的版本對齊機制:全部隱向量都會保留最近2個版本的數據;在FM在線計算模塊中,實現版本對齊的邏輯,用對齊後最新版本的隱向量計算匹配度。因爲例行訓練的時間窗口爲4~6個小時,保留2個版本的數據是足以保證絕大部分隱向量可以對齊。在更加高頻的模型訓練中,能夠增長版本的數量來確保模型對齊。

效果上:一期+二期離線AUC提高10%,在線CTR和人均點擊提高6%。

結語

信息流短視頻排序層通過一段時間的迭代優化,目前已經造成 LR->WD->FM+GBM這套相對比較完備體系。這種漏斗體系有助於排序層在性能和效果之間trade-off:越日後,模型越複雜/特徵越高級/計算量越大,而參與計算的視頻數據量更少。

後續咱們的優化目標將從點擊率預估轉向時長預估,由感知相關性轉向真實相關性。這種轉換是合理且必要的:用戶點擊容易受到標題和封面等因素的干擾,而真正體現用戶興趣的是消費時長。時長模型以及點擊率預估模型與時長模型的融合實現收益的最大化,將是下一個要重點攻克的問題。

做者:技術小能手​

原文連接

相關文章
相關標籤/搜索