时序图文献精度——2.2018-arXiv-Learning Dynamic Embeddings from Temporal Interaction Networks

Learning Dynamic Embeddings from Temporal Interaction Networks

Abstract

表示学习为用户和物品属性的动态演变建模提供了一种有吸引力的解决方案,其中每个用户/物品可以嵌入到欧几里得空间中,其演变可以通过嵌入的动态变化来建模。在此,作者提出了一种耦合循环模型JODIE,从用户-项目交互序列中学习用户和项目的动态嵌入
JODIE有三个组件。首先,更新组件使用两个相互递归的循环神经网络更新用户和项目嵌入的每次交互。其次,训练一种新的投影组件来预测用户在未来任何时间的嵌入。最后,预测组件直接预测项目在未来交互中的嵌入。
由于复杂的用户-用户依赖关系,传统的训练数据批处理无法完成。因此,作者提出了一种新的批处理算法,称为t-Batch,它可以生成时间一致的批处理,可以并行运行,从而大大提高速度

1. Introduction

作者从动态用户-项目交互网络学习嵌入提出了三个基本挑战。

  • 首先,当用户与物品交互时,它们的属性会随着时间而变化。
  • 其次,用户的属性受到与其交互的物品属性的影响,反过来,物品属性也受到交互用户属性的影响。
  • 第三,与普通物品的交互产生了复杂的用户对用户的依赖关系。

现有方法的弊端:要么从动态交互中生成静态嵌入,要么只学习用户的嵌入,独立对待用户和项目,要么不能扩展到大量的交互。

现在的工作:给定用户uj∈U和物品ij∈I之间的时序交互序列S: Sj = (uj, ij, fj, tj),并以tj时刻交互的特征向量fj为特征,生成用户和物品在任何时刻t的动态嵌入uj(t)和ij(t),使我们能够解决两个预测任务:未来交互预测和用户状态变化预测

JPDIE
作者提出了一个算法JODIE,它从临时的用户和物品交互中学习用户和物品的动态嵌入。每个交互都有一个相关联的时间戳t和一个特征向量f,表示交互的属性(例如,购买金额或购买的物品数量)。下图(右),可以看到每一个时刻交互之后用户和物品的嵌入。
在这里插入图片描述

JODIE模型由三个主要组件组成架构:更新功能、映射功能和预测功能

  1. JODIE的更新功能有两个循环神经网络(rnn)来生成动态的用户和物品嵌入。至关重要的是,两个rnn被耦合以显式地合并用户和项之间的相互依赖关系
  2. JODIE学习了一个映射函数,该函数在与上一次交互后经过一段时间∆后估计用户的嵌入量。这个函数使JODIE真正动态,因为它可以在任何时候生成动态用户嵌入。
  3. JODIE的预测函数可以预测未来用户的一次交互,这里的一个重要设计选择是,函数直接输出用户最有可能与之交互的项目的嵌入,而不是用户与项目之间交互的概率得分。

t-Batch algorithm
作者提出了一种新的批处理算法,称为t-Batch,它创建批处理,以便每个批中的交互可以并行处理,同时仍然保持所有用户对用户的依赖关系。每个用户和物品在每个批处理中最多出现一次,并且每个用户(和物品)的临时排序交互以单调递增的批处理方式出现。以这种方式进行批处理会导致大量的并行化。

Experiment
作者进行了六个实验来评估JODIE在两项任务中的表现:预测用户的下一次互动和预测用户状态的变化(何时用户将被社交平台禁止,何时学生将退出MOOC课程)。

作者的两个创新:第一,使用耦合的循环神经网络从一个时序交互的序列学习用户和物品动态的嵌入。第二,用了一种新的批处理方法——t-Batch,下表比较了现有方法和JODIE模型的一些期望属性
在这里插入图片描述

Related Work

任何从交互序列中学习的算法都应该具有以下属性:它应该能够学习用户和物品的动态嵌入,以一种相互依赖的方式,并且方法应该是可伸缩的。

Deep recommender systems 深度推荐系统
现有的工作有两个方面的不足:首先,它们将项目的一个热门向量作为输入来更新用户嵌入。这只合并了项目id,而忽略了项目的当前状态。第二个缺点是像Time-LSTM和LatentCross这样的模型只为用户生成嵌入,而不是为项目生成嵌入。
而JODIE通过以相互递归的方式学习用户和项目的动态嵌入来克服这些缺点
Dynamic co-evolutionmodels 动态协同进化模型
JODIE与这些模型的主要区别在于,JODIE学习了一个投影函数,在实体参与交互时生成实体的嵌入,而JODIE中的投影函数使我们能够在任何时候生成用户的嵌入
此外,由于复杂的用户对用户的依赖关系,在训练期间不能应用传统的数据批处理方法,这些模型是不可伸缩的。JODIE通过开发一种新的批处理算法t-Batch克服了这一限制
Temporal network embedding models 时间网络嵌入模型
现有的工作存在许多不足,比如生成节点的最终静态嵌入,而不是动态嵌入,或者不能在交互网络上工作等。
作者提出的模型JODIE通过生成动态用户和项目嵌入克服了这些缺点

JODIE

该模型最大的创新在于:在对用户的两次观察之间,它的状态由一个经过训练的投影函数估计,该函数使用它之前观察到的状态和经过的时间来生成一个投影,当观察到实体的下一次交互时,它的新状态再次更新。
在这里插入图片描述
Static and Dynamic Embeddings
在JODIE中,每个用户和项目都被分配了两种类型的嵌入:静态嵌入和动态嵌入。使用静态和动态嵌入来训练模型,以预测用户-项目交互,以利用长期和动态属性。
静态嵌入不随时间变化。它们被用来表达用户的长期兴趣等固定属性
动态嵌入会随着时间的推移而改变,以模拟它们进化的行为。用户和项的嵌入在交互中涉及时都会更新。

3.1 Learning dynamic embeddings with JODIE

3.1.1 Update operation using a coupled recurrent model

模型使用两个单独的循环神经网络进行更新——RNNU在所有用户之间共享,用于更新用户嵌入,RNNI在所有项目之间共享,用于更新项目嵌入。
当useru与项目i交互时,RNNU通过使用项目i的嵌入作为输入更新嵌入u(t)。RNNI使用动态用户嵌入来更新项目i的动态嵌入。这导致嵌入之间相互递归依赖
作者使用动态嵌入一个项目,因为它包含更多的信息,而不仅仅是项目的“id”,包括它的当前状态和它最近与(任何)用户的交互。因此,利用项目的动态嵌入可以生成更有意义的动态用户嵌入。

3.1.2 Embedding projection operation

作者创建了一种新颖的投影操作,用于估计用户在上次交互后经过一段时间后的嵌入情况
在这里插入图片描述

3.1.3 Predicting user-item interaction

为了预测t +∆u时刻的用户交互,引入一个预测函数Θ: R(n+d) × R(m+d)→R(m+d)。该函数将估计的用户嵌入及其静态嵌入作为输入。此外,我们还使用项目i的静态和动态嵌入(来自mu的最后一次交互的项目)作为输入。该函数被训练输出完整的(静态和动态)预测项目嵌入。

Experiment

作者通过实验验证了JODIE在两个任务上的有效性:下一次交互预测和用户状态变化预测。作者分别在三个数据集上进行实验,并与六个强基线进行比较。结果如下表所示:
在这里插入图片描述
在这里插入图片描述

Conclusion

作者提出了一个称为JODIE的耦合循环神经网络模型,该模型从一系列时间交互中学习用户和项目的动态嵌入。受卡尔曼滤波器的启发,使用新颖的项目函数来估计任意时间点的用户嵌入,这是JODIE的一个关键创新,并导致了JODIE的高级性能。我们还提出了t-Batch算法,它可以创建可并行处理的训练数据批次,从而大大加快了运行时间。

猜你喜欢

转载自blog.csdn.net/m0_51474171/article/details/128571362
今日推荐