"); //-->
论文标题:
AutoMLP: Automated MLP for Sequential Recommendations
论文链接:
https://arxiv.org/pdf/2303.06337.pdf
尽管存在上述问题,但最近基于 transformer 的高级模型可以实现最先进的性能,但它们对输入序列的长度具有二次计算复杂度。为此,本文提出了一种新颖的顺序推荐系统 AutoMLP,旨在根据用户的历史交互更好地建模用户的长期/短期兴趣。此外,我们通过端到端优化设计了一种自动自适应搜索算法,以获得更可取的短期兴趣长度。通过广泛的实验,我们表明 AutoMLP 与最先进的方法相比具有竞争力的性能,同时保持线性计算复杂性。
如下图所示,一个用户的行为,可能收到长期行为的影响(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 确定,该算法利用连续松弛使神经架构搜索空间可微,因此可以通过梯度下降进行优化。最后,分离模块的输出将由全连接层融合以预测下一个交互项。
长期兴趣模块的输入是全部序列,过几个 SRSMLP 层得到用户的长期兴趣表示。SRSMLP 层就是一个 mlp-mixer,包括一个 Sequence-mixer 和 Channel-mixer,具体结构如下:
SRSMLP
这个结构也非常简单,Sequence-mixer 就是在序列维度(embedding 层的 T)做 MLP,公式如下:
Channel-mixer 就是在特征维度(embedding 层的 D)做 MLP,公式如下:
短期兴趣模块也是过几个 SRSMLP 层,关键在于能用数据驱动的方式自动选择 k 个短期行为,即:Session Length Search。
实现参考了 DARTS 的网络架构搜索算法,先设置 M 个短期行为的候选长度:,对每个候选 k 都过一个 SRSMLP 层,并为每个 k 分配一个可学习的架构权重:,之后应用 softmax 将权重转换为连续且可微的近似值。
p.s. 读者问:softmax 的结果仍是一个连续值,虽然训练时可微,但推理时并非是 ont-hot 那样的选择,而是加权融合,那么 Session Length Search 的选择体现在哪里?
Discussion:由于短期兴趣长度的值与模型性能之间的影响不是单调的,因此要确定局部最优值必须应用穷举搜索,这对于长用户-项目交互序列来说计算量极大,因为有更多可能的候选人。因此,这种方法的主要优点是在不枚举所有可能的模型架构的情况下学习局部最优用户短期兴趣长度并重复训练它们,从而使选择短期兴趣长度的决策过程高效且自适应。
将长短期兴趣拼接或相加(文中没有明确说明)后过一个 mlp。
训练过程包含两个阶段。第一阶段是搜索阶段,旨在找到代表优选短期长度的局部最优A*(长度权重)。第二阶段是再训练阶段,在找到 A∗ 后,我们用最佳短期长度重新训练 AutoMLP 框架。(回答了前面的读者问)
虽然 是 AutoMLP 可学习参数的一个子集,但文献表明,简单地更新 W和A 完全会导致训练过程中的过度拟合问题,因为它们彼此高度依赖。因此,本文按照惯例使用训练数据集优化W,同时使用验证数据集优化A。具体来说,本文将其表述为双层优化,其中上层变量和下层变量 。形式上,将其表示为:
上式是一个严格的等式,很难优化,因此替换为下式近似:
完整的训练过程为:
这一阶段就是固定短期兴趣长度后,再训练 W。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。