成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

【他山之石】360 多興趣召回 Mind 實戰優化

人工智能
本文介紹了 360 信息流推薦場景下,利用 Mind 對用戶行為進行多興趣抽取及召回的相關工作。

一、業務背景

隨著短視頻和信息流等場景的興起,用戶在這些場景中產生了大量的行為序列,包括曝光、播放、點擊、點贊和關注等。這些序列本身就具備很高的價值。因此涌現出了許多序列模型,如 YouTube DNN [1]、GRU4REC [2]、MIND [3]等。這些模型通過對用戶行為序列進行建模,以提取用戶的興趣。其中,MIND 模型具有獨特的特點。

MIND 模型是 2019 年由阿里巴巴團隊提出的,其獨特之處在于直接建模了用戶的多個興趣,而不是得到一個統一的用戶表達。該模型受到了膠囊網絡 CapsuleNet 的啟發,通過膠囊間的路由計算來提取用戶的多個興趣。在 2020 年,阿里巴巴團隊和清華大學團隊聯合對 MIND 模型進行了改進,提出了 ComiRec 模型 [4]。主要改進在于推理階段。原本的 MIND 在推理得到多個用戶興趣表達后,分別進行 ann 檢索以得到召回結果。而 ComiRec 模型則對多個興趣檢索后的檢索結果進行了融合,從而進一步保證了召回結果的多樣性。

根據 MIND 模型論文,我們進行了復現并將該模型應用于我們的墨魚丸小視頻場景中。在評估過程中,我們發現原始 MIND 模型存在一些問題,例如膠囊數與用戶序列長度之間的強綁定關系以及膠囊之間的差異性不強。為了解決這些問題,我們在初始化膠囊的位置和數量上進行了改進,并改進了路由算法的計算方式,以增加膠囊之間的差異度。


二、原 MIND 模型以及其發展

圖片

上圖為原 MIND 模型結構,該模型主要分為以下幾個模塊,分別是 Embedding Layer、Multi-interest Extraction Layer(最重要)、Label-aware Attention Layer、Serving,對于 Embedding Layer 部分,該模型與目前其他序列模型一樣,在此不做贅述。我們下面對其他幾個模塊依次進行介紹。

1、Capsule 膠囊網絡以及 MIND 改造

原 MIND 模型的 Multi-interest Extraction Layer 主要參考的是 capsule 網絡 [5]。膠囊即是一小群神經元的聚集,其共同輸出一個完整的向量。不同于原始的 Dense 結構,膠囊采用路由的方式得到,并進行反向傳播優化,路由算法如下:

圖片

這里需要注意,每個下層膠囊 i 與上層膠囊 j 都對應一個雙線性映射矩陣 W_ij。這里膠囊網絡考慮下層膠囊 i 與上層膠囊 j 之間的 W_ij 矩陣,是仿照了神經網絡中上層神經元 i 與下層神經元 j 之間的權重 w_ij。由于每個膠囊是多維的,則膠囊間路由采用的是矩陣而非一個標量。

基于該方法,MIND 模型對膠囊的路由進行了改進:

圖片

對于共享使用一個雙線性映射矩陣,MIND 作者是考慮到在推薦場景中,用戶的行為序列是不定長的,且作者希望多個興趣映射到同一個空間下。另一方面,我們認為 MIND 作者假定了位置信息在其推薦場景中并不重要,無需對每個序列的位置設計不同的映射矩陣。

由于采用了共享雙線性矩陣,如果 routing logit b_ij 依然采用零初始化,則第一輪的上層膠囊會全部一樣。以后也會一直一樣,代表所有底層膠囊的均值。所以對于 routing logit b_ij 采用了正態隨機初始化。

論文也提出了一種動態調整膠囊個數的方式,該方式假設了用戶合適的膠囊數應當與用戶序列數呈現次線性關系。實際上用戶合適的膠囊數與業務場景和數據的內部結構相關,很難一概而論。

2、Label-aware和serving

在 label-aware 階段,對于候選 item,通過 attention 的方式確定每個興趣重要程度。在計算 softmax 之前,對 logit 進行了以 p 為指數的運算,通過調節 p 來調整多個興趣權重的差異程度。模型損失函數采用對數 softmax。需要指出的是:

  • 多個用戶興趣采用 attention 方式聚合是必要的,該方式使得用戶序列中的小眾興趣在更新時免受主要興趣的影響和掩蓋,從而進行更有效的更新和興趣捕捉。我們認為,label-aware 的 attention 是多興趣捕捉的關鍵所在。
  • 以 p 為指數的運算在實際訓練中是有限制的,選取的 p 應滿足 x^p 為單調函數,使得得分通過函數后依然保序??商鎿Q成對得分除 τ>0 以控制。

在 serving 階段,MIND 模型分別計算各個興趣 emb 做向量檢索,以獲取 topN 資源。在 MIND 后續工作中,阿里巴巴團隊在多個興趣索引的 topN 個結果如何合并方面進行了研究和改進。

3、優勢以及存在的問題

MIND 模型優勢在于其顯性建模了用戶多個興趣,其論文對比說明,建模多個用戶向量表示對于推薦是有很大幫助的。尤其是電商這類資源種類較多,用戶興趣較為廣泛的推薦場景。

我們通過分析和實驗也發現原 MIND 模型存在以下問題:

  • 膠囊數的強假設:MIND 中假設了膠囊數與用戶序列長度存在次線性關系,有一定道理,但對用戶序列內部結構考慮不足。
  • 膠囊初始化的隨機性:routing logit 隨機導致膠囊初始化的隨機,穩定性不足。
  • 膠囊間的相似性:膠囊間的相似性過高,可能會導致模型重復捕捉相同的興趣,興趣召回覆蓋不足。
  • 膠囊內資源內容的一致性不足:膠囊內的資源內容可能缺乏一致性,解釋性不足。


三、MIND 改進過程

基于以上的缺點,我們的改進從膠囊初始化、路由計算過程、數據與訓練方式三個方面展開。

1、膠囊初始化改進

膠囊路由的過程很容易聯想到聚類計算的過程。以聚類算法 Kmeans 為例,在該算法中膠囊的初始化位置對聚類結果的影響是巨大的,類比膠囊網絡我們也認為膠囊初始化位置對于膠囊路由計算影響是巨大的。實際上原始 mind 論文并不直接對膠囊做初始化,而是對 logit routing 矩陣做初始化,進而計算出第一輪膠囊的結果。這種方式本身并沒有對初始膠囊之間的位置關系進行約束和限制,而我們希望初始化的膠囊之間盡量保持遠離,以讓其盡可能覆蓋不同興趣。所以我們首先采取了與 kmeans++ 中一樣的 maxmin 類似的初始化策略,直接初始化膠囊位置。

(1)maxmin方法

設一個用戶全部 items 為 S,則該集合就是我們膠囊的候選集。首先我們在 S 中隨機選擇一個 item,作為第一個膠囊的初始化位置。假設已選擇出的全部膠囊為 C,然后在剩余的全部 items 中,分別計算各個 item 與當前膠囊集合 C 的距離。這里需要說明的是,我們定義點 x 到集合 C 的距離如下

圖片

我們選擇剩余的全部 items 中,將距離最遠的 item 作為本輪選出的膠囊,加入到膠囊集合 C 中,即

圖片

該過程一直迭代下去直到選擇出的膠囊數達到所需膠囊數。其算法步驟如下:

  • 根據用戶序列長度計算用戶所需的膠囊數 K。
  • 隨機選擇一個 item 作為第一個初始化膠囊,將目前全部已經選出的膠囊記為 C。
  • 剩余全部 items 計算其與C距離。
  • 取與 C 距離最大的點作為下一個膠囊,將其加入到 C 中。
  • 重復進行 3-4 直到 C 中的膠囊數達到 K 則停止。

我們下面也給出了一個例子直觀地說明該方法的初始化結果,其中藍色的點由兩種分布生成,分別在[-10,10]×[-10,10]上按照均勻分布采樣 100 個點,再分別以(±5,±5)為期望,1 為方差的四個正態分布中各采樣 20 點,總共 180 個點。通過 maxmin 初始化方法采樣 4 個膠囊得到圖中橙色點,最終路由后的膠囊位置為圖中的紅點。

注意到由于我們生成的正態分布位于四個象限,而該初始化方法也分別在四個象限初始化了膠囊。經過膠囊路由計算后,四個膠囊也分別迭代到與其最近的點簇附近,該初始化方式基本上是符合預期的。

圖片

但是該方法依然存在缺點:

  • 膠囊數K依然取決于用戶序列長度。
  • 初始中心位置邊緣,離群點風險增大,序列較短時問題更嚴重。
  • 隨機性,每次初始化不同,不保證收斂結果一致。

(2)markov 方法

重新審視該問題,對于下面的圖,其各個點的生成方式與 mm 方法中圖的生成方式相同。我們很容易觀察到該圖應該存在四個簇,而我們希望將該過程進行建模。

我們認為在整個表征空間內,點密度越大則這些點越有可能屬于同一興趣,其應當被同一膠囊覆蓋。選擇膠囊初始化位置實際上就是選擇密度最大的點的“選點問題”。為了刻畫一個點所處的位置密度,我們可以通過計算該點與其他點的相似程度來實現。而序列中兩點的距離,則代表了序列中"選點問題”所需的全部結構信息。具體而言,如果一個點的鄰居點數量越多,且鄰居點與其相距越近,那么該點附近的密度就越高,因此該點應該被視為候選膠囊?;谶@種想法,我們使用類似于 PageRank 算法中計算節點重要度的方法(既周邊密度),該方法本質上是基于 markov 過程的圖標簽傳遞問題(graph label propagation)。

圖片

我們簡單介紹一下離散的 markov 過程。首先離散的 markov 過程是一個隨機過程,'離散'說明該隨機過程在時間上存在眾多離散的時刻 t_0<t_1<…<t_??,而非在時間上連續。對于時刻??,該過程存在對應的狀態 x(t)。A 為 ??×?? 的狀態轉移矩陣,其列和為 1,??_???? 代表的含義為 n 個點中第 j 個點經過一次轉移以后到達第 i 個點的概率。那么在 ?? 時刻,想獲得 ??+1 時刻的狀態,其計算公式為 ??_(??+1)=??*??_??,也就是說 ??+1 時刻的狀態只與 ?? 時刻狀態以及轉移概率有關,與之前時刻狀態無關。

上述轉移過程一直進行下去,在滿足一定條件下,是可以停止的。也就是說存在一個狀態 ??,使得 ??_(??+1)≈??_??,這時的狀態就是馬爾科夫平穩狀態。

在我們的問題里,把 n 個點初始 t_0 時刻的狀態 x(??_0)定義為全為 1 的向量,代表最開始每個點的重要程度都是均等的。我們通過構建點之間的相似矩陣,并對其做列歸一化得到狀態轉移矩陣(確保收斂狀態存在),通過多輪轉移計算后得到平穩狀態,即狀態轉移矩陣特征值為 1 的特征向量。

我們下面給出了上圖 markov 平穩狀態時各點重要度得分。很容易可以注意到,四個較為密集的簇得分最高,而較為疏遠的點則得分很低。

圖片

基于各點的重要度,我們了進行膠囊的選擇。我們參考了連續函數的極大值點的定義,即對于點 x,存在很小的 ?>0,使得以 x 為球心,? 為半徑的鄰域內該點的值最大,則 x 是個極大值點。同樣我們的膠囊選擇方式為:對于點 x 以及給定的半徑 r>0,首先在以 x 為球心,r 為半徑的鄰域內存在至少 2 個點(保證 x 不是孤立點),并且 x 的重要度是最大的,這樣的 x 記為候選膠囊。在滿足條件的候選膠囊中,優先選擇鄰居多的候選膠囊作為膠囊初始化點,并且選出的膠囊數不超過設置的最大膠囊數。

通過上述方式選擇的膠囊如下圖所示,總共選出四個候選膠囊,且膠囊位置都落在重要度較大的點簇中,該初始化方案符合我們的預期。

注意到該方式得到的膠囊數并非根據用戶序列長度計算得到或者直接將膠囊數設置為超參數,而是取決于用戶序列本身內部結構。并且該過程不含隨機部分,即多次推理初始化結果一致。

圖片

我們把 markov 過程初始化膠囊方法流程匯總如下:

  • 計算點和點之間的轉移概率構建概率轉移矩陣,給定各點初始重要度為 1。
  • 計算 markov 平穩過程,得到平穩狀態下各點重要度。
  • 根據各點鄰居數以及鄰居重要度找到全部候選膠囊。
  • 在不超過膠囊最大值的情況下,優先選擇鄰居數最多的候選膠囊作為初始化膠囊。

2、路由過程改造

對于路由過程,我們首先做了部分刪減,匯總如下

  • 刪除雙線性映射矩陣 S。
  • Squash 函數更改為 L2-norm。
  • Logit routing 矩陣不采用 softmax,而是保留每列最大值,其他值置為 0。

首先是刪除了雙線性映射矩陣 S,我們認為在多興趣模型中,資源在序列中的位置并不重要,所以我們不考慮對每個上下層膠囊都設置不同映射矩陣 S_ij。其次 MIND 模型將 embedding layer 作為第一層膠囊,多個興趣作為第二層膠囊,興趣提取模塊只有這兩層膠囊。映射矩陣 S 始終作用于第一層膠囊上,這等價于對全部資源 embedding 做 S 為線性變換矩陣的線性變換,且 embedding 和 S 都需要學習,這是沒必要的。因此我們直接刪除了矩陣 S。

對于原 squash 函數,由于我們模型中都是通過 L2-norm 將 emb 模長變為 1,所以我們也不采用原論文中的 squash 函數,而是直接采用 L2-norm 運算。

最大的改動在于對 logit routing 矩陣的處理,該矩陣直接決定了各個行為序列到興趣膠囊的權重大小。原始的 logit routing 矩陣是稠密的,即各序列 item 到各個膠囊都有貢獻,這容易造成各個膠囊之間差異性不強,即便在這一步原 mind 論文做了 softmax 也只是讓 item 到膠囊各個得分差異增加。我們通過只保留 item 到各個膠囊得分的最大值部分,其他置零,將該矩陣變成稀疏矩陣。通過該方式,每輪路由每個 item 只會貢獻一個膠囊的更新。并且 logit routing 我們不再采用累加,而是直接每輪計算完后覆蓋。

以上兩個處理方式也是仿照了 kmeans 算法的更新方式。在 kmeans 中,每個 item 只能屬于一個簇,其到其他簇的得分為 0。并且簇的本輪迭代只基于本輪各個簇下所屬的 items 計算得到,不會考慮上一輪中該簇下面的 items。

3。數據與訓練

序列模型或者語言模型的訓練,本質上是學習序列中 token 的共現性,這個共線性可能是高階的。我們今天討論的模型,則希望在解決 token 共現性的同時,通過中間的一個隱因子來解釋這種共線性。通過對隱因子的顯式建模,來實現對用戶行為中潛在興趣點的捕捉,進而實現在推薦過程中對用戶興趣的控制。

(1)資源表達學習:

  • 在完全的端到端學習中,資源的表達本質上體現資源在行為序列中的共現,而不保證在資源內容刻畫上的一致性。出于對推薦結果可解釋性的要求,我們使用資源預訓練的 embedding 做初始化,并且在資源作為 input 時將該 emb 進行 fix 操作,即 stop gradient。同時,我們刪除了膠囊網絡中的雙線性映射矩陣 S,進一步將興趣點限定在資源原始語義空間的聚集。實驗證明,這種操作雖然對模型做了極大的限定,但訓練的有效性和可解釋性有足夠的保證。這一點在用戶歷史行為的跨度較大(幾個月到半年不等),平臺內容分布以及用戶行為 pattern 在不斷變化的情況下,尤其重要。
  • 同時,當資源作為輸出側目標,用于 label-aware attention 計算及 sampled softmax 損失函數計算時,與輸入層一致使用資源預訓練表達初始化,并進行正常的梯度更新。這樣的優勢在于,初始與輸入層表達一致,可以進行更有效的 label-aware attention 計算,而正常的梯度更新可以保證模型在框定語義空間一致的條件下,學習得到資源在語料中的顯著性信息。

(2)負采樣策略:

  • 根據資源在語料中出現的頻次的冪律分布(0~1)作為資源被采樣為負樣本的概率,以便于對語料中超頭部的資源做較好的控制。一般來講,冪律越大,對熱門資源的打壓效果越明顯。
  • 對于超冷門資源,由于我們的方案保證了內容的一致性和解釋性,同時其作為負樣本的概率極低,因此推理階段進行膠囊的向量檢索時很容易被排到靠前的位置。但有概率的地方就一定存在先驗,我們為每個資源給定一個基礎的先驗頻率 L。具體的值可以根據業務需要和語料分布靈活調整,該方法可以有效遏制推薦結果中的”翹尾“現象。

下圖為我們最終改進后 MIND 的結構圖:

圖片


四、實際建模效果

1、膠囊初始化實驗效果

為驗證我們提出的 markov 膠囊初始化效果,我們采用用戶真實的行為序列,在該數據上進行 markov 膠囊初始化選擇膠囊,并通過 t-SNE 算法進行降維后可視化,更加直觀的呈現出我們的方法在真實場景的效果。在可視化圖中,我們用資源的標簽繪制散點圖,黑色加粗的標簽表示經過 markov 過程選擇出的初始化膠囊。

我們下面抽取了兩個用戶序列作為例子,兩個序列都是長行為序列。前者行為序列中的資源類型較為集中,主要是搞笑視頻和動漫,后者則興趣相對分散,有動漫、游戲、親子、動物、劇情等類型。注意到對于長序列且興趣較為集中的例子 1,只需 2-4 個膠囊就可以將其主要興趣捕捉到,但是如果采用傳統的基于序列長度計算所需膠囊個數的方式,則會強行將其分派到 7-8 個膠囊下。而在長序列且興趣較為分散的例子 2 中,主要的幾個興趣均被膠囊捕捉到,膠囊也不會由于邊緣點、孤立點的存在而偏離。

以下兩個例子充分說明了,markov 膠囊初始化方法在自適應地確定用戶膠囊數量和初始化位置的優勢。

圖片

圖片

2、業務實際效果評估

在根據用戶過去半年時間內發生的正向反饋行為進行多興趣建模的召回中,我們發現除了在召回占比、正向反饋率等都有明顯提升之外,最主要的收益體現在召回品類多樣性以及單位曝光中覆蓋的不同資源量及作者數量。

五、總結

本文主要針對阿里提出的多興趣抽取模型的興趣抽取過程進行迭代,在結合自身業務優化的訴求下,提出了將膠囊的隨機映射初始化改為從底層膠囊選擇的策略,同時提出了兩種初始膠囊選擇的方案。

從實際應用上看,maxmin 方案簡單實用,在業務對興趣點區分度要求不大,同時對邊緣興趣(探測、發現)有較高訴求的場景更為合適。而 markov 的方法在業務對用戶興趣覆蓋度、區分度、顯著性都有較高要求的場景較為合適,計算復雜度也略高。

六、參考文章

[1] Covington P, Adams J, Sargin E. Deep neural networks for youtube recommendations[C]//Proceedings of the 10th ACM conference on recommender systems. 2016: 191-198。

[2] Hidasi B, Karatzoglou A, Baltrunas L, et al. Session-based recommendations with recurrent neural networks[J]. arXiv preprint arXiv:1511.06939, 2015。

[3] Li C, Liu Z, Wu M, et al. Multi-interest network with dynamic routing for recommendation at Tmall[C]//Proceedings of the 28th ACM international conference on information and knowledge management. 2019: 2615-2623。

[4] Cen Y, Zhang J, Zou X, et al. Controllable multi-interest framework for recommendation[C]//Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2020: 2942-2951。

[5] Sabour S, Frosst N, Hinton G E. Dynamic routing between capsules[J]. Advances in neural information processing systems, 2017, 30。

責任編輯:姜華 來源: DataFunTalk
相關推薦

2018-03-31 08:08:58

愛普生打印機召回

2023-07-07 14:18:57

攜程實踐

2022-05-27 18:04:49

技術淘寶

2009-04-20 08:51:50

MySQL查詢優化數據庫

2017-03-29 14:44:20

網絡性能優化

2022-05-17 09:02:30

前端性能優化

2010-04-09 16:14:47

2019-12-13 10:25:08

Android性能優化啟動優化

2023-08-01 08:20:42

JVM優化虛擬機

2025-04-24 09:01:37

2013-07-15 11:06:30

開發者興趣平板開發

2024-11-06 08:13:28

2018-11-20 09:35:42

開源技術 數據

2018-01-15 10:54:58

大數據青年人二次元

2017-03-14 18:48:06

Android性能優化內存優化

2015-07-31 09:58:12

360騰訊Windows 10

2010-11-01 20:53:50

360扣扣保鏢騰訊QQ360安全中心

2018-05-09 14:45:50

蘇寧前端Nodejs

2015-05-30 10:04:24

線下公開課51CTO沙龍MDSA

2023-12-11 06:27:39

MySQL線上業務優化后臺上傳文件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 福利社午夜影院 | 精品亚洲一区二区 | 色偷偷噜噜噜亚洲男人 | 91成人精品 | 伊人影院在线观看 | 毛片99| 精品欧美乱码久久久久久1区2区 | 亚洲国产精品第一区二区 | 欧美天堂一区 | 一区二区三区四区国产 | 久久99久久 | 日韩一区二区三区视频 | 激情毛片 | 欧美在线激情 | 午夜在线观看免费 | 久久精品成人热国产成 | 99精品在线免费观看 | 亚洲精品一区在线观看 | 国产精品一卡 | 91最新在线视频 | 夜夜夜久久久 | 欧美一级电影免费观看 | 99视频免费 | 久久久久无码国产精品一区 | 欧美日韩亚洲系列 | 欧美精品久久久久久久久老牛影院 | 日韩一区二区av | 亚洲欧美精品 | 亚洲欧美视频一区 | 国产伦一区二区三区 | 中文字幕四虎 | 一区二区三区电影在线观看 | 国产成人一区二区三区精 | 亚洲欧美中文字幕在线观看 | 国产japanhdxxxx麻豆| 国产农村一级国产农村 | 久久99精品久久久久久 | 伊人中文网 | 91天堂网 | 成人精品一区二区 | 亚洲第一在线 |