WWW 2022 | 弯道超车:基于纯MLP架构的序列推荐模型

WWW 2022 | 弯道超车:基于纯MLP架构的序列推荐模型_第1张图片

©作者 | 于辉,周昆

来源 | 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 的模型。

WWW 2022 | 弯道超车:基于纯MLP架构的序列推荐模型_第2张图片

论文标题:

Filter-enhanced MLP is All You Need for Sequential Recommendation

收录会议:

WWW 2022

论文链接:

https://arxiv.org/abs/2202.13556

源码链接:

https://github.com/RUCAIBox/FMLP-Rec

287bef35242be95a2b3922b882aaca9f.png

研究背景与动机

1. 1 序列化推荐

在现实世界中,用户的前后行为都存在强烈的关联性与因果性,将用户过去的这一系列交互行为视作用户行为序列  ,并通过构建模型对其建模,来预测下一时刻用户最感兴趣的内容  ,这就是序列化推荐(Sequential Recommendation)的核心思想。目前序列化推荐的常用模型包括 RNN、CNN、GNN 以及 Transformer。

1. 2 滤波算法

用户的历史行为数据会不可避免地包含噪音,将其输入复杂的神经网络模型(如Transformer)后,很容易导致过拟合问题。为了解决这个问题,我们借助在数字信号处理领域被广泛应用的滤波器(Filter)来进行处理。滤波器是一种选频装置,可以使特定频率成分的信号通过/阻断,常常用于过滤现实场景下的噪声信号。

在信号进入滤波器之前,需要从时间域转换到频率域,傅里叶变换(Fourier Transform)就是这样的一个工具。如:低通滤波器(LPF: Low-Pass Filter):使低频成分通过、并极大地衰减其他频率成分的一种滤波器;带阻滤波器(BSF: Band-Stop Filter):通过设定上下边界,使该频率区间内的成分阻断,但不影响区间外频率信息的滤波器;由于用户行为序列中有用信号和噪音的频率成分存在差异,傅里叶变换后,在频率域中就变得易于区分,再通过设计特定频率响应的滤波器阻断噪音所在频带,能显著地降低噪音影响。

9626116b99f1f42fd13d8d881c2aed8e.png

先导实验

2.1 基于Transformer与RNN的序列推荐模型中加入滤波器

我们首先制作了简易的高通(HPF)、低通(LPF)、带阻(BSF)三种不同类型的滤波器,放置于 GRU4Rec(基于 RNN)和 SASRec(基于Transformer)模型的 Embedding 层与 Encoder 层之间,不对其它部分做任何改动,在不同数据集上进行训练,表现大致相同并且结果令我们惊喜,表1中列出了在 Beauty 和 Sports 数据集上的结果,可以清楚地看到低通滤波器、带阻滤波器给 GRU4Rec、SASRec 的性能带来了持续且显著的提升。

WWW 2022 | 弯道超车:基于纯MLP架构的序列推荐模型_第3张图片

2.2 移除Transformer中多头注意力,仅保留MLP和滤波器

我们更进一步将 SASRec 中的多头自注意力机制(mutil-head self-attention)换为之前用到的三种滤波器,这样得到的模型就是一个全 MLP 模型。我们将这种模型与 SASRec 在相同的数据集上进行测试,结果对比见图1。

不难看出,结构简易的、添加了低通滤波器的 MLP 模型,在性能上大幅超越了设计复杂的、基于自注意力机制 SASRec 模型,这表明合适的滤波器与全 MLP 模型的组合是十分适用于序列化推荐领域的,这种组合能够在保持模型轻量化的同时,降低信号噪音,有效减弱过拟合现象。

WWW 2022 | 弯道超车:基于纯MLP架构的序列推荐模型_第4张图片

08250feb12a5a3980f54bdcbc4d07ce1.png

FMLP-Rec模型

基于上述两个实验,我们考虑将以上的简单滤波算法替换成可学习的滤波器层(Learnable Filters),依赖梯度下降算法进行优化,使其能够自适应地变换滤波器的频率响应,对序列进行处理,达到降噪的效果。我们提出了 FMLP-Rec,这是一个全 MLP 的模型。

FMLP-Rec 的模型结构如下图所示,其基础网络架构与 SASRec 相似,最大的区别就是将 SASRec 中 Transformer 的多头自注意力机制替换为一个滤波器层,利用这种机制提取序列特征。该滤波器层是通过在频域下的矩阵点乘来实现的,其等价于时域中的循环卷积,在时间复杂度更低的情况下并能够提供更大的感受野。

WWW 2022 | 弯道超车:基于纯MLP架构的序列推荐模型_第5张图片

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

在经过若干滤波增强模块后,用户行为序列的特征得到有效提取,这时通过预测层对其处理,得到用户下一个最感兴趣的物品。

a3b53a8b6ee3f602cff3d44dc0e6c341.png 

实验结果


4.1 在8个数据集上的主实验

我们在 8 个数据集上训练了不同神经网络架构的序列化推荐模型,其中 4 个数据集是按用户进行记录的,包含了用户以往的购买记录,分别是从亚马逊平台获取的 Beauty,Sport,Toys 数据集和 Yelp 数据集;其余 4 个数据集是按会话进行记录的,分别是 Nowplaying,RetailRocket,Tmall 以及 Yoochoose 数据集,训练结果整理在下表中。

通过对比可以清晰地看出 FMLP-Rec 性能的优越性,它在所有数据集中的表现都大幅领先其他模型,而这些都是在网络结构和时间复杂度大幅降低的同时所实现的。

WWW 2022 | 弯道超车:基于纯MLP架构的序列推荐模型_第6张图片

WWW 2022 | 弯道超车:基于纯MLP架构的序列推荐模型_第7张图片

4.2 滤波层的通用性

我们还设计了实验来证明在 FMLP-Rec 中起关键作用的滤波器层有望作为一个通用的网络模块,添加到其他模型中来处理序列化推荐任务,来提升这些模型的性能。于是,我们分别选取了基于 RNN 的 GRU4Rec、基于 CNN 的 Caser、基于 GNN 的 GCSAN 和基于 Transformer 的 SASRec 作为基准模型,然后将可学习的滤波器层添加到这些模型的 Embedding 层和 Encoder 层之间,在不同数据集中进行训练,与原始模型的结果对比见下图。

可以看出,在加入可学习的滤波器层之后,所有模型的的表现都超过了原始模型,证明了滤波器层的加入能够明显减弱这些神经网络受噪音影响的现象,但是另一方面,这些加入了滤波器层之后的模型依旧没能比我们的 FMLP-Rec 表现更好,这表明可学习的滤波器层与参数更少的 MLP 结构的组合是更适用于序列化推荐任务的。

WWW 2022 | 弯道超车:基于纯MLP架构的序列推荐模型_第8张图片

4.3 滤波层的可视化

在实验的最后,我们从训练完成的模型中输出了 FMLP-Rec 的可学习滤波器,并且选取 Beauty 和 Sports 数据集上训练的滤波器制作成图,可以看到不同数据集上的滤波器形状大致相同。图中由黄色到紫色表示频率由低到高,那么这些滤波器的形状可以近似看做一种低通滤波器,红色虚线之内的低频成分基本为正向增益,其余部分随着频率升高,逐渐从衰减变为较弱的反向增益。

WWW 2022 | 弯道超车:基于纯MLP架构的序列推荐模型_第9张图片

b0a5b9b39d00307157cdb943b0c714e6.png

总结

在序列化推荐任务中,用户的行为信息会不可避免地包含噪音,这会影响复杂的序列编码模型的效果。我们通过引入数字信号处理中的滤波器的思想,通过引入滤波机制,并舍弃 Transformer 中的复杂模块,最终得到一个基于可学习滤波器的纯 MLP 模型————FMLP-Rec

滤波器层本质上是一个频域下的 MLP 层,其可以在训练过程中通过随机梯度下降可以自适应地对用户行为序列中不同频段滤波机制进行调整,理论上来说等同于时间域的循环卷积,其更易于提取周期信号,并且同时兼具全局感受野和更低的时间复杂度。FMLP-Rec 模型在 8 个数据集上击败了目前 SOTA 的基于 RNN、CNN、GNN 以及 Transformer 的神经网络模型。

特别鸣谢

感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。

更多阅读

WWW 2022 | 弯道超车:基于纯MLP架构的序列推荐模型_第10张图片

WWW 2022 | 弯道超车:基于纯MLP架构的序列推荐模型_第11张图片

WWW 2022 | 弯道超车:基于纯MLP架构的序列推荐模型_第12张图片

471174f380b11ed850ee581537ca5b6e.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

 投稿通道:

• 投稿邮箱:[email protected] 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

WWW 2022 | 弯道超车:基于纯MLP架构的序列推荐模型_第13张图片

△长按添加PaperWeekly小编

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

c9496c27ff738ee9454918dcc332fd21.png

你可能感兴趣的:(机器学习,人工智能,深度学习,算法,神经网络)