推薦系統技術演進趨勢:排序篇

作者:張俊林

新浪微博 AI Lab 負責人

背景

    實際的工業推薦系統,如果粗分的化,經常講的有兩個階段。首先是召回,主要根據用戶部分特徵,從海量的物品庫裏,快速找回一小部分用戶潛在感興趣的物品,然後交給排序環節,排序環節可以融入較多特徵,使用複雜模型,來精準地做個性化推薦。召回強調快,排序強調準。當然,這是傳統角度看推薦這個事情。

    四個環節分別是:召回、粗排、精排和重排

    召回目的如上所述;有時候因爲每個用戶召回環節返回的物品數量還是太多,怕排序環節速度跟不上,所以可以在召回和精排之間加入一個粗排環節,通過少量用戶和物品特徵,簡單模型,來對召回的結果進行個粗略的排序,在保證一定精準的前提下,進一步減少往後傳送的物品數量,粗排往往是可選的,可用可不同,跟場景有關。

    之後,是精排環節,使用你能想到的任何特徵,可以上你能承受速度極限的複雜模型,儘量精準地對物品進行個性化排序。排序完成後,傳給重排環節,傳統地看,這裏往往會上各種技術及業務策略,比如去已讀、去重、打散、多樣性保證、固定類型物品插入等等,主要是技術產品策略主導或者爲了改進用戶體驗的。

    那麼,每個環節,從技術發展的角度看,都各自有怎樣的發展趨勢呢?下面我們分頭說明。

排序模型技術演進趨勢

    排序環節是推薦系統最關鍵,也是最具有技術含量的部分,目前大多數推薦技術其實都聚焦在這塊。下面我們從模型表達能力、模型優化目標以及特徵及信息三個角度分述推薦排序模型的技術發展趨勢。

    模型表達能力代表了模型是否具備充分利用有效特徵及特徵組合的能力,其中顯示特徵組合、新型特徵抽取器、增強學習技術應用以及 AutoML 自動探索模型結構是這方面明顯的技術進化方向。

    模型優化目標則體現了我們希望推薦系統去做好什麼,往往跟業務目標有關聯,這裏我們主要從技術角度來探討,而多目標優化以及 ListWise 最優是目前最常見的技術進化方向,ListWise 優化目標在排序階段和重排階段都可採用,我們把它放到重排部分去講,這裏主要介紹多目標優化。

    從特徵和信息角度,如何採用更豐富的新類型特徵,以及信息和特徵的擴充及融合是主要技術進化方向,用戶長短期興趣分離、用戶行爲序列數據的使用、圖神經網絡以及多模態融合等是這方面的主要技術趨勢,因爲用戶行爲序列以及圖神經網絡在召回部分介紹過,這些點同樣可以應用在排序部分,所以這裏不再敘述這兩點。

顯式特徵組合

    如果歸納下工業界 CTR 模型的演化歷史的話,你會發現,特徵工程及特徵組合的自動化,一直是推動實用化推薦系統技術演進最主要的方向,而且沒有之一。

    最早的 LR 模型,基本是人工特徵工程及人工進行特徵組合的,簡單有效但是費時費力;再發展到 LR+GBDT 的高階特徵組合自動化,以及 FM 模型的二階特徵組合自動化;再往後就是 DNN 模型的引入,純粹的簡單 DNN 模型本質上其實是在 FM 模型的特徵 Embedding 化基礎上,添加幾層 MLP 隱層來進行隱式的特徵非線性自動組合而已。

    所謂隱式,意思是並沒有明確的網絡結構對特徵的二階組合、三階組合進行直接建模,只是通過 MLP,讓不同特徵發生交互,至於怎麼發生交互的,怎麼進行特徵組合的,誰也說不清楚,這是 MLP 結構隱式特徵組合的作用,當然由於 MLP 的引入,也會在特徵組合時候考慮進入了特徵間的非線性關係。

    明白了隱式特徵組合,也就明白了什麼是顯式特徵組合。就是在模型結構中,明確設計一些子網絡或者子結構,對二階特徵組合、三階特徵組合,甚至更高階的特徵組合進行表徵。

    比如說 DeepFM,Deep 部分就是個典型的 DNN 模型,這個大家基本都會用,而 FM 部分則是明確對特徵二階組合進行建模的子模型。這就是一個典型的顯式二階特徵組合的模型。而如果進一步拓展的話,很自然想到的一個改進思路是:除了明確的把特徵二階組合做一個子結構,還可以把特徵三階特徵組合,更高階特徵組合….. 分別做一個模型子結構。融合這些子結構一起來做預測。這就是顯式特徵組合的含義,其實這條線的發展脈絡是異常清晰的。

    典型的對高階特徵組合建模的比如 Deep& Cross、XDeepFM 模型等,就是這麼個思路。

    在兩年多前,我一直以爲這個方向是 CTR 或者推薦模型的關鍵所在,而且可能如何簡潔融入更多特徵組合是最重要且最有前景的方向。但是後來發現可能錯了,目前基本對這個方向改變了看法。目前我對這個方向的看法是:這個方向確實很重要,但是未來可挖掘的潛力和空間很有限,在這條路上繼續行進,應該不會走得太遠。

    原因在於,目前基本很多經驗已經證明了,顯式的二階特徵組合是非常重要的,三階特徵組合對不同類型任務基本都有幫助。四階特徵組合已經說不清楚是否有用了,跟數據集有關係,有些數據集合引入顯式 4 階特徵組合有幫助,有些數據集合沒什麼用。至於更高階的特徵組合,明確用對應的子結構建模,基本已經沒什麼用了,甚至是負面作用。這說明:我們在實際做事情的時候,其實顯式結構把三階特徵組合引入,已經基本足夠了。這是爲什麼說這條路繼續往後走潛力不大的原因。

典型工作

特徵抽取器的進化

    從特徵抽取器的角度來看,目前主流的 DNN 排序模型,最常用的特徵抽取器仍然是 MLP 結構,通常是兩層或者三層的 MLP 隱層。目前也有理論研究表明:MLP 結構用來捕獲特徵組合,是效率比較低下的,除非把隱層神經元個數急劇放大,而這又會急劇增加參數規模。與自然語言處理和圖像處理比較,推薦領域的特徵抽取器仍然處於非常初級的發展階段。所以,探尋新型特徵抽取器,對於推薦模型的進化是個非常重要的發展方向。

    目前其它 AI 領域裏,常用的特徵抽取器包括圖像領域的 CNN、NLP 領域的 RNN 和 Transformer。這些新型特徵抽取器,在推薦領域最近兩年也逐步開始嘗試使用,但是宏觀地看,在推薦領域,相對 MLP 結構並未取得明顯優勢,這裏的原因比較複雜。

    CNN 捕獲局部特徵關聯是非常有效的結構,但是並不太適合做純特徵輸入的推薦模型,因爲推薦領域的特徵之間,在輸入順序上並無必然的序列關係,基本屬於人工定義隨機順序,而 CNN 處理這種遠距離特徵關係能力薄弱,所以並不是特別適合用來處理特徵級的推薦模型。

    當然,對於行爲序列數據,因爲本身帶有序列屬性,所以 CNN 和 RNN 都是非常適合應用在行爲序列結構上的,也是有一定應用歷史的典型工具,但是對於沒有序關係存在的特徵來說,這兩個模型的優勢不能發揮出來,反而會放大各自的劣勢,比如 CNN 的捕獲遠距離特徵關係能力差的弱點,以及 RNN 的不可並行處理、所以速度慢的劣勢等。

    Transformer 作爲 NLP 領域最新型也是最有效的特徵抽取器,**從其工作機制來說,其實是非常適合用來做推薦的。爲什麼這麼說呢?**核心在於 Transformer 的 Multi-Head Self Attention 機制上。

    MHA 結構在 NLP 裏面,會對輸入句子中任意兩個單詞的相關程度作出判斷,而如果把這種關係套用到推薦領域,就是通過 MHA 來對任意特徵進行特徵組合,而上文說過,特徵組合對於推薦是個很重要的環節,所以從這個角度來說,Transformer 是特別適合來對特徵組合進行建模的,一層 Transformer Block 代表了特徵的二階組合,更多的 Transformer Block 代表了更高階的特徵組合。

    但是,實際上如果應用 Transformer 來做推薦,其應用效果並沒有體現出明顯優勢,甚至沒有體現出什麼優勢,基本稍微好於或者類似於典型的 MLP 結構的效果。這意味着,可能我們需要針對推薦領域特點,對 Transformer 需要進行鍼對性的改造,而不是完全直接照搬 NLP 裏的結構。

典型工作

AutoML 在推薦的應用

    AutoML 在 17 年初開始出現,最近三年蓬勃發展,在比如圖像領域、NLP 領域等都有非常重要的研究進展,在這些領域,目前都能通過 AutoML 找到比人設計的效果更好的模型結構。

    **AutoML 作爲算法方向最大的領域趨勢之一,能否在不同領域超過人類專家的表現?**這應該不是一個需要回答 “會不會” 的問題,而是應該回答 “什麼時間會” 的問題。原因很簡單,AutoML 通過各種基礎算子的任意組合,在超大的算子組合空間內,尋找性能表現最好的模型,幾乎可以達到窮舉遍歷的效果,而人類專家設計出來的最好的模型,無非是算子組合空間中的一個點而已,而且人類專家設計的那個模型,是最好模型的可能性是很低的。

    如果設計精良的 AutoML,一定可以自己找到超過目前人類專家設計的最好的那個模型,這基本不會有什麼疑問,就像人類就算不是 2017 年,也會是某一年,下圍棋下不過機器,道理其實是一樣的,因爲 AutoML 在巨大的算子組合空間裏尋找最優模型,跟圍棋在無窮的棋盤空間尋找勝利的盤面,本質上是一個事情。無非,現在 AutoML 的不成熟,體現在需要搜索的空間太大,比較消耗計算資源方面而已,隨着技術的不斷成熟,搜索成本越來越低,AutoML 在很多算法方向超過人類表現只是個時間問題。

    在推薦領域,採用 AutoML 做網絡結構的工作還很少,這裏面有很多原因。由於我一直以來特別看好這個方向,所以在 18 年的時候,我們也嘗試過利用 AutoML 來自動探索推薦系統的網絡結構,這裏非常簡略地介紹下過程及結果(參考上面三圖)。

    我們用 ENAS 作爲網絡搜索工具,設計了推薦領域網絡結構自動探索的嘗試。ENAS 是個非常高效率的 AutoML 工具,可以做到單 GPU 半天搜索找到最優的網絡結構,但是它定義的主要是 CNN 結構和 RNN 結構搜索。

    我們對 ENAS 進行了改造,包括算子定義,優化目標以及評價指標定義等。DNN 排序模型因爲模型比較單一,所以算子是比較好找的,我們定義了推薦領域的常用算子,然後在這些算子組合空間內通過 ENAS 自動尋找效果最優的網絡結構,最終找到的一個表現最好的網絡結構如下圖所示:

    首先是特徵 onehot 到 embedding 的映射,我們把這層固定住了,不作爲模型結構探索因子。在特徵 embedding 之上,有三個並行結構,其中兩個是包含兩個隱層的 MLP 結構,另外一個是特徵雙線性組合模塊(Each Fields Type,具體含義可以參考下面的 FibiNet)。其表現超過了 DeepFM 等人工結構,但是並未超過很多。(感謝黃通文同學的具體嘗試)

    總體而言,目前 AutoML 來做推薦模型,還很不成熟,找出的結構相對人工設計結構效果優勢也不是太明顯。這與 DNN Ranking 模型比較簡單,算子類型太少以及模型深度做不起來也有很大關係。但是,我相信這裏可以有更進一步的工作可做。

典型工作

增強學習在推薦的應用

    增強學習其實是比較吻合推薦場景建模的。一般而言,增強學習有幾個關鍵要素:狀態、行爲以及回報。在推薦場景下,我們可以把狀態 St 定義爲用戶的行爲歷史物品集合;推薦系統可選的行爲空間則是根據用戶當前狀態 St 推薦給用戶的推薦結果列表,這裏可以看出,推薦場景下,用戶行爲空間是巨大無比的,這制約了很多無法對巨大行爲空間建模的增強學習方法的應用;而回報呢,則是用戶對推薦系統給出的列表內容進行互動的行爲價值,比如可以定義點擊了某個物品,則回報是 1,購買了某個物品,回報是 5…. 諸如此類。有了這幾個要素的場景定義,就可以用典型的增強學習來對推薦進行建模。

    利用增強學習來做推薦系統,有幾個顯而易見的好處,比如:

  1. 比較容易對 “利用 - 探索”(Exploitation/Exploration)建模。所謂利用,就是推薦給用戶當前收益最大的物品,一般推薦模型都是優化這個目標;所謂探索,就是隨機推給用戶一些物品,以此來探測用戶潛在感興趣的東西。如果要進行探索,往往會犧牲推薦系統的當前總體收益,畢竟探索效率比較低,相當的通過探索渠道推給用戶的物品,用戶其實並不感興趣,浪費了推薦位。但是,利用 - 探索的均衡,是比較容易通過調節增強學習的回報(Reward)來體現這個事情的,比較自然;

  2. 比較容易體現用戶興趣的動態變化。我們知道,用戶興趣有長期穩定的,也有不斷變化的。而增強學習比較容易通過用戶行爲和反饋的物品對應的回報的重要性,而動態對推薦結果產生變化,所以是比較容易融入體現用戶興趣變化這個特點的。

  3. 有利於推薦系統長期收益建模。這點是增強學習做推薦最有優勢的一個點。我們優化推薦系統,往往會有一些短期的目標比如增加點擊率等,但是長期目標比如用戶體驗或者用戶活躍留存等指標,一般不太好直接優化,而增強學習模型比較容易對長期收益目標來進行建模。

    說了這麼多優點,貌似增強學習應該重點投入去做,是吧?我的意見正好相反,覺得從實際落地角度來看,推薦系統裏要嘗試增強學習方法,如果你有這個衝動,最好還是抑制一下。主要原因是,貌似增強學習是技術落地投入產出比非常低的技術點。

   ** 首先**投入高,要想把增強學習做 work,意味着有很多大坑在等着你去踩,數據怎麼做、模型怎麼寫、回報怎麼拍,長期收益怎麼定義、建模並拆解成回報……. 超大規模實際場景的用戶和物品,增強學習這麼複雜的模型,系統怎麼才能真的落地並撐住流量….. 很多坑在裏面;

    其次,貌似目前看到的文獻看,貌似很少見到真的把增強學習大規模推到真實線上系統,併產生很好的收益的系統。Youtube 在最近一年做了不少嘗試,雖說把系統推上線了,但是收益怎樣不好說。

   ** 而且**,從另外一個角度看,做增強學習裏面還是有不少 Trick 在,那些收益到底是系統帶來的,還是 Trick 帶來的,真還不太好說。

    所以,綜合而言,目前看在增強學習做推薦投入,貌似還是一筆不太合算的買賣。當然,長遠看,可能還是很有潛力的,但是貌似這個潛力還需要新的技術突破去推動和挖掘。

典型工作

多目標優化

    推薦系統的多目標優化(點擊,互動,時長等多個目標同時優化)嚴格來說不僅僅是趨勢,而是目前很多公司的研發現狀。對於推薦系統來說,不同的優化目標可能存在互相拉後腿的現象,比如互動和時長,往往拉起一個指標另外一個就會明顯往下掉,而多目標旨在平衡不同目標的相互影響,儘量能夠做到所有指標同步上漲,即使很難做到,也儘量做到在某個優化目標上漲的情況下,不拉低或者將盡量少拉低其它指標。

    多目標優化對於實用化的推薦系統起到了舉足輕重的作用,這裏其實是有很多工作可以做的,而如果多目標優化效果好,對於業務效果的推動作用也非常大。總而言之,多目標優化是值得推薦系統相關研發人員重點關注的技術方向。

    從技術角度講,多目標優化最關鍵的有兩個問題。第一個問題是多個優化目標的模型結構問題;第二個問題是不同優化目標的重要性如何界定的問題。

    既然存在多個優化目標,最簡單直接的方式,也是目前最常用的方式是:每個優化目標獨立優化,比如點擊目標訓練一個模型,互動目標訓練一個模型,時長目標訓練一個模型,各自優化,然後每個目標獨立給實例預測打分,給每個目標設定權重值,各個目標打分加權求和線性融合,或者引入權重指數及根據目標關係引入非線性融合。這是目前最常見的落地方案。因爲目標之間獨立優化,模型是通過分數融合來實現多目標的,所以可以把這種多目標方式稱作 “Share-Nothing” 結構。這個結構實現和優化方式很簡單。

    與 Share-Nothing 結構相比,其實我們是可以讓不同優化目標共享一部分參數的,一旦引入不同目標或者任務的參數共享,我們就踏入了 Transfer Learning 的領地了。

那麼爲什麼要共享參數呢?   

    一方面出於計算效率考慮,不同目標共享結構能夠提升計算效率;

    另外一點,假設我們有兩類任務或者目標,其中一個目標的訓練數據很充分,而另外一個目標的訓練數據比較少;如果獨立優化,訓練數據少的目標可能很難獲得很好的效果;如果兩個任務相關性比較高的話,其實我們可以通過共享參數,達到把大訓練數據任務的知識遷移給訓練數據比較少的任務的目的,這樣可以極大提升訓練數據量比較少的任務的效果。

    Share-Bottom 結構是個非常典型的共享參數的多目標優化結構,核心思想是在比如網絡的底層參數,所有任務共享參數,而上層網絡,不同任務各自維護自己獨有的一部分參數,這樣就能達成通過共享參數實現知識遷移的目的。但是,Share-Bottom 結構有他的缺點:如果兩個任務不那麼相關的話,因爲強制共享參數,所以可能任務之間相互干擾,會拉低不同目標的效果。

    MMOE 針對 Share-Bottom 結構的侷限進行了改進,核心思想也很簡單,就是把底層全部共享的參數切分成小的子網絡,不同任務根據自己的特點,學習配置不同權重的小網絡來進行參數共享。這樣做的話,即使是兩個任務不太相關,可以通過不同的配置來達到模型解耦的目的,而如果模型相關性強,可以共享更多的子網絡。明顯這樣的組合方式更靈活,所以對於 MMOE 來說,無論是相關還是不相關的任務,它都可以達到我們想要的效果。

    上面介紹的是典型的不同多目標的模型結構,各自有其適用場景和特點。而假設我們選定了模型結構,仍然存在一個很關鍵的問題:不同優化目標權重如何設定?當然,我們可以根據業務要求,強制制定一些權重,比如視頻網站可能更重視時長或者完播率等指標,那就把這個目標權重設置大一些。

    但是,我們講過,有些任務之間的指標優化是負相關的,提升某個目標的權重,有可能造成另外一些指標的下跌。**所以,如何設定不同目標權重,能夠儘量減少相互之間的負面影響,就非常重要。**這塊貌似目前並沒有特別簡單實用的方案,很多實際做法做起來還是根據經驗拍一些權重參數上線 AB 測試,費時費力。而如何用模型自動尋找最優權重參數組合就是一個非常有價值的方向,目前最常用的方式是採用帕累托最優的方案來進行權重組合尋優,這是從經濟學引入的技術方案,未來還有很大的發展空間.

典型工作

多模態信息融合

    所謂模態,指的是不同類型的或者模態形式的信息存在形式,比如文本、圖片、視頻、音頻、互動行爲、社交關係等,都是信息不同的存在模態形式。如果類比一下的話,就彷彿我們人類感知世界,也是用不同的感官來感知不同的信息類型的,比如視覺、聽覺、味覺、觸覺等等,就是接受不同模態類型的信息,而大腦會把多模態信息進行融合,來接受更全面更綜合的世界知識。類似的,如何讓機器學習模型能夠接受不同模態類型的信息,並做知識和信息互補,更全面理解實體或者行爲。這不僅僅是推薦領域的技術發現趨勢,也是人工智能幾乎所有方向都面臨的重大發展方向,所以這個方向特別值得重視。

    多模態融合,從技術手段來說,本質上是把不同模態類型的信息,通過比如 Embedding 編碼,映射到統一的語義空間內,使得不同模態的信息,表達相同語義的信息完全可類比。比如說自然語言說的單詞 “蘋果”,和一張蘋果的圖片,應該通過一定的技術手段,對兩者進行信息編碼,比如打出的 embedding,相似度是很高的,這意味着不同模態的知識映射到了相同的語義空間了。這樣,你可以通過文本的蘋果,比如搜索包含蘋果的照片,諸如此類,可以玩出很多新花樣。

    在推薦場景下,多模態融合其實不是個很有難度的算法方向,大的技術框架仍然遵循目前主流的技術框架,比如 DNN Ranking。爲了體現多模態集成的目標,可以在 User 側或者 Item 側,把多模態信息作爲新的特徵融入,比如加入 CNN 特徵抽取器,把商品圖片的特徵抽取出來,作爲商品側的一種新特徵,不同模態的融入,很可能意味着找到對應的特徵抽取器,以新特徵的方式融入,而有監督學習的學習目標會指導特徵抽取器抽出那些有用的特徵。

    所以,你可以看到,如果在推薦裏融入多模態,從算法層面看,並不難,它的難點其實在它處;本質上,多模態做推薦,如果說難點的話,難在工程效率。因爲目前很多模態的信息抽取器,比如圖片的特徵抽取,用深層 ResNet 或者 ReceptionNet,效果都很好,但是因爲網絡層深太深,抽取圖片特徵的速度問題就是多模態落地面臨的主要問題。所以,本質上,在推薦領域應用多模態,看上去其實是個工程效率問題,而非複雜的算法問題。而且,如果融合多模態的話,離開 DNN 模型,基本是不現實的。在這點上,可以比較充分體現 DNN 模型相對傳統模型的絕對技術優勢。

    多模態信息融合,不僅僅是排序端的一個發展方向,在召回側也是一樣的,比如用用戶點擊過的圖片,作爲圖片類型的新召回路,或者作爲模型召回的新特徵。明顯這種多模態融合是貫穿了推薦領域各個技術環節的。

典型工作

    對於推薦系統而言,準確描述用戶興趣是非常重要的。目前常用的描述用戶興趣的方式主要有兩類。一類是以用戶側特徵的角度來表徵用戶興趣,也是最常見的;另外一類是以用戶發生過行爲的物品序列作爲用戶興趣的表徵。

    我們知道,用戶興趣其實是可以繼續細分的,一種典型的分法就是劃分爲長期興趣和短期興趣。長期興趣代表用戶長久的比較穩定的偏好;而短期興趣具有不斷變化等特點。兩者綜合,可以從穩定性和變化性這個維度來表徵用戶偏好。

    最近推薦系統在排序側模型的演進方向來說,把用戶長期興趣和短期興趣分離並各自建立模型是個技術小趨勢。

    那麼用什麼信息作爲用戶的短期興趣表徵?什麼信息作爲用戶的長期興趣表徵呢?各自又用什麼模型來集成這些信息呢?這是這個趨勢的三個關鍵之處。

    目前的常用做法是:用戶短期興趣往往使用用戶點擊(或購買,互動等其它行爲類型)過的物品序列來表徵,尤其對於比較活躍的用戶,用點擊序列更能體現短期的含義,因爲出於工程效率的考慮,如果用戶行爲序列太長,往往不會都拿來使用,而是使用最近的 K 個行爲序列中的物品,來表徵用戶興趣,而這明顯更含有短期的含義;因爲點擊序列具備序列性和時間屬性,所以對於這類數據,用那些能夠刻畫序列特性或者物品局部相關性的模型比較合適,比如 RNN/CNN 和 Transformer 都比較適合用來對用戶短期興趣建模。

    而用戶長期興趣如何表徵呢?

    我們換個角度來看,其實傳統的以特徵作爲用戶興趣表徵的方法,其中部分特徵就是從用戶長期興趣出發來刻畫的,比如羣體人羣屬性,是種間接刻畫用戶長期興趣的方法,再比如類似用戶興趣標籤,是種用用戶行爲序列物品的統計結果來表徵用戶長期興趣的方法。這些方法當然可以用來刻畫用戶長期興趣,但是往往粒度太粗,所以我們其實需要一個比較細緻刻畫用戶長期興趣的方式和方法。

    目前在對長短期興趣分離的工作中,關於如何刻畫用戶長期興趣,往往還是用非常簡單的方法,就是用 UID 特徵來表徵用戶的長期興趣,通過訓練過程對 UID 進行 Embedding 編碼,以此學習到的 UID Embedding 作爲用戶長期興趣表徵,而用戶行爲序列物品作爲用戶短期興趣表徵。當然,UID 如果用一些其它手段比如矩陣分解獲得的 Embedding 初始化,也是很有幫助的。

    總而言之,用戶長期興趣和短期興趣的分離建模,應該還是有意義的。長期興趣目前建模方式還比較簡單,這裏完全可以引入一些新方法來進行進一步的興趣刻畫,而且有很大的建模空間。

  1. Neural News Recommendation with Long- and Short-term User Representations

  2. Sequence-Aware Recommendation with Long-Term and Short-Term Attention Memory Networks

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/gd7Y_cMVotnRcsdZSOcRcg