记得给 “应用机器学习” 添加星标,收取最新干货
作者:香港城市大学,悉尼大学 李沐阳
1.引言
近年来,自注意力机制在序列推荐场景中展现出了极大的优势,在许多任务中取得了当前最优的表现。然而,自注意力机制的两个重要问题限制了其在此场景中的大规模应用和进一步发展,这两个问题分别是:
自注意力的时间复杂度是其输出序列长度的平方,使其在面对长交互序列时变得并不高效; 自注意力依赖于位置编码来学习序列信息,而在将自注意力应用的序列推荐的开山之作SASRec中,作者就指出位置编码的效果有时并不明显,甚至还会起到反作用。最近,多层感知机(MLP)结构的一系列进展显示,在不使用自注意力机制的情况下,仅仅使用多层感知机也能够达到极具竞争力的表现。基于此,我们提出MLP4Rec,一种利用三向信息融合,能够一致结合序列信息、嵌入向量语义、商品特征信息的模型结构。
如图所示,MLP4Rec 是一种具有交叉特征混合的新型三向信息融合方案,能够捕获所有项目特征之间的交互,同时应用了基于 MLP 模型的经典双向混频器关于项目显式特征的技术,从而了解用户在这些特征中的顺序偏好。
2 技术细节
2.1 参数设置
我们将项目参与者表示为U,项目为I。此外,每个商品都有一些相关的特征,例如类别和品牌,我们将这些特征表示为Q。我们将用户与之交互的项目排序为序列S,因此每个用户都有一个相应的序列,其中包含他曾经按时间顺序查看的项目。因此,项目推荐问题可以正式定义如下:给定用户U的历史项目序列S,目标是找到一个推荐模型f来预测给定用户下一个可能的项目I。
2.2 框架设计
MLP4Rec通过捕获3层信息从而提高预测准确度。第一个是时间信息,即S的时序依赖关系。第二个是项目嵌入中包含的兴趣信息,由于项目嵌入的不同通道代表不同的潜在语义,因此通道交互相关性对我们的任务也很重要。第三个是项目特征之间的相关性,它们共同有助于对项目的语义进行建模。通过在输入嵌入张量的不同方向上重复转置和应用MLP block,如图所示,MLP4Rec可以同时捕获序列、通道和特征的交互的相关性。
MLP4Rec由L层组成,其中每一层都有相同的设置:sequence-mixer、channel-mixer 和feature-mixer,所有L层共享相同的参数。在每一层中,我们首先针对不同的特征各自应用sequence-mixer和channel-mixer,然后利用feature-mixer来学习所有特征之间的相关性。
2.3 关键技术
2.3.1 嵌入层
我们将离散的项目 ID 和显式特征(例如类别和品牌)投影到维度为 C 的密集向量表示中,再将项目 ID 和显式特征的嵌入堆叠到单独的嵌入表中,其中嵌入表的行是每个嵌入向量,嵌入表的列包含通道信息。将所有嵌入表堆叠在一起后得到一个 3-d 嵌入表,如图所示。
2.3.2 Sequence-mixer
Sequence-mixer是一个MLP block,旨在学习整个项目的时序依赖关系。Sequence-mixer将嵌入表的行作为输入特征,并输出相同维度的嵌入表,其中所有的时序依赖都融合在每个输出序列中。设输入特征为整个序列中每个嵌入向量的第c个维度,如上图所示。输入特征之间的相关性是顺序的,以显示用户兴趣随时间的演变。第l层的sequence-mixer的输出表示为:
2.3.3 Channel-mixer
Channel-mixer 的目标是学习嵌入向量内的相关性。结束序列混合后,channel-mixer 将第t个项目嵌入维度作为输入特征,它们之间的相关性是跨通道的,从而使通道交互的相关性融合在输出序列内。我们可以将第l层的channel-mixer的输出表示为:
2.3.4 Feature-mixer
Feature-mixer 是将特征连接在一起的关键。完成序列和通道的混合后,时序和通道交互的依赖关系在每个序列中融合。但是,不同特征的嵌入表之间的信息仍然是相互独立的。Feature-mixer 可以将交互特征的相关性融合到每个序列的表示中,并且由于是最后一层,不仅需要传递特征信息,而且将每个特征内的序列和通道交互的依赖关系共享给其他特征,从而连贯地连接三向信息。我们将第 l 层的 feature-mixer 的输出表示为:
3 实验
3.1 性能比较
数据集:MovieLens-100k;Amazon-beauty 评估指标:命中率(HR)、归一化折扣累积增益(NDCG)和平均倒数排名(MRR)如上表显示,MLP4Rec 持续以显著的优势超越包括 MLP-Mixer+( MLP-Mixer 的改进模型,将项目 ID 和特征的嵌入连接作为输入)在内的所有模型,这表明三向信息融合是一个重要的改进,共同捕获了序列、通道、特征交互的相关性。
3.2 模型复杂度比较
在模型复杂度方面,如上表所示,更少的模型参数不仅使 MLP4Rec 更易于训练,而且还降低了过度拟合的风险。MLP4Rec 的参数比自注意力模型和基于 RNN 的模型少,也比 MLP-Mixer+ 更简单,这可以归因于全连接嵌入层的去除。同时,尽管 MLP4Rec 具有卓越的性能,但它在内存效率方面也超过了其他模型。
3.3 参数影响
上图显示了层深度和嵌入大小对 MLP4Rec 和 MLP-Mixer+ 的影响。与 MLP-Mixer+ 相比,MLP4Rec 的性能在广泛的嵌入尺寸范围内更加稳健。
3.4 消融实验
MLP4Rec 在所有指标的两个数据集中都取得了比 MLP-Mixer+ 更好的性能,它们架构之间的唯一区别是 feature-mixer,因此本文通过以下几步消融实验来判断 feature-mixer 对MLP4Rec产生的影响:
(1) MLP-Mixer 以及 MLP-Mixer+,不包括项目特征
(2) MLP4Rec-Linear,用简单线性层代替 MLP4Rec 中的 feature-mixer
(3) MLP4Rec-Simple,只在MLP4Rec 的最后一层进行特征混合
(4) w/o Sequence-Mixer,没有 sequence-mixer 模块的简化MLP4Rec
(5) w/o Channel-Mixer,没有 channel-mixer 模块的简化 MLP4Rec
(6) w/o Feature-Mixer,没有 feature-mixer 模块的简化 MLP4Rec。从上表中,我们可以总结出:
(1)在不包含项目特征的情况下,MLP-Mixer 的性能明显较差。
(2)MLP4Rec-Linear 始终优于 MLP4Rec-Simple,这意味着仅在最后一层传达特征信息无法将交叉特征相关性充分融合到隐藏层表示中。
(3)MLP4Rec 在所有指标上始终优于 MLP4Rec-Linear 和 MLP4Rec-Simple,这归功于其通过feature-mixer进行的完全三向融合。
(4)Sequence-Mixer 在序列推荐中起着至关重要的作用,并且可以成功捕获序列模式。
(5)如果没有 channel-mixer,MLP4Rec 的性能也会显着下降。这是因为项目和特征嵌入层的各个维度无法相互通信,从而使隐藏层表示缺乏通道交互的相关性,导致性能变差。
(6)没有feature-mixer的MLP4Rec表现类似于MLP-mixer。根据和多个模型的对比以及对特定参数和 feature-mixer 的实验研究,MLP4Rec 展现了极具竞争力,甚至达到了当前最优的表现。更重要的是,MLP4Rec 的理论时间复杂度和空间复杂度均为线性增长,并且得益于多层感知机的特质,MLP4Rec 对序列信息有敏感性,使其相较于自注意力机制,有着更大的发展潜力和探索价值。
4 总结
在本文中,我们提出了一种简单但有效的架构 MLP4Rec,仅使用 MLP block 进行顺序推荐,通过连接用户历史交互数据中的顺序、通道和特征交互的相关性,以挖掘他们的偏好。MLP4Rec 表现出卓越的性能,为当前基于自注意机制的方法提供了强大的替代方案,其中采取的feature-mixer 使其能够处理异构特征并捕获它们的相关性。此外,MLP4Rec 更简单的模型架构和更少的模型参数增强了它在大规模实用推荐系统中的可扩展性,能有效解决当前自注意力机制的效率瓶颈,有望在电商、信息流、视频流、游戏首页、游戏商城等序列推荐场景落地应用。
点击左下角 “阅读原文”, 获取原始论文。