记得给 “应用机器学习” 添加星标,收取最新干货
作者:香港城市大学,悉尼大学 李沐阳
今天跟大家分享一篇来自于香港城市大学、悉尼大学和网易伏羲实验室等机构的自适应结构搜索序列推荐文章,该文章提出了一种能够自动搜索用户短期兴趣窗口的,基于MLP的序列推荐系统。由于当前序列推荐模型往往缺乏对于短期用户兴趣的序列建模和短期序列长度搜索,本文提出了一种基于NAS(Neural Architecture Search)的,数据驱动的短期用户兴趣长度感知器; 此外,提出了一种双MLP网络结构来对长/短期用户兴趣进行分别建模。
论文: https://arxiv.org/abs/2303.06337
1 动机
作者提出AutoMLP的动机来自于模型效能,长短期用户兴趣两方面。
1.1 模型效能 (Efficiency and Effectiveness)
目前基于RNN,Transformer等模型结构的序列推荐系统,在序列建模效率方面有各种各样的问题. 首先,由于梯度消失等问题,RNN模型难以在长序列中保持两个相对距离较长的物品之间的序列关系,使其在对长期兴趣进行建模时无法捕捉某些关键依赖关系. 其次,Transformer模型在近年来取得了长足的发展,并且在序列推荐中取得了SOTA的表现. 然而,由于要对一个序列中的所有物品计算pair-wise self-attention score,Transformer的计算复杂度是O(n^2),使其在对长序列进行建模存在低效率的问题. 同时,Transformer模型必须依赖位置编码来学习序列信息,这一进步从表征空间上限制了Transformer模型的表现。
1.2 长短期用户兴趣 (Long/Short-term interest)
尽管序列推荐近年来收到了广泛的关注,对于长短期用户兴趣的有效建模仍然是一个悬而未决的问题. 一般来说,我们认为对长短期用户兴趣建模主要存在两个挑战: (1)长短期兴趣的异质性,由于用户在长期和短期序列中的不同行为,用户在长期兴趣中的某些序列依赖关系很有可能在短期兴趣中并不成立,反之亦然; (2)短期兴趣窗口的选择,由于用户的活动是动态且多样的,因此在不同的情境下,用户的短期兴趣长度很可能不同,从而导致模型无法适应这种动态的兴趣窗口。
2 AutoMLP: 一种自适应用户兴趣窗口的长/短期序列推荐系统
作者在文章中提出了AutoMLP(Automated Multi-layer Perceptron for Long/Short-term Sequential Recommendation),来解决以上问题. AutoMLP采取了近年来收到广泛关注的MLP-Mixing模型结构以解决长序列效能问题,具体来说,得益于MLP的线性计算复杂度,在面临长序列时,相较于Transformer,MLP更为高效. 同时,因为MLP本身就具备对序列信息的敏感性,并且同时对整个序列的token进行运算,所以也不存在RNN的梯度消失,和Transformer的位置编码等问题。
而针对长短期推荐时,模型难以对用户的动态短期兴趣窗口进行建模的问题,我们提出利用基于DARTS(Differentiable Architecture Search)的自动搜索算法来根据不同情景自适应地搜索near-optimal的短期兴趣窗口,并使用单独的短期兴趣模块来根据这个窗口进行建模。
2.1 长/短期兴趣模块
为了更好地对可能存在异质性的长短期用户兴趣进行建模, 我们分别使用长期和短期用户兴趣两个平行模块来捕捉其特征. 长短期模块的模型结构基本相同,其主要差距在于短期模块的输入序列长度由自动搜索算法来决定. 因此我们先对它们的模型结构做统一介绍,长短期兴趣模块均采用SRSMLP(Sequential Recommender System MLP)作为backbone模型,这是MLP-Mixer在序列推荐应用当中的一种变种. 具体来说,SRSMLP由Sequence-Mixer和Channel-Mixer两部分交替构成. 为了方便说明,我们先定义一个维度为T*D嵌入矩阵X. 其中T为序列长度,D为嵌入向量的维度。
Sequence-Mixer: Sequence-Mixer是一个作用于序列长度方向的MLP,它的输入维度为T. 我们首先对X进行转置,使其维度变为D*T. 此时,Sequence-Mixer将序列信息方向作为特征维度,并计算嵌入矩阵当中的序列信息. Sequence-Mixer的输出仍是一个维度相同的嵌入矩阵,但是输出的嵌入矩阵已经融合了Sequence-Mixer所学习的序列信息。
Channel-Mixer: Channel-Mixer的模型结构与Sequence-Mixer类似,不同之处在于Channel-Mixer的输入维度为D. 嵌入矩阵再经过Sequence-Mixer将序列信息融合后,我们会发现,序列信息在D维度上仍是独立的. 因此,Channel-Mixer存在两重作用 (1)使嵌入向量的不同维度可以“交流”它们彼此独立的序列信息;(2)对嵌入向量不同维度之间的关系进行建模。
最后,我们可以通过重复令嵌入矩阵经过Sequence-Mixer和Channel-Mixer来实现类似于增加模型层数的效果,但因为参数更新是in-place的,所我们的更新参数始终只有两个MLP所带来的参数. 这使MLP模型在继线性复杂度之上,进一步提高了模型的空间效率, 使其在资源有限的应用场景中具有更为显著的意义。
2.2 自动兴趣窗口搜索
我们利用基于DARTS的神经网络模型结构搜索算法来决定短期兴趣窗口,通过DARTS,我们可以在训练模型的同时,以数据驱动的方法训练一个自适应的短期兴趣窗口搜索算法. 具体来说,我们会先定义一个离散的搜索空间K,其中包含所有候选的短期兴趣长度. 由于这样的搜索空间不连续也不可导,我们采用连续松弛(Continous Relaxation)来获得离散搜索空间K在连续可导空间的表征A,使得基于梯度的反向传播能够优化A并给予我们一个near-optimal的短期兴趣窗口。
由于我们有两组需要被优化的参数,模型参数以及A,因此我们采用双层优化(Bi-level optimization)来使这两组相互嵌套的模型参数能够被有效优化。
3 总结
最后,我们总结这篇文章的发现与贡献. 针对在序列推荐中难以判断用户短期兴趣窗口的问题,作者提出了一种基于NAS的自适应的搜索方法,并且利用MLP结构来解决现有方法在面对长序列时可能存在的低效能问题。
点击左下角 “阅读原文”, 获取原始论文。