首先要感謝阿里叨橱,分享了這個(gè)美妙的技術(shù)。
以下是我結(jié)合了阿里技術(shù)對(duì)基于任意深度學(xué)習(xí)+樹狀全庫(kù)搜索的新一代推薦系統(tǒng)的一些看法。
Part 0 背景
隨著時(shí)代日新月異阅羹,推薦技術(shù)對(duì)各大互聯(lián)網(wǎng)公司都起著越來(lái)越重要的作用勺疼,阿里針對(duì)大規(guī)模候選集上的匹配推薦問題,自主創(chuàng)新提出了一套嶄新的捏鱼、完整的基于樹結(jié)構(gòu)的匹配和推薦算法框架执庐,希望借此賦能任意深度學(xué)習(xí)模型在推薦匹配中的使用,實(shí)現(xiàn)面向全量大規(guī)模候選集的精準(zhǔn)匹配和推薦导梆。
推薦轨淌、搜索、廣告投放是互聯(lián)網(wǎng)內(nèi)容提供商進(jìn)行流量分配的核心業(yè)務(wù)看尼,也是大數(shù)據(jù)和機(jī)器學(xué)習(xí)技術(shù)的典型應(yīng)用場(chǎng)景猿诸。無(wú)論是推薦,搜索狡忙,還是廣告投放問題梳虽,都可以描述為從大規(guī)模候選中給用戶提供有限的展現(xiàn)結(jié)果以獲取用戶的正向反饋(廣告投放還需額外考慮廣告主意愿和體驗(yàn))。
Part 1 理論及概念
首先我們要明確一點(diǎn):
推薦=匹配+排序(Recommend=Match+Rank)
從上面公式不難看出灾茁,推薦問題可歸納為匹配階段和排序階段的問題窜觉。
推薦系統(tǒng)的核心就在于從全量Items中根據(jù)Users的behavior,召回TopK候選集的問題北专。
一禀挫、
先從排序來(lái)說,排序部分由于候選集較小拓颓,故可使用各類復(fù)雜模型(例如DL等)來(lái)優(yōu)化TopK的選取语婴,來(lái)達(dá)到最終效果,例如廣告投放收益等驶睦。業(yè)界對(duì)此方面的研究進(jìn)展很深砰左,例如阿里就將排序階段的CTR預(yù)估利用了基于Attention結(jié)構(gòu)的深度興趣模型,收益很大场航。
PS:?
Attention模型最初應(yīng)用于圖像識(shí)別缠导,模仿人看圖像時(shí),目光的焦點(diǎn)在不同的物體上移動(dòng)溉痢。當(dāng)神經(jīng)網(wǎng)絡(luò)對(duì)圖像或語(yǔ)言進(jìn)行識(shí)別時(shí)僻造,每次集中于部分特征上,識(shí)別更加準(zhǔn)確孩饼。如何衡量特征的重要性呢髓削?最直觀的方法就是權(quán)重,因此镀娶,Attention模型的結(jié)果就是在每次識(shí)別時(shí)立膛,首先計(jì)算每個(gè)特征的權(quán)值,然后對(duì)特征進(jìn)行加權(quán)求和汽畴,權(quán)值越大旧巾,該特征對(duì)當(dāng)前識(shí)別的貢獻(xiàn)就大耸序。
二、
再?gòu)钠ヅ浞矫媛承桑ヅ浞矫嬗捎趩栴}規(guī)模較大坎怪,復(fù)雜模型在此階段有局限性,所以業(yè)界在這方面的研究尚處于發(fā)展階段廓握〗亮回到上述關(guān)于兩階段的描述,可以看出匹配階段產(chǎn)生的候選集的質(zhì)量會(huì)成為最終效果的天花板隙券,因此如何創(chuàng)新和發(fā)展匹配技術(shù)是對(duì)業(yè)務(wù)有著重大意義的問題男应,也一直是業(yè)界和學(xué)術(shù)界關(guān)注的重點(diǎn)問題。
三娱仔、
以推薦為例沐飘,在工業(yè)級(jí)的推薦系統(tǒng)中,匹配階段往往面臨很多技術(shù)挑戰(zhàn)牲迫。例如當(dāng)候選集非常大的時(shí)候耐朴,要從全量候選集中挑選TopK集合,我們無(wú)法接受隨著全量候選集大小而線性增長(zhǎng)的時(shí)間復(fù)雜度盹憎,這使得一些學(xué)術(shù)界研究的需要計(jì)算全量{User筛峭,Item} 興趣度的方法并不能真正應(yīng)用于實(shí)際推薦系統(tǒng)中的匹配階段。在有限的計(jì)算資源下陪每,如何根據(jù)用戶信息從全量候選集中快速得到高質(zhì)量的TopK候選集影晓,需要在計(jì)算效率和計(jì)算準(zhǔn)確性上做精巧的平衡。作為真實(shí)應(yīng)用的推薦系統(tǒng)檩禾,其匹配階段的計(jì)算時(shí)間需要被限制挂签,簡(jiǎn)單用以下公式表示:
其中T表示單次計(jì)算的時(shí)間消耗,N可以認(rèn)為是為單個(gè)用戶召回TopK需要的總體計(jì)算次數(shù)锌订。在上述公式的約束下竹握,圍繞如何提升匹配效果画株,工業(yè)界的技術(shù)發(fā)展也經(jīng)歷了幾代的演進(jìn)辆飘,從最初的基于統(tǒng)計(jì)的啟發(fā)式規(guī)則方法,逐漸過渡到基于內(nèi)積模型的向量檢索方法谓传。然而這些方法在技術(shù)選型上都在上述計(jì)算效率約束下對(duì)匹配效果進(jìn)行了很大的犧牲蜈项。如何在匹配階段的計(jì)算效率約束下引入更先進(jìn)的復(fù)雜深度學(xué)習(xí)模型成為了下一代匹配技術(shù)發(fā)展的重要方向。
Part 2 相關(guān)技術(shù)
如上文所述续挟,結(jié)合工業(yè)級(jí)推薦系統(tǒng)的約束紧卒,匹配技術(shù)經(jīng)歷了從基于統(tǒng)計(jì)的啟發(fā)式規(guī)則方法到基于內(nèi)積模型的向量檢索方法的轉(zhuǎn)變,具體描述如下:
I)第一代——基于統(tǒng)計(jì)的啟發(fā)式規(guī)則方法
這一類方法的經(jīng)典代表就是Item-based Collaborative Filtering(以下簡(jiǎn)稱Item-CF)基于物品的協(xié)同過濾诗祸,也是業(yè)界應(yīng)用最廣的推薦算法之一跑芳。Item-CF的算法原理是:首先通過統(tǒng)計(jì)計(jì)算得到Item to Item(I2I)的相似關(guān)系轴总,其次啟發(fā)式地獲取用戶近期行為作為Trigger Item集合,用它們進(jìn)行I2I擴(kuò)展博个,最后以某種打分規(guī)則對(duì)擴(kuò)展后的Item集合進(jìn)行排序怀樟,截?cái)嗟玫絋opK作為候選集進(jìn)行后續(xù)排序流程。結(jié)合公式(1)盆佣,我們可以知道這種方法有效的控制了總體計(jì)算次數(shù)N往堡,因?yàn)橛脩舻腡rigger Item集合是有限的,相似關(guān)系圈定的候選集合也是有限的共耍,從而避免了對(duì)全量候選集的計(jì)算虑灰,同時(shí)簡(jiǎn)單的打分規(guī)則可以有效地控制單次計(jì)算時(shí)間T,兩者使得最終整體方法的計(jì)算量較少痹兜,滿足了在線應(yīng)用的要求穆咐。
這類方法簡(jiǎn)單有效,應(yīng)用也比較廣泛字旭,但從算法原理不難看出庸娱,這種方法天然存在一大弊端:它限制了嘗試推薦給用戶未曾行為過但可能感興趣的Item的可能性。這種將候選限定在歷史興趣相似范疇內(nèi)的啟發(fā)式規(guī)則對(duì)推薦效果的提升有限谐算,它降低了用戶體驗(yàn)(尤其是推薦結(jié)果的驚喜度)熟尉,也制約了系統(tǒng)整體的可持續(xù)發(fā)展能力。盡管后續(xù)的排序環(huán)節(jié)可以引入復(fù)雜的機(jī)器學(xué)習(xí)方法洲脂,例如MLR(混合邏輯回歸)斤儿,FM(因子分解)或者深度學(xué)習(xí),但它們都依賴于匹配給出的候選結(jié)果恐锦,所以無(wú)論如何復(fù)雜的模型都突破不了匹配給定的上限往果。
II)第二代——基于內(nèi)積模型的向量檢索方法
引入機(jī)器學(xué)習(xí)方法來(lái)提升匹配能力是業(yè)界共識(shí)和趨勢(shì)。機(jī)器學(xué)習(xí)本質(zhì)上是一個(gè)衡量模型一铅,可以衡量用戶對(duì)商品的興趣度陕贮。這種基于模型的匹配方法理論上要衡量一個(gè)用戶對(duì)所有商品的興趣度,從而挑選出最優(yōu)的推薦結(jié)果潘飘。這就帶來(lái)了問題:對(duì)于大規(guī)模商品候選集的場(chǎng)景是計(jì)算不可行的肮之。
如何化解計(jì)算不可行的問題?研究人員提出了以向量距離的方式衡量用戶和商品興趣度的方法卜录,用戶和商品被表示成向量形式戈擒,并以此為基礎(chǔ)建立基于向量聚類的索引結(jié)構(gòu)進(jìn)一步加速衡量效率,于是這個(gè)計(jì)算問題變成了在有限時(shí)間內(nèi)是可解的(近似求解)艰毒,具體實(shí)現(xiàn)也落到了向量引擎的范疇筐高。結(jié)合公式(1),T代表簡(jiǎn)單的向量?jī)?nèi)積計(jì)算時(shí)間,而N則通過建立向量索引結(jié)構(gòu)從而控制在O(桶候選集規(guī)模)的較小范圍內(nèi)柑土。
所以內(nèi)積式模型和向量引擎成為了最近幾年匹配領(lǐng)域技術(shù)革新的最重要技術(shù)(圖像檢索問題最早就是采用的這種方法)蜀肘。尤其是去年Facebook的Faiss框架開源,極大降低了業(yè)界嘗試向量引擎的難度稽屏,對(duì)行業(yè)發(fā)展起到了極大的促進(jìn)作用幌缝。至此,基于內(nèi)積模型的向量檢索方法引領(lǐng)了第二代匹配和推薦技術(shù)的潮流诫欠,在各類學(xué)術(shù)會(huì)議和工業(yè)實(shí)踐中大放異彩涵卵。
?然而問題是,這類方法并未實(shí)現(xiàn)充分利用機(jī)器學(xué)習(xí)解決匹配問題的初衷荒叼,對(duì)機(jī)器學(xué)習(xí)模型的限制太大轿偎。高階深度學(xué)習(xí)大部分都不可劃成內(nèi)積形式,比如CTR預(yù)估里用戶和商品特征交叉非常有用被廓,大部分不可用內(nèi)積表示坏晦。而在現(xiàn)有深度學(xué)習(xí)中內(nèi)積模型的表達(dá)能力被證明是有限的,比如將內(nèi)積模型中最后的內(nèi)積運(yùn)算直接換成多層感知機(jī)能大幅提升模型能力嫁乘,而多層PNN內(nèi)外積神經(jīng)網(wǎng)絡(luò)?昆婿,DIN等對(duì)用戶興趣更有洞察力的復(fù)雜模型效果被證明能極大的超越內(nèi)積模型。
與此同時(shí)蜓斧,我們也發(fā)現(xiàn)在具體實(shí)踐中仓蛆,向量檢索算法要求User和Item能夠映射到統(tǒng)一的向量空間。User輸入信息和Item輸入信息一般并不同質(zhì)挎春,如何保證映射到統(tǒng)一目標(biāo)向量空間下的檢索精度對(duì)映射算法提出了嚴(yán)格的要求看疙,換言之,統(tǒng)一的向量空間映射對(duì)運(yùn)用向量檢索來(lái)解決推薦問題帶來(lái)了精度損失的風(fēng)險(xiǎn)直奋。
III)下一代匹配和推薦技術(shù)
結(jié)合上文的描述能庆,匹配技術(shù)發(fā)展的核心點(diǎn)在于系統(tǒng)性能限制下盡可能提升興趣的衡量精度(從規(guī)則算法到引入先進(jìn)模型)和覆蓋范圍(從限定候選集到全量候選集)。為此我們嘗試對(duì)下一代匹配和推薦技術(shù)進(jìn)行研究脚线,自主提出了一種更通用的匹配和推薦算法框架搁胆,它允許容納任意先進(jìn)模型而非限定內(nèi)積形式,并且能夠?qū)θ亢蜻x集進(jìn)行更好的匹配邮绿。無(wú)論在公開數(shù)據(jù)集還是在阿里數(shù)據(jù)集上渠旁,新方法的召回率和新穎性對(duì)比前兩代技術(shù)都有飛躍性的提高。我們的方法以推薦問題為例進(jìn)行展開斯碌,實(shí)驗(yàn)也是在推薦應(yīng)用的場(chǎng)景下進(jìn)行的一死。值得指出的是,匹配問題本身作為推薦傻唾、搜索、廣告投放業(yè)務(wù)中的核心模塊,使得我們的方法具有很強(qiáng)的普適性冠骄。
Part 3 技術(shù)方案
(I)最大堆樹的提出和構(gòu)建:
我們需要構(gòu)建一套全新的方法體系來(lái)實(shí)現(xiàn)樹結(jié)構(gòu)的構(gòu)建伪煤、基于樹的訓(xùn)練采樣和TopK檢索、以及節(jié)點(diǎn)興趣度計(jì)算的統(tǒng)一凛辣”Ъ龋回到匹配問題本身,假定全量候選集中的每一個(gè)商品都是一個(gè)葉子節(jié)點(diǎn)扁誓,當(dāng)前用戶對(duì)所有葉子節(jié)點(diǎn)背后都存在一個(gè)真實(shí)的興趣度防泵,用Pi(u)表示。我們并不知道其具體值蝗敢,只有根據(jù)概率采樣出來(lái)的樣本(用戶真實(shí)反饋)捷泞。對(duì)于一般的模型,我們可以對(duì)葉子節(jié)點(diǎn)的概率建模寿谴,但是要找TopK需要遍歷所有節(jié)點(diǎn)锁右,計(jì)算量太大。因此我們創(chuàng)新性的提出了興趣最大堆樹(Max-heap like Tree)的概念讶泰,其定義樹上節(jié)點(diǎn)的概率如下:
即用戶對(duì)第j層父親節(jié)點(diǎn)興趣的偏好概率正比于用戶對(duì)第j+1層孩子節(jié)點(diǎn)興趣的偏好概率最大值咏瑟,其中a(j)是第j層節(jié)點(diǎn)興趣概率的歸一化因子。根據(jù)最大堆樹的定義痪署,如果已知這棵樹上的每層節(jié)點(diǎn)概率之間的序(同層內(nèi))码泞,我們可以快速找到全局TopK,即從根節(jié)點(diǎn)出發(fā)找當(dāng)前層的TopK狼犯,然后在上層TopK節(jié)點(diǎn)對(duì)應(yīng)的下層孩子節(jié)點(diǎn)集合中繼續(xù)找TopK浦夷,遞歸向下直至葉子。
然而問題是這棵樹上的節(jié)點(diǎn)概率我們現(xiàn)在并不知道辜王,但是我們可以想辦法得到符合樹節(jié)點(diǎn)概率的序的樣本劈狐,然后用深度學(xué)習(xí)在這個(gè)樣本上進(jìn)行擬合也即得到了節(jié)點(diǎn)概率之間的序。具體地呐馆,對(duì)于任意一個(gè)用戶有行為的葉子節(jié)點(diǎn)采樣i肥缔,隱含了葉子層的序:
根據(jù)我們的樹節(jié)點(diǎn)概率定義(最大堆性質(zhì)),可以向上遞歸推出每層節(jié)點(diǎn)概率的序汹来。根據(jù)這個(gè)序我們進(jìn)行負(fù)樣本采樣续膳,用深度學(xué)習(xí)模型基于這個(gè)采樣去學(xué)習(xí),以逼近最大堆樹上每層的序收班。
(II)最大堆樹背后的方法論:
最大堆樹結(jié)構(gòu)定義背后描述的直觀意義是用戶興趣的層次結(jié)構(gòu)坟岔,如果用戶對(duì)具體的商品感興趣,例如iPhone摔桦,那么用戶對(duì)更高層的節(jié)點(diǎn)社付,例如iPhone所在的類別--手機(jī)承疲,也是感興趣的。用戶的興趣結(jié)構(gòu)具有天然的層次性鸥咖,最大堆樹結(jié)構(gòu)定義了用戶從細(xì)粒度興趣到粗粒度興趣的傳遞過程燕鸽,也在刻畫用戶的這種興趣的層次結(jié)構(gòu)。當(dāng)然描繪用戶的興趣層次結(jié)構(gòu)不限于最大堆樹結(jié)構(gòu)啼辣,但是阿里提出的最大堆樹結(jié)構(gòu)在方法上具有獨(dú)到之處啊研,其從方法論層面統(tǒng)一了樹結(jié)構(gòu)的構(gòu)建過程,樹節(jié)點(diǎn)的興趣建模和采樣方式鸥拧,興趣樹背后的TopK檢索流程党远。
綜上所述,從最大堆樹結(jié)構(gòu)定義出發(fā)富弦,阿里提出了Tree-based Deep Match(以下簡(jiǎn)稱TDM)算法框架(圖1)沟娱。TDM以淘寶商品體系為初始化依托,自頂向下構(gòu)造從粗到細(xì)的興趣層次樹(Tree)舆声,并在此基礎(chǔ)上應(yīng)用深度學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行用戶興趣的推薦建模花沉,賦能單點(diǎn)計(jì)算上的復(fù)雜模型,運(yùn)用層次檢索方法實(shí)現(xiàn)全量候選上的用戶TopK商品興趣推薦媳握。
基于如上的設(shè)計(jì)和實(shí)現(xiàn)碱屁,TDM的貢獻(xiàn)包含以下幾點(diǎn):
(i)創(chuàng)新的最大堆樹檢索結(jié)構(gòu)使得使用任意高級(jí)深度學(xué)習(xí)模型變得可能,帶來(lái)推薦效果的極大提升
TDM采用樹來(lái)組織用戶興趣層次蛾找,并將之做為興趣推薦的層次檢索結(jié)構(gòu)載體娩脾,良好的亞線性O(shè)(log(候選集規(guī)模))時(shí)間復(fù)雜度使得TDM的檢索過程非常高效,這種高效為TDM引入先進(jìn)復(fù)雜模型提升檢索精度提供了強(qiáng)大支持打毛。在單獨(dú)計(jì)算每個(gè)興趣節(jié)點(diǎn)的偏好時(shí)柿赊,TDM不局限于特定的模型結(jié)構(gòu)(如內(nèi)積等),可以引入更加切合數(shù)據(jù)特性的復(fù)雜模型結(jié)構(gòu)來(lái)優(yōu)化預(yù)測(cè)結(jié)果幻枉,例如基于用戶歷史行為的Attention結(jié)構(gòu)碰声,樹節(jié)點(diǎn)Embedding下沉到輸入層,用戶和樹節(jié)點(diǎn)的歷史交叉信息引入等等熬甫。無(wú)論上述哪種復(fù)雜計(jì)算的引入胰挑,在TDM的對(duì)比實(shí)驗(yàn)中都取得了更優(yōu)的推薦效果。
(ii)全庫(kù)檢索能力可以有效提升召回準(zhǔn)確度和新穎性
TDM實(shí)現(xiàn)了面向全量候選集的檢索能力椿肩,通過對(duì)用戶興趣進(jìn)行層次切分和逐層圈選瞻颂,TDM避免了直接在全量候選集上的超大計(jì)算,它采用將大問題切割成多個(gè)小問題遞歸求解的方式實(shí)現(xiàn)全庫(kù)檢索郑象。受益于全庫(kù)檢索的實(shí)現(xiàn)贡这,TDM可以提升結(jié)果的新穎比例并保持了召回效果,而借助于先進(jìn)模型計(jì)算能力的引入TDM可以達(dá)到新穎性指標(biāo)提升的同時(shí)進(jìn)一步優(yōu)化召回的準(zhǔn)確度厂榛。
(iii)再創(chuàng)新的樹-模型聯(lián)合訓(xùn)練實(shí)現(xiàn)樹結(jié)構(gòu)和模型能力的雙優(yōu)化盖矫,進(jìn)一步大幅提升效果
在基礎(chǔ)TDM算法框架之上丽惭,我們繼續(xù)創(chuàng)新性地建立了樹-模型聯(lián)合訓(xùn)練框架,通過初始樹-模型訓(xùn)練-樹重建-模型再訓(xùn)練的循環(huán)迭代炼彪,樹的結(jié)構(gòu)隨著模型的演進(jìn)不斷得到優(yōu)化吐根,使得樹更契合用戶的興趣組成和分布正歼,而模型訓(xùn)練也受益于優(yōu)化后的樹結(jié)構(gòu)辐马,進(jìn)一步降低Loss提升測(cè)試效果。聯(lián)合訓(xùn)練為TDM帶來(lái)了10%以上的測(cè)試效果提升局义。
Part 4 總結(jié)與展望
Tree-based Deep Match(TDM)自主創(chuàng)新提出了一套完整的基于樹的復(fù)雜深度學(xué)習(xí)推薦匹配算法框架喜爷,它通過建立用戶興趣層次樹結(jié)構(gòu)實(shí)現(xiàn)了高效的全庫(kù)檢索,并以此為基礎(chǔ)賦能深度模型引入Attention等更先進(jìn)的計(jì)算結(jié)構(gòu)萄唇,達(dá)到了在精度檩帐、召回率以及新穎性等指標(biāo)上相對(duì)于傳統(tǒng)推薦方法的顯著效果提升。進(jìn)一步的另萤,TDM設(shè)計(jì)實(shí)現(xiàn)了一套完整的初始樹-模型訓(xùn)練-樹重建-模型再訓(xùn)練的聯(lián)合訓(xùn)練迭代框架湃密,更加促進(jìn)了效果的提升。聯(lián)合訓(xùn)練賦予了TDM算法框架較好的通用性四敞,為TDM向新場(chǎng)景泛源、新領(lǐng)域的遷移擴(kuò)展提供了良好的理論基礎(chǔ)和極大的工程可行性。
由阿里自主創(chuàng)新提出的這套TDM框架是對(duì)學(xué)術(shù)界和工業(yè)界關(guān)于匹配和推薦理論技術(shù)發(fā)展的一次重大促進(jìn)忿危,它為解決匹配問題提出了一套嶄新的枉证、完整的支持任意深度學(xué)習(xí)的樹狀全庫(kù)檢索方案障陶,取得了算法效果的巨大提升,并為廣泛的行業(yè)、領(lǐng)域遷移提供了極大的可行性陈瘦。
TDM建立了一套完整的基于樹結(jié)構(gòu)的深度學(xué)習(xí)推薦匹配理論和技術(shù),并在阿里媽媽廣告業(yè)務(wù)上取得了初步的成果和進(jìn)展踊谋。但相對(duì)來(lái)說TDM還處于開端階段立由,后續(xù)還有較多可改進(jìn)的地方,比如在樹學(xué)習(xí)方法上暫時(shí)采用的是無(wú)監(jiān)督學(xué)習(xí)的KMeans聚類洼裤,未來(lái)可以考慮采用有監(jiān)督的方式對(duì)樹進(jìn)行調(diào)枝邻辉、剪枝等調(diào)整來(lái)實(shí)現(xiàn)樹結(jié)構(gòu)的進(jìn)一步優(yōu)化。