WWW 2022 | 弯道超车:基于纯MLP架构的序列推荐模型
?作者?|?于輝,周昆
來源?|?RUC AI Box
本文主要提出了一個基于純 MLP 架構的序列化推薦模型,其通過可學習濾波器對用戶序列進行編碼,在 8 個序列化推薦數據集上超越了 Transformer 等模型。
越來越多的工作表明復雜的 Transformer 架構可能不是進行序列表示建模的最優模型,其中過多的參數量反而一定程度上帶來了過擬合的風險,該風險在某些噪聲較大的場景下會嚴重影響模型效果(如:推薦系統和信號處理)。本文針對序列化推薦問題,通過一系列分析實驗發現該場景下濾波算法可以減少該過擬合問題并極大提升 Transformer 模型的效果,且在 Transformer 架構基礎上將 multi-head attention 替換為頻域下的 MLP 層,可以模擬濾波機制并進一步提升模型效果。
最終我們提出了 FMLP-Rec (Filter-enhanced MLP approach for sequential recommendation),一個純 MLP 架構的模型以進行用戶歷史序列的編碼并完成推薦任務。由于我們是在頻域下利用 MLP 進行序列編碼,我們的時間復雜度低于 Transformer 結構但是卻有著相同的感受野。在 8 個數據集上的大量實驗證明了我們的純 MLP 模型可以超越基于 RNN,CNN,GNN 和 Transformer 的模型。
論文標題:
Filter-enhanced MLP is All You Need for Sequential Recommendation
收錄會議:
WWW 2022
論文鏈接:
https://arxiv.org/abs/2202.13556
源碼鏈接:
https://github.com/RUCAIBox/FMLP-Rec
研究背景與動機
1. 1 序列化推薦
在現實世界中,用戶的前后行為都存在強烈的關聯性與因果性,將用戶過去的這一系列交互行為視作用戶行為序列??,并通過構建模型對其建模,來預測下一時刻用戶最感興趣的內容??,這就是序列化推薦(Sequential Recommendation)的核心思想。目前序列化推薦的常用模型包括 RNN、CNN、GNN 以及 Transformer。
1. 2 濾波算法
用戶的歷史行為數據會不可避免地包含噪音,將其輸入復雜的神經網絡模型(如Transformer)后,很容易導致過擬合問題。為了解決這個問題,我們借助在數字信號處理領域被廣泛應用的濾波器(Filter)來進行處理。濾波器是一種選頻裝置,可以使特定頻率成分的信號通過/阻斷,常常用于過濾現實場景下的噪聲信號。
在信號進入濾波器之前,需要從時間域轉換到頻率域,傅里葉變換(Fourier Transform)就是這樣的一個工具。如:低通濾波器(LPF: Low-Pass Filter):使低頻成分通過、并極大地衰減其他頻率成分的一種濾波器;帶阻濾波器(BSF: Band-Stop Filter):通過設定上下邊界,使該頻率區間內的成分阻斷,但不影響區間外頻率信息的濾波器;由于用戶行為序列中有用信號和噪音的頻率成分存在差異,傅里葉變換后,在頻率域中就變得易于區分,再通過設計特定頻率響應的濾波器阻斷噪音所在頻帶,能顯著地降低噪音影響。
先導實驗
2.1 基于Transformer與RNN的序列推薦模型中加入濾波器
我們首先制作了簡易的高通(HPF)、低通(LPF)、帶阻(BSF)三種不同類型的濾波器,放置于 GRU4Rec(基于 RNN)和 SASRec(基于Transformer)模型的 Embedding 層與 Encoder 層之間,不對其它部分做任何改動,在不同數據集上進行訓練,表現大致相同并且結果令我們驚喜,表1中列出了在 Beauty 和 Sports 數據集上的結果,可以清楚地看到低通濾波器、帶阻濾波器給 GRU4Rec、SASRec 的性能帶來了持續且顯著的提升。
2.2 移除Transformer中多頭注意力,僅保留MLP和濾波器
我們更進一步將 SASRec 中的多頭自注意力機制(mutil-head self-attention)換為之前用到的三種濾波器,這樣得到的模型就是一個全 MLP 模型。我們將這種模型與 SASRec 在相同的數據集上進行測試,結果對比見圖1。
不難看出,結構簡易的、添加了低通濾波器的 MLP 模型,在性能上大幅超越了設計復雜的、基于自注意力機制 SASRec 模型,這表明合適的濾波器與全 MLP 模型的組合是十分適用于序列化推薦領域的,這種組合能夠在保持模型輕量化的同時,降低信號噪音,有效減弱過擬合現象。
FMLP-Rec模型
基于上述兩個實驗,我們考慮將以上的簡單濾波算法替換成可學習的濾波器層(Learnable Filters),依賴梯度下降算法進行優化,使其能夠自適應地變換濾波器的頻率響應,對序列進行處理,達到降噪的效果。我們提出了?FMLP-Rec,這是一個全 MLP?的模型。
FMLP-Rec 的模型結構如下圖所示,其基礎網絡架構與 SASRec 相似,最大的區別就是將 SASRec 中 Transformer 的多頭自注意力機制替換為一個濾波器層,利用這種機制提取序列特征。該濾波器層是通過在頻域下的矩陣點乘來實現的,其等價于時域中的循環卷積,在時間復雜度更低的情況下并能夠提供更大的感受野。
3.1 Embedding Layer
FMLP-Rec 與 SASRec 一致,通過對輸入序列進行 item-embedding 和 position-embedding,將 item 映射到高維空間中,并為用戶行為序列引入先后位置關系,傳入模型的編碼層。
3.2?Learnable-Filter-enhanced Blocks
3.2.1 Filter Layer
FMLP-Rec 的編碼層是通過可學習的濾波增強模塊(Learnable Filter-enhanced Block)的堆疊來實現的,該模塊的核心是一個濾波器層。用戶行為序列經 Embedding 層后輸入濾波器層,此時會經過一次快速傅里葉變換(FFT)轉換到頻率域:
其中??,??是序列長度,??是 Embedding 的維度,??表示序列經過??個可學習的濾波增強模塊,若是從 Embedding 層直接輸入的,那么??,??表示快速傅里葉變換,變換后的??為復數且??。
經過傅里葉變換后的序列??在頻率域中與一個相同尺寸的可學習濾波器??進行點乘,使其頻譜成分發生改變,并且濾波器通過隨機梯度下降在每一輪訓練中進行更新,達到自適應濾波的效果:
頻率域濾波后的序列用??表示,此時噪音的頻率成分已經得到壓制,對其傅里葉逆變換得到:
?表示快速傅里葉逆變換,??表示經過濾波后時間域中的用戶行為序列。
從理論上來說,這種頻率域的可學習濾波器與序列的點乘,相當于在時間域對其進行循環卷積,即??,證明如下:
??輸入 Dropout 層后會進行一次殘差連接,最后進入 Layer Norm 層。這三種機制的應用是為了防止訓練中的梯度消失以及不穩定的問題,并且能降低過擬合現象,用公式表示為:
3.2.2 Feed-forward?Layers
模塊后半部分是一個前饋層(雙層 MLP)與 Add & Norm 層的組合。通過前饋層引入非線性關系:?
Add & Norm 與 Filter Layer 模塊中一致,通過 Dropout、殘差連接、Layer Normalization 來防止過擬合,讓模型有能力堆疊更多層來加深網絡結構。
3.3 Prediction?Layer
在經過若干濾波增強模塊后,用戶行為序列的特征得到有效提取,這時通過預測層對其處理,得到用戶下一個最感興趣的物品。
?
實驗結果
4.1 在8個數據集上的主實驗
我們在 8 個數據集上訓練了不同神經網絡架構的序列化推薦模型,其中 4 個數據集是按用戶進行記錄的,包含了用戶以往的購買記錄,分別是從亞馬遜平臺獲取的 Beauty,Sport,Toys 數據集和 Yelp 數據集;其余 4 個數據集是按會話進行記錄的,分別是 Nowplaying,RetailRocket,Tmall 以及 Yoochoose 數據集,訓練結果整理在下表中。
通過對比可以清晰地看出 FMLP-Rec 性能的優越性,它在所有數據集中的表現都大幅領先其他模型,而這些都是在網絡結構和時間復雜度大幅降低的同時所實現的。
4.2 濾波層的通用性
我們還設計了實驗來證明在 FMLP-Rec 中起關鍵作用的濾波器層有望作為一個通用的網絡模塊,添加到其他模型中來處理序列化推薦任務,來提升這些模型的性能。于是,我們分別選取了基于 RNN 的 GRU4Rec、基于 CNN 的 Caser、基于 GNN 的 GCSAN 和基于 Transformer 的 SASRec 作為基準模型,然后將可學習的濾波器層添加到這些模型的 Embedding 層和 Encoder 層之間,在不同數據集中進行訓練,與原始模型的結果對比見下圖。
可以看出,在加入可學習的濾波器層之后,所有模型的的表現都超過了原始模型,證明了濾波器層的加入能夠明顯減弱這些神經網絡受噪音影響的現象,但是另一方面,這些加入了濾波器層之后的模型依舊沒能比我們的 FMLP-Rec 表現更好,這表明可學習的濾波器層與參數更少的 MLP 結構的組合是更適用于序列化推薦任務的。
4.3 濾波層的可視化
在實驗的最后,我們從訓練完成的模型中輸出了 FMLP-Rec 的可學習濾波器,并且選取 Beauty 和 Sports 數據集上訓練的濾波器制作成圖,可以看到不同數據集上的濾波器形狀大致相同。圖中由黃色到紫色表示頻率由低到高,那么這些濾波器的形狀可以近似看做一種低通濾波器,紅色虛線之內的低頻成分基本為正向增益,其余部分隨著頻率升高,逐漸從衰減變為較弱的反向增益。
總結
在序列化推薦任務中,用戶的行為信息會不可避免地包含噪音,這會影響復雜的序列編碼模型的效果。我們通過引入數字信號處理中的濾波器的思想,通過引入濾波機制,并舍棄 Transformer 中的復雜模塊,最終得到一個基于可學習濾波器的純 MLP 模型————FMLP-Rec。
濾波器層本質上是一個頻域下的 MLP 層,其可以在訓練過程中通過隨機梯度下降可以自適應地對用戶行為序列中不同頻段濾波機制進行調整,理論上來說等同于時間域的循環卷積,其更易于提取周期信號,并且同時兼具全局感受野和更低的時間復雜度。FMLP-Rec 模型在 8 個數據集上擊敗了目前 SOTA 的基于 RNN、CNN、GNN 以及 Transformer 的神經網絡模型。
特別鳴謝
感謝 TCCI 天橋腦科學研究院對于 PaperWeekly 的支持。TCCI 關注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的WWW 2022 | 弯道超车:基于纯MLP架构的序列推荐模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 石膏板什么品牌好
- 下一篇: word2016怎么把文本框设置为透明(