0
雷鋒網(wǎng) AI 科技評論按:推薦系統(tǒng)是現(xiàn)代互聯(lián)網(wǎng)服務(wù)的重要組成部分之一,不管是 YouTube 和亞馬遜,還是優(yōu)酷和淘寶,都通過推薦系統(tǒng)向用戶推薦他們可能感興趣的內(nèi)容,用戶得以看到更多自己關(guān)心的內(nèi)容、在頁面上逗留更多時間,服務(wù)提供商和網(wǎng)購平臺的商戶們也由此獲得更多的收入。
蓋坤博士領(lǐng)導(dǎo)的阿里媽媽精準(zhǔn)定向技術(shù)團(tuán)隊(duì)就在推薦系統(tǒng)方面有諸多研究成果。之前我們就介紹過一篇來自他們的論文,他們設(shè)計的深度興趣網(wǎng)絡(luò)(Deep Interest Network,DIN)能更好地利用用戶歷史行為數(shù)據(jù),提升廣告點(diǎn)擊預(yù)測的準(zhǔn)確率。
最近蓋坤團(tuán)隊(duì)的一篇新論文《Learning Tree-based Model for Recommender Systems》也介紹了他們在推薦系統(tǒng)算法設(shè)計方面的新進(jìn)展。雷鋒網(wǎng) AI 科技評論把論文內(nèi)容介紹如下。
對于生產(chǎn)級別的推薦系統(tǒng)來說,語料庫的大小其實(shí)是算法選擇的一大限制。直觀地來說,推薦系統(tǒng)需要從各項(xiàng)語料(商品或者視頻)中挑出和用戶最為匹配的條目作為推薦結(jié)果。當(dāng)語料庫較小時,各種方法都可以選用;但當(dāng)語料庫很大時,那些計算復(fù)雜度隨語料數(shù)量線性增加的算法就是難以接受的了。
研究人員們早期提出的協(xié)同過濾推薦算法(collaborative filtering)就是一類能以相對小的計算能力處理大規(guī)模語料的算法,其中典型的基于物品的協(xié)同過濾算法 ItemCF 可以預(yù)先計算物品對之間的相似度,然后根據(jù)用戶的歷史行為選出最相似的物品。這種方法簡單有效,而且已經(jīng)可以為不同的用戶提供個性化的推薦結(jié)果,但它最好情況下也只能推薦與用戶看過的商品相似的其它商品,無法真正挖掘用戶的興趣,而且推薦結(jié)果也沒有新穎性(對用戶來說沒有驚喜度)。
隨著機(jī)器學(xué)習(xí)的興起,「學(xué)出一個推薦系統(tǒng)模型」的想法被證明不僅可行,而且推薦結(jié)果也有明顯的進(jìn)步。理論上,學(xué)到的模型應(yīng)當(dāng)為每一對「用戶 - 商品」對計算匹配度,然后把算出的匹配度排序,推薦排在前列的商品。學(xué)到的模型固然可以帶來優(yōu)秀的推薦質(zhì)量,但這樣的做法同時也會帶來線性增加的計算復(fù)雜度,用戶和商品數(shù)量大到一定程度就無法使用了。所以研究人員們也提出了一些替代方法,比如建立矩陣分解(matrix factorization)模型,把用戶 - 商品對分解為用戶向量和商品向量,然后把兩個向量的內(nèi)積或者距離作為匹配度。這樣形式的推薦問題在有限時間內(nèi)可以近似求解,比如用哈?;蛘吡炕椒ń茖ふ?k-最近鄰,所以也在工業(yè)界得到了廣泛應(yīng)用。YouTube 介紹自己的推薦系統(tǒng)的論文《Deep Neural Networks for YouTube Recommendations》中就探索了使用兩路多層網(wǎng)絡(luò)分別產(chǎn)生用戶向量和商品向量最后做內(nèi)積計算的方法。
不過向量內(nèi)積方法也仍然極大地限制了模型的能力。比如點(diǎn)擊通過率(click through rate)預(yù)估中需要使用用戶歷史行為和商品的交叉特征,但大部分特征無法用內(nèi)積的形式表示。甚至于,即便只是把固定的內(nèi)積計算步驟換成一個多層前饋神經(jīng)網(wǎng)絡(luò)都能改善推薦結(jié)果。更強(qiáng)大、更自由的模型仍然大有可為。
在這樣的背景下,蓋坤團(tuán)隊(duì)希望通過新的匹配和推薦技術(shù)解開計算復(fù)雜度的枷鎖,允許在大規(guī)模語料庫上自由地使用各種模型。在論文中他們提出了新的基于樹搜索的深度推薦模型(tree-based deep recommendation model,TDM)。
實(shí)際上,樹形的層級化信息結(jié)構(gòu)在各種領(lǐng)域都天然地存在,比如 iPhone 這個細(xì)分商品品類就可以歸在“智能手機(jī)”這個粗粒度商品品類下面。文中提出的 TDM 就利用了這種層級化的信息結(jié)構(gòu),把推薦問題轉(zhuǎn)化為一系列層級化分類問題。利用從粗到細(xì)的逐步分類過程,TDM 不僅提高了推薦準(zhǔn)確率,而且可以把計算復(fù)雜度從關(guān)于語料數(shù)量線性增加降低到對數(shù)增加。
TDM 的關(guān)鍵設(shè)計可以分為新型樹結(jié)構(gòu)的設(shè)計、深度神經(jīng)網(wǎng)絡(luò)設(shè)計、樹結(jié)構(gòu)的學(xué)習(xí)三部分。
新型樹結(jié)構(gòu)降低計算復(fù)雜度、降低搜索難度
對于樹結(jié)構(gòu),我們很容易想到熟悉的 hierarchical softmax 樹,其中每次分支都是一次二分類。這一面導(dǎo)致從上向下搜索時不能保證一次就找到最優(yōu)的葉子,仍然需要遍歷整個樹;另一面,在推薦系統(tǒng)的場景下其實(shí)我們希望找到多個相似的葉子,hierarchical softmax 就不是那么適合。
(雷鋒網(wǎng) AI 科技評論注:softmax 模型里每類的概率正比于類別自己的指數(shù)項(xiàng),但具體計算一類的概率時需要用自己的指數(shù)項(xiàng)除以一個歸一化項(xiàng),這個歸一化項(xiàng)是所有類別的指數(shù)項(xiàng)的加和。所以導(dǎo)致了對多類問題中,即使計算其中一個類別的概率,softmax 的計算復(fù)雜度也很高。Hierachical softmax 的動機(jī)和貢獻(xiàn)是用樹狀連乘概率形式避免掉了歸一化項(xiàng)的計算,節(jié)省了計算某一類的計算量。但對于尋優(yōu)檢索問題,它的連乘概率形式不保證每層進(jìn)行貪婪搜索能找到全局最優(yōu),所以對大商品庫下推薦最好商品這個尋優(yōu)問題仍需要遍歷全部商品進(jìn)行計算。)
TDM 的關(guān)鍵是使用了一種新的類似最大堆(max-heap like)的樹結(jié)構(gòu),如上圖(圖中示例是一個完全二叉樹,實(shí)際中也可以不是)。設(shè)用戶 u (包含用戶身份、歷史行為等)對第 j 層的節(jié)點(diǎn) n 代表的商品品類感興趣的概率為 P(j)(n|u) ,那么每個非葉子節(jié)點(diǎn)都滿足: P(j)(n|u) 的真實(shí)值 = n 節(jié)點(diǎn)的所有子節(jié)點(diǎn) {nc}中最大的 P(j+1)(nc|u) 除以正則化項(xiàng) α(j);正則化項(xiàng) α(j) 的作用是讓第 j 層所有節(jié)點(diǎn)的概率的和為 1。
對于推薦系統(tǒng)而言,對這個樹做搜索的目標(biāo)是找到 k 個偏好概率最大的葉子。那么搜索時可以在每層中找到 k 個概率值最大的節(jié)點(diǎn),然后只有這 k 個節(jié)點(diǎn)的子節(jié)點(diǎn)會繼續(xù)向下搜索;最終找到概率值最高的 k 個葉子。根據(jù)這樣的設(shè)計,搜索過程中可以不知道每個節(jié)點(diǎn)的概率的確切值,只需知道同一層節(jié)點(diǎn)之間的大小順序就可以完成搜索。據(jù)此,作者們也根據(jù)用戶的隱式反饋數(shù)據(jù)和神經(jīng)網(wǎng)絡(luò)來訓(xùn)練每個節(jié)點(diǎn)的辨別器,讓它們可以對偏好概率排序。
在訓(xùn)練時,用戶實(shí)際沒有進(jìn)行互動的節(jié)點(diǎn)也就可以隨機(jī)選擇一部分作為訓(xùn)練中的負(fù)例。這種隨機(jī)選擇作為負(fù)例的做法還有一個好處,相比 hierarchical softmax 樹中訓(xùn)練模型分辨最優(yōu)和次優(yōu)節(jié)點(diǎn),隨機(jī)選擇的負(fù)例會讓每個節(jié)點(diǎn)的辨別器都成為當(dāng)前層中的全局辨別器,即便當(dāng)上一層的辨別器出了問題、選擇了一些不好的子節(jié)點(diǎn)時,下一層的辨別器也有能力把所有這些子節(jié)點(diǎn)中好的那一部分挑出來。
通過這樣的樹結(jié)構(gòu)設(shè)計,尋找節(jié)點(diǎn)的過程是從高向低、層層遞進(jìn)的。對于大小為 M 的語料庫,最多只需要 2*k*log M 次分支就可以在完全二叉樹中找到最終需要的 k 個推薦結(jié)果??s減到對數(shù)級別的計算復(fù)雜度也意味著可以在其上使用更高級的概率二分類模型。層層遞進(jìn)中每一次只需要做一個簡單分類問題的設(shè)計也比傳統(tǒng)逐個搜索葉子節(jié)點(diǎn)的難度大大降低。
另外,樹結(jié)構(gòu)作為一種索引也是可以學(xué)習(xí)的,從而讓其中的商品和概念可以被更快地提取到;這同時也有助于模型的訓(xùn)練。作者們也提出了一種樹結(jié)構(gòu)的學(xué)習(xí)方法,可以合并訓(xùn)練神經(jīng)網(wǎng)絡(luò)和樹結(jié)構(gòu),見下文。
時間分片輸入、帶有注意力模塊的深度神經(jīng)網(wǎng)絡(luò)
受到之前在點(diǎn)擊通過率 CTR 模型方面研究的啟發(fā),作者們設(shè)計的深度神經(jīng)網(wǎng)絡(luò)模型(上圖)可以從樹中學(xué)到低維的嵌入,然后結(jié)合注意力模塊尋找相關(guān)的用戶行為,以便更好地表征用戶。網(wǎng)絡(luò)的輸入也可以接收多個塊,每個塊中包含用戶在不同時間窗口內(nèi)的行為。借助注意力模塊和后部的多層神經(jīng)網(wǎng)絡(luò),這個模型的表現(xiàn)和容量得以大幅提高,同時也不再受到前文提到過的表示為向量和向量內(nèi)積的限制。
樹結(jié)構(gòu)學(xué)習(xí)
根據(jù)前面的設(shè)計,學(xué)到一個好的樹對整個推薦模型發(fā)揮出良好表現(xiàn)起著重要作用。直接參照現(xiàn)有數(shù)據(jù)庫的一致性或者相似性構(gòu)建樹結(jié)構(gòu)很可能導(dǎo)致不平衡,這對訓(xùn)練和節(jié)點(diǎn)檢索都有負(fù)面影響。所以作者們也新設(shè)計了合理、可行的樹構(gòu)建和學(xué)習(xí)方法。
首先依據(jù)「相似的商品應(yīng)當(dāng)具有相近的位置」的思路對樹結(jié)構(gòu)進(jìn)行初始化。初始樹的構(gòu)建利用了商品的類別分類信息,隨機(jī)排序所有的類別后,以隨機(jī)順序把同一類的商品安排在一起;同時屬于多個品類的商品會唯一地歸為其中某一個類,從而得到一個商品的有序列表。然后反復(fù)對有序列表做二分割,直到讓每個集中都只含有一個商品,這樣就得到了接近完全的二叉樹。這樣基于品類的初始化方法比完全隨機(jī)的初始化方法具有更好的層次性。
然后,深度神經(jīng)網(wǎng)絡(luò)在訓(xùn)練后可以為樹中的每個葉子節(jié)點(diǎn)生成一個嵌入,那么這些嵌入向量也就可以用來聚類為一個新的樹。K-means 聚類對于大規(guī)模語料庫就是不錯的選擇。在實(shí)驗(yàn)中,單臺服務(wù)器只花一個小時時間就可以完成大小為四百萬的語料庫的聚類成樹。
最后,新生成的樹還可以用來繼續(xù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)。通過交替生成新的樹以及訓(xùn)練神經(jīng)網(wǎng)絡(luò),兩者得以合并訓(xùn)練,樹結(jié)構(gòu)和網(wǎng)絡(luò)表現(xiàn)都得以繼續(xù)優(yōu)化。
作者們在 MovieLens-20M 數(shù)據(jù)集上,以及根據(jù)部分真實(shí)淘寶用戶進(jìn)行了測試。數(shù)據(jù)規(guī)模如下圖。
參與對比的基準(zhǔn)模型包括 FM 矩陣分解、BPR-MF 隱式反饋推薦矩陣分解、 ItemCF 基于物品的協(xié)同過濾算法、YouTube product-DNN。TDM 的變種則包括去掉注意力模塊、使用和 YouTube product-DNN 同樣的內(nèi)積方法的 TDM product-DNN,僅去掉激活模塊的 TDM DNN,以及使用 hierarchical softmax 樹的 TDM attention-DNN-HS。
上圖測試結(jié)果不僅反映出了所提的 TDM 模型的有效性,幾個變體之間的對比也分別體現(xiàn)了注意力模塊帶來的 10% 的召回率提升和去掉內(nèi)積限制的巨大作用。使用 hierarchical softmax 樹的 TDM attention-DNN-HS 則帶來的最差了表現(xiàn),也表明了它不適合推薦任務(wù)。
前面我們也提到了推薦結(jié)果需要有一定的新穎性。上圖的測試中限定了推薦結(jié)果必須來自用戶沒有行為過的類目下的商品,作為推薦準(zhǔn)確率和新穎性的結(jié)合度量。TDM 的表現(xiàn)自然一騎絕塵。
針對樹學(xué)習(xí)的單項(xiàng)測試也表明了它帶來的可見提升。
作者們也在淘寶 app 的真實(shí)訪問流量上進(jìn)行了測試。對比的基準(zhǔn)方法是通過邏輯回歸挑選出用戶有過互動的商品聚類,這是一個表現(xiàn)很好的基準(zhǔn)線,而 TDM 模型的點(diǎn)擊通過率及廣告收入仍然有顯著提升。這還僅僅是 TDM 的首個版本實(shí)現(xiàn),后續(xù)相信還有不小提升空間。
最后,作者們也關(guān)注了模型的運(yùn)行速度。對于淘寶的廣告展示系統(tǒng),TDM 的神經(jīng)網(wǎng)絡(luò)平均只需要 6 毫秒就可以完成一次推薦,不僅不構(gòu)成整個推薦系統(tǒng)的性能瓶頸,甚至還比后續(xù)的點(diǎn)擊通過率預(yù)測模型運(yùn)行還快。
這篇論文中作者們首先探究了基于模型的系統(tǒng)應(yīng)用于大規(guī)模語料推薦場景存在的問題,并提出了基于樹結(jié)構(gòu)的新的匹配與推薦算法范式,希望借此在推薦系統(tǒng)中應(yīng)用任意的模型。作者們提出的樹學(xué)習(xí)方法和 TDM 模型也在測試中獲得了良好表現(xiàn),召回率和新穎性都有大幅提高。蓋坤博士表示:「雖然初期很令人興奮,但我們深知這個技術(shù)并不完美,還有很多工作要做。并且解決匹配問題也不意味著解決推薦中的所有問題。歡迎更多人來探討交流。」
論文地址:https://arxiv.org/abs/1801.02294
雷鋒網(wǎng) AI 科技評論編譯,感謝蓋坤博士的審閱指正。更多人工智能、機(jī)器學(xué)習(xí)前沿技術(shù)及應(yīng)用,請繼續(xù)關(guān)注雷鋒網(wǎng) AI 科技評論。
相關(guān)文章:
AI能看懂英文,阿里巴巴奪實(shí)體發(fā)現(xiàn)測評全球第一
阿里巴巴年度技術(shù)總結(jié):人工智能在搜索的應(yīng)用和實(shí)踐
阿里巴巴WSDM Cup 2018奪得第二名,獲獎?wù)撐娜庾x
阿里巴巴人工智能進(jìn)入時尚界 發(fā)起全球首個時尚AI算法大賽
阿里蓋坤團(tuán)隊(duì)提出深度興趣網(wǎng)絡(luò),更懂用戶什么時候會剁手
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。