DynamicRec: A Dynamic Convolutional Network for Next Item Recommendation CIKM2020

ABSTRACT

最近,卷积网络在为推荐的顺序用户交互建模方面显示出巨大的前景。关键是,这样的网络依赖固定的卷积核来捕获顺序行为。在这篇论文中,我们认为,在基于会话的设置中,项目到项目转换的所有动态可能在训练时间都是观察不到的。因此,我们提出了DynamicRec,它使用动态卷积来根据当前输入动态地计算卷积核。我们通过实验表明,在基于会话的环境下,该方法在真实数据集上的性能明显优于现有的卷积模型。

日常用户与不同电子商务平台上的各种项目交互,执行一系列动态操作。这些平台通常使用会话密钥在短时间内记录这些顺序交互。在这种情况下,推荐系统的目标是从短序列中捕获顺序动态,并预测用户下一步最有可能与之交互的项目。随着递归神经网络(RNNs)和卷积网络(CNNs)的出现,人们对将它们结合到这个基于会话的推荐中越来越感兴趣。这些模型的优点在于,它们可以通过隐藏状态(RNN)或通过在固定数量的过去动作(CNN)上卷积来总结先前的动作,从而捕获顺序动态。例如,GRU4Rec使用门控循环单元(GRU)对基于会话的推荐的点击序列进行建模[6]。在每一步中,RNN将上一步的状态和当前动作作为其输入。这些依赖关系使得RNN比CNN更复杂,效率更低,尽管已经提出了诸如“会话并行”之类的技术来提高效率[6]

在这里插入图片描述
最近,社区中有一个强有力的努力来应用CNN来解决这个问题。卷积运算的优点很简单:它们需要较少的参数,同时允许并行计算,因此能够提供几个数量级的加速比。事实证明,在行业级别部署该模型时,这一点非常有用。为此,已经为推荐系统开发了各种卷积模型。例如,卷积序列嵌入(CASER)是一种基于CNN的方法,它将L先前项的嵌入矩阵视为一幅“图像”,并应用卷积运算来提取过渡[10]。然而,将矩阵视为静态图像可能会阻碍捕捉项到项转换的动态。最近,NextItNet[13]将这个问题作为一个序列来处理,并应用一维膨胀卷积在基于会话的设置中获得项到项转换的上下文。

当前最先进的CNN模型假设会话中的用户偏好是静态的,足以被固定内核捕获。然而,特定会话中的用户偏好可能会发生巨大变化。为了说明这一点,以想要为家人购买不同礼物的用户为例(图1)。起初,她购买了两种电子产品,即一部iPhone和一部iPad。然后,在同一次会议上,她改变了对不同类别物品的想法,购买了两个非电子物品,如钱包和钥匙环。转换中的这种随机性使得期望强序列模式的系统很难快速适应。此外,在基于会话的设置中,我们通常没有用户模型。这使得仅在测试期间很难从当前序列中进行概括。

受其在VISION和NLP领域的成功启发,我们提出在基于会话的设置下使用动态卷积进行下一项推荐任务。图1显示了我们的模型的概念图,我们称之为DynamicRec。在每一步,该模型基于当前输入预测卷积核,然后将其应用于固定数量的先前项。这允许模型完全基于当前输入来修正或调整其内核,而不需要任何先前的元数据或用户信息。因为内核是动态的,所以DynamicRec适应当前的操作顺序,这在基于会话的设置中很有用,因为新用户进入系统并与不同的项目集交互。为了验证动态卷积在下一项推荐中的有效性,我们用四个真实的数据集进行了实验:两个来自电子商务平台,两个来自音乐流媒体。实验结果表明,DynamicRec比目前最先进的卷积模型具有更好的性能,并且在四个数据集中的三个上都是最先进的。

我们将序列模型设计为三个主要层:输入嵌入层、动态卷积层和预测层。图2显示了我们模型的不同组件。我们在下面描述我们模型的这些组件。
在这里插入图片描述
在这里插入图片描述
onehot编码,以及最长序列是N。

通过序列的长度以及序列embedding的size来确定卷积运算的参数
为了减少参数的数量,我们使用深度卷积,其中大小为l的固定核被独立地应用于每个d通道,需要dl参数。通过对所有通道使用相同的内核,这可以进一步减少到仅l参数。如此大量的参数减少使得实现动态卷积成为可能,而不会招致大量的计算资源[12]。
在这里插入图片描述
w是权重,E是输入序列。 c是 current channel.
在这里插入图片描述
动态卷积使深度卷积的固定核成为每个时间步输入的函数,使其具有动态性和适应性。具体地说,现在使用线性层计算固定的内核权重:
在这里插入图片描述
事实证明,这在基于会话的设置中很有用,因为我们需要根据当前输入项动态调整内核。为了在模型中引入非线性,下一步是将来自DynamicConv模型的输出馈送到一个隐藏层前馈网络,其中RELU激活应用于隐藏层,线性输出层,以及丢弃应用于两层[9]。为便于培训过程,我们还在此网络之前应用层标准化[1],并使用剩余连接3。还在每个卷积块之前和最后一个卷积块之后应用层归一化。我们做了一个消融研究,以显示每个模块的有效性。

我们使用余弦相似性度量来计算预测嵌入(即표푛)与地面真实之间的相似性得分,我们也对从项目的总词汇量中随机选择的负样本计算这个分数。那么损失函数是:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_39091546/article/details/113199516