博客專欄

        EEPW首頁 > 博客 > WWW 2023 | 自動長度選擇的長短期興趣建模模型

        WWW 2023 | 自動長度選擇的長短期興趣建模模型

        發布人:數據派THU 時間:2023-04-19 來源:工程師 發布文章
        這是一篇 WWW 2023 多機構合作的文章,看這個題目 AutoMLP,就想起了 IJCAI 22 的一篇文章:MLP4Rec: A Pure MLP Architecture for Sequential Recommendations,果然是同一批人,屬于是新瓶裝舊酒,屬于是“MLP is all you need”在長短期興趣建模上的應用。


        圖片

        論文標題:

        AutoMLP: Automated MLP for Sequential Recommendations

        論文鏈接:

        https://arxiv.org/pdf/2303.06337.pdf


        摘要:順序推薦系統旨在根據用戶的歷史交互預測用戶的下一個感興趣的項目。然而,一個長期存在的問題是如何區分用戶的長期/短期興趣,這些興趣可能是異構的,對下一次推薦的貢獻也不同。現有方法通常通過詳盡搜索或依照經驗來設置預定義的短期利息長度,這要么效率非常低,要么產生的結果不佳。


        盡管存在上述問題,但最近基于 transformer 的高級模型可以實現最先進的性能,但它們對輸入序列的長度具有二次計算復雜度。為此,本文提出了一種新穎的順序推薦系統 AutoMLP,旨在根據用戶的歷史交互更好地建模用戶的長期/短期興趣。此外,我們通過端到端優化設計了一種自動自適應搜索算法,以獲得更可取的短期興趣長度。通過廣泛的實驗,我們表明 AutoMLP 與最先進的方法相比具有競爭力的性能,同時保持線性計算復雜性。

        01 引言


        如下圖所示,一個用戶的行為,可能收到長期行為的影響(user1),也可能收到短期行為的影響(user2),也有可能 both(user3)。
        圖片
        序列推薦的三個重要信息:
        1. 相對靜態的長期興趣;2. 相對獨立、動態的短期興趣;3. item 的屬性特征。
        現有的方法有:1. 基于 RNN 的方法,難以捕獲長期依賴;2. 基于 transformer 的方法,位置不敏感,難以區分異構的長短期行為,并且由于 2 次復雜度,也不能應用在太長的序列上;3. 因此出現了長短期興趣分開建模的方法,但這種方法往往利用經驗選擇固定長度的短期興趣,顯然無法自適應不同的場景與任務。
        因此提出了 AutoMLP 模型,全稱為:Automated Long-term Short-term Multi-Layer Perceptron for sequential recommendation。AutoMLP 僅包含 MLP 塊,因此保持線性時間和空間復雜度。autoMLP 設計了一個長期興趣模塊和一個短期興趣模塊來分別捕捉長期和短期的依賴關系。為了自動適應不同任務的短期興趣窗口,利用連續松弛將離散序列長度通過 AutoML 技術轉換為連續且可微分的表示,這可以通過梯度下降進行優化。
        02 方法

        現在我們介紹 AutoMLP 的概述——一種完全基于 MLP 架構的順序推薦系統,它可以自動學習適合不同順序推薦應用的短期用戶興趣長度。AutoMLP 的主體由兩個獨立的基于 MLP 的網絡組成,即長期用戶興趣模塊和短期興趣模塊,如下圖所示。
        具體來說,長期用戶興趣模塊占據了整個用于預測的用戶歷史行為序列,因此更傾向于長期的順序依賴。另一方面,短期用戶興趣模塊在 time 之前獲取一定數量的最新交互,傾向于對短期順序依賴性進行建模。最近交互的數量將由神經架構搜索(NAS)算法 DARTS 確定,該算法利用連續松弛使神經架構搜索空間可微,因此可以通過梯度下降進行優化。最后,分離模塊的輸出將由全連接層融合以預測下一個交互項。
        圖片

        2.1 Embedding layer


        用戶的行為序列  有 T 個物品:,每個  有 C 個特征,embedding 化后過一個 mlp 映射為 d 維,輸出 shape 為:[Batch, T, D]。


        2.2 長期興趣模塊


        長期興趣模塊的輸入是全部序列,過幾個 SRSMLP 層得到用戶的長期興趣表示。SRSMLP 層就是一個 mlp-mixer,包括一個 Sequence-mixer 和 Channel-mixer,具體結構如下:
        圖片SRSMLP
        這個結構也非常簡單,Sequence-mixer 就是在序列維度(embedding 層的 T)做 MLP,公式如下:
        圖片
        Channel-mixer 就是在特征維度(embedding 層的 D)做 MLP,公式如下:
        圖片

        2.3 短期興趣模塊


        短期興趣模塊也是過幾個 SRSMLP 層,關鍵在于能用數據驅動的方式自動選擇 k 個短期行為,即:Session Length Search。
        圖片
        實現參考了 DARTS 的網絡架構搜索算法,先設置 M 個短期行為的候選長度:,對每個候選 k 都過一個 SRSMLP 層,并為每個 k 分配一個可學習的架構權重:,之后應用 softmax 將權重轉換為連續且可微的近似值。
        圖片
        p.s. 讀者問:softmax 的結果仍是一個連續值,雖然訓練時可微,但推理時并非是 ont-hot 那樣的選擇,而是加權融合,那么 Session Length Search 的選擇體現在哪里?
        Discussion:由于短期興趣長度的值與模型性能之間的影響不是單調的,因此要確定局部最優值必須應用窮舉搜索,這對于長用戶-項目交互序列來說計算量極大,因為有更多可能的候選人。因此,這種方法的主要優點是在不枚舉所有可能的模型架構的情況下學習局部最優用戶短期興趣長度并重復訓練它們,從而使選擇短期興趣長度的決策過程高效且自適應。

        2.4 輸出層


        將長短期興趣拼接或相加(文中沒有明確說明)后過一個 mlp。
        圖片

        2.5 損失函數


        圖片

        03 訓練


        訓練過程包含兩個階段。第一階段是搜索階段,旨在找到代表優選短期長度的局部最優A*(長度權重)。第二階段是再訓練階段,在找到 A? 后,我們用最佳短期長度重新訓練 AutoMLP 框架。(回答了前面的讀者問)

        3.1 搜索階段


        雖然 是 AutoMLP 可學習參數的一個子集,但文獻表明,簡單地更新 W和A 完全會導致訓練過程中的過度擬合問題,因為它們彼此高度依賴。因此,本文按照慣例使用訓練數據集優化W,同時使用驗證數據集優化A。具體來說,本文將其表述為雙層優化,其中上層變量和下層變量 。形式上,將其表示為:
        圖片
        上式是一個嚴格的等式,很難優化,因此替換為下式近似:
        圖片
        完整的訓練過程為:
        圖片

        3.2 retrain階段


        這一階段就是固定短期興趣長度后,再訓練 W。

        04 實驗


        圖片


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: AI

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 洞头县| 潼关县| 电白县| 扎赉特旗| 海兴县| 施秉县| 石狮市| 琼中| 花垣县| 山丹县| 茂名市| 萨嘎县| 包头市| 枣强县| 西乌珠穆沁旗| 林西县| 正镶白旗| 明溪县| 东丰县| 石楼县| 浪卡子县| 措勤县| 太白县| 横峰县| 富阳市| 时尚| 黑水县| 金山区| 大理市| 赣州市| 晋州市| 瑞昌市| 五峰| 临江市| 武鸣县| 乃东县| 博野县| 闸北区| 福建省| 察哈| 阳原县|