面向索引、模型、檢索聯合優化的下一代推薦技術
點選下載下傳論文
一. 背景
搜尋,推薦和廣告是網際網路内容提供商進行價值創造的核心業務,在阿裡巴巴這一世界上最大的電子商務交易平台上,搜尋,推薦和廣告業務同樣具有舉足輕重的意義和價值。搜尋、推薦和廣告看似業務形态不同,其實技術組成卻是非常相通的。從推薦的視角看,搜尋可以認為是一種帶query相關性限制的推薦,而廣告則是疊加了廣告主營銷意願(價格)限制的推薦,是以推薦技術的創新對推動搜尋、推薦和廣告業務技術的整體發展具有基礎性的作用。
從技術演進的角度,推薦算法近年來也在不斷的更新換代。從限定在一個有限的曆史興趣範疇内推薦的第一代基于統計的啟發式規則方法(代表算法Item-based Collaborative Filtering, Item-CF)到第二代基于内積模型的向量檢索方法,推薦技術打開了候選子集檢索範圍的天花闆。然而,向量檢索方法限定了内積模型這種使用者-商品偏好度量方式,無法容納更加先進的打分模型(例如帶有Attention結構的深度網絡)。為了在全庫檢索和效率限制的基礎上進一步打開推薦技術中模型能力的天花闆,此前阿裡媽媽精準定向廣告業務團隊自主提出了新一代任意深度學習+樹型全庫檢索推薦算法(Tree-based Deep Model,TDM)
深度樹比對推薦技術,在大規模推薦問題上取得了顯著的效果提升。本次被NeurIPS 2019接收的這篇論文,介紹了該團隊在資料驅動的模型、索引、檢索算法聯合優化上取得的最新研究成果。
二. 現有體系存在的問題
如下圖所示,在大規模任務中,搜尋,推薦和廣告的系統通常由模型,索引和檢索算法三大元件組成。模型計算單個使用者-對象的偏好機率,索引将所有商品有序地組織在一起,檢索算法根據模型的輸出在索引中召回最終的推薦結果。三者共同決定了召回品質且存在内在聯系。

然而,以推薦為例,現有的推薦體系對模型索引和檢索的互相聯系往往沒有做充分的考量。從聯合調優這一視角出發,對現有的幾代推薦體系的代表算法存在問題分析如下:
- 在Item-CF中,反向索引根據Item之間某種自定義的相似度量建立,檢索過程則是根據使用者曆史行為在反向索引中查詢候選集後排序截斷,模型在排序過程中對候選集中的Item根據某種自定義的規則進行打分。在系統中,模型和檢索被規則固化,沒有學習調優。
- 在向量檢索的模式中,系統會分别為使用者和商品學習一個向量表達,其内積作為使用者對商品的偏好程度的預測。檢索等價于使用者向量在商品向量集合中的kNN最近鄰檢索,在大規模問題中,可以采用近似的最近鄰索引結構來加速檢索。在建立向量檢索推薦系統的過程中,模型訓練的目标是準确的預測單個使用者-對象的偏好機率,而kNN檢索索引建立的目标則最小化近似誤差,二者的優化方向并不一緻。同時,内積形式的偏好預測表達能力有限,無法容納更加先進的打分模型。
- 在TDM中,我們通過交替疊代優化模型和樹結構再加之無參數的逐層beam search檢索過程進行了模型、索引和檢索聯合優化上的實踐和創新。然而在TDM中,模型的優化和樹結構索引的學習二者的優化目标也不完全一緻,這可能導緻二者的優化互相牽制而導緻最終整體效果次優。特别是對于樹結構索引,模型訓練樣本的構造和檢索路徑的選擇與樹結構具有更加緊密的聯系,是以其品質好壞尤為重要。
綜上分析,本文針對目前大規模推薦方法中存在的問題,提出了一種統一目标下的模型、索引、檢索聯合優化的算法JTM(Joint Optimization of Tree-based Index and Deep Model),打破系統各子產品獨立優化帶來的互相掣肘,使得整體推薦效能達到最優。
三. 端到端聯合學習的深度樹比對推薦技術
JTM繼承了TDM樹結構索引+任意深度使用者-商品偏好打分模型的系統架構,通過聯合優化和階層化特征模組化取得了大幅超越TDM的推薦精度。為了更好地了解JTM,我們首先簡單了解一下TDM的原理。
3.1 深度樹推薦模型TDM
推薦系統的任務是從候選集(例如,商品庫)中選出使用者目前偏好的一個子集。當候選集的規模很大時,如何快速有效地從全庫中做推薦是一個具有挑戰性的問題。TDM創造性地采用樹結構作為索引結構并進一步地令使用者對樹上節點的偏好滿足下面的近似最大堆性質:

首先,候選集中的每個對象(例如,一個商品或者廣告)都被配置設定到樹的一個不同葉子節點上,如圖(b)所示。樹上的非葉子節點可以看做是它的子節點集合的一個抽象。圖(a)給出了使用者對節點的偏好機率的計算過程,使用者資訊和待打分的節點首先被向量化為深度打分網絡(例如,全連接配接網絡,attention網絡等等)的輸入,網絡的輸出作為使用者對該節點的偏好機率。在檢索top-k的候選子集即top-k葉子節點的
3.2 JTM中的聯合優化架構

對于大規模的候選集,傳統的求解最大權比對的算法例如匈牙利算法由于複雜度太高而難以使用。即使是最簡單的貪婪算法,計算和存儲所有的權重的成本也是無法接受的。為解決這一問題,我們利用樹結構提出了一種分段式樹學習算法。相比于直接将所有對象配置設定到葉子節點中,我們在樹中自上而下地一步步實作對象到節點的配置設定。記
3.3 階層化使用者興趣表達
本質上,JTM(和TDM)是對推薦系統中索引結構和檢索方式的一種深度改造。樹結構的每一層可以看做是商品不同粒度上的聚合表示,JTM通過樹上自頂向下的逐層相關性檢索,從粗到細地找到使用者資訊比對的最佳候選子集,這也與人類視角選擇偏好商品的過程相契合。通過聯合考慮模型和索引結構,JTM和TDM将一個複雜的大規模推薦任務分解為若幹個級聯的子檢索任務,在上層的檢索任務中,隻需要在一個更粗的粒度上做圈選,且每層圈選的候選集遠小于候選集全集,其訓練難度将大大縮小。可以預見,當子檢索任務的解足夠理想時,其級聯後的檢索結果将超越直接在候選集中圈選候選集的效果。
四. 實驗效果
4.1 實驗設定
我們使用了Amazon Books和UserBehavior兩個大型公開資料集來進行方法的效果評估。Amazon Books是使用者在Amazon上的行為記錄,我們選擇了其中最大的Books這一子類目。UserBehavior為阿裡開源的淘寶使用者行為資料集。資料集的規模如下:

在實驗中,我們比較了下面幾種方法:
- Item-CF: 基本的協同濾波算法,被廣泛應用于個性化推薦任務中。
- YouTube product-DNN: 應用于Youtube視訊推薦的向量内積檢索模型。
- HSM: 層次Softmax模型,被廣泛應用于NLP領域,作為歸一化機率計算的一種替代
- TDM: 我們此前的工作 。
- DNN: TDM模型去掉樹結構後的版本。該方法不使用索引結構,在預測時會對全量候選集進行打分,再挑選topk。由于對全量候選集打分的計算複雜度非常高,是以無法實際應用,但可以作為強baseline來進行比較。
- JTM: 本文中提出的聯合優化方法。同時,我們對比了JTM的兩個變種版本,分别為JTM-J和JTM-H。其中,JTM-J為使用了樹結構聯合優化但沒有采用階層化使用者興趣表達的版本;JTM-H相反,其使用了階層化使用者興趣表達,但會使用固定的初始樹結構而不進行聯合學習。
在所有神經網絡模型中,均使用相同的三層全連接配接網絡作為打分模型。評測方面,我們使用Precision, Recall和F-measure作為性能評測名額,定義如下:
4.2 比較結果
下表給出了各個方法在兩個資料集上的比較結果。相比于效果最佳的baseline方法DNN(計算量太高無法應用于實際),JTM在Amazon Books和UserBehavior上的recall分别取得了45.3%和8.1%的相對提升。

DNN的性能要優于YouTube product-DNN,這反應了内積模型的局限性,隻通過内積的形式構造使用者對商品的偏好機率無法充分拟合使用者-商品偏好分布。此外,TDM的性能不如DNN,這說明了樹結構優化的必要性。欠佳的樹結構可能導緻模型學習收斂到次優的結果。特别是對于Amazon Books這種稀疏的資料,樹上節點的embedding無法充分學習而不具有顯著的區分性導緻TDM效果不顯著。與之對應的是,通過應用本文提出的階層化使用者興趣表征方法,JTM-J方案在一定程度上解決了粗粒度上的資料稀疏性問題,是以對比TDM在Amazon Books資料集上取得了十分顯著的提升,通過聯合優化,JTM在所有資料集和評測名額上顯著優于DNN全量打分的結果,且檢索複雜度也要低得多。這些結果說明,通過統一目标下聯合優化的方式,JTM能夠學習到更優的樹結構和興趣模型。從JTM、JTM-J、JTM-H三者的互相對比來看,可以發現不管是同一目标下的聯合學習,還是階層化的使用者興趣表示,都能提升最終的推薦精準度。另外,在JTM的聯合架構下,樹結構學習和階層化興趣表示疊加,起到了1+1>2的效果。
4.3 樹結構學習收斂性
在基于樹的推薦方法中,樹結構直接影響了訓練時的樣本生成和預測時的檢索路徑。一個好的樹結構,不管是對模型訓練還是興趣檢索,都能發揮重要的正面作用。下圖中,我們對比了JTM提出的基于統一目标的樹聯合學習方案,和TDM工作中使用到的基于商品embedding聚類的方案。
其中,前三個圖為Amazon Books資料集上的效果,後三個圖為UserBehavior資料集上的效果。

從實驗結果中可以發現,本文提出的JTM方案,在樹結構學習的逐漸疊代過程中,能夠穩定地收斂到一個更優的樹結構。與之對比的是,基于聚類的方案,在疊代最後都會出現類似于過拟合的情況。
五. 總結
JTM給出了一種統一目标下聯合優化深度樹比對模型的打分模型和樹索引結構的算法架構。在樹結構優化中,我們基于樹型結構的特點提出了一種可用于大規模任務的分層重建算法。在模型優化和打分中,基于樹上檢索逐層細化候選集合的本質,我們相應的提出了對使用者行為特征階層化的模組化方法。JTM繼承了TDM打破内積模型的限制,可容納任意深度打分模型的優勢。此外,通過聯合調優,JTM帶來了顯著的效果提升。JTM徹底解決了曆史推薦系統架構的非最優聯合問題,建立了完全資料驅動下端到端索引,模型和檢索聯合最優化的系統組成。進一步的,JTM的提出,是對以user-tag-doc兩段式檢索為基礎的搜尋,推薦和廣告現有架構的一次重大技術革新。