2023/3/5周报

目录

摘要

论文阅读

1、题目和现有问题

2、工作流程

3、图神经网络模块

4、注意力网络

5、实验结果和分析

深度学习

1、CA模型的变种

2、CA和DL结合的可能性

总结

摘要

本周在论文阅读上,对基于图神经网络和改进自注意网络的会话推荐的论文进行了学习,文章提出的新模型,通过GNN与注意力机制来提取当前会话节点的局部偏好,通过改进自注意网络来捕获会话节点的全局偏好;同时在会话节点中加入可学习的位置嵌入,来更好地把握用户兴趣变化的过程。在深度学习上,继续学了CA的相关知识,对其变种的了解,以及探索CA和DL结合的可能性。

This week,in terms of thesis reading,studying the paper of conversation recommendation based on graph neural network and improved self-attention network.The new model proposed in this paper extracts the local preferences of the current session node through GNN and attention mechanism.Capturing the global preferences of session nodes by improving the self-attention network.At the same time, learnable location embedding is added in the session node to better grasp the process of user interest change.In deep learning, continue to learn about CA.Understanding its variants and explore the possibility of combining CA and DL.

论文阅读

1、题目和现有问题

题目:基于图神经网络和改进自注意网络的会话推荐

现有问题:现有的会话推荐系统大多数基于当前会话建立局部偏好来预测用户行为,而低估了会话全局序列蕴含的信息。 同时多数推荐系统忽略了会话交互序列的相对位置关系。

文章所提出的解决办法:通过GNN和传统注意力网络捕获当前会话S中交互历史中的局部信息,再结合全局偏好学习模块捕获的会话全局信息,来预测用户当前会话下一次点击的项目 V(n+1) , 最终对于会话 S,GNN-SAP模型会输出所有可能访问候选项目的概率y, 其中向量y的元素值是相应项的推荐分数,由于推荐者通常会为用户提出多个建议,因此一般将从y^中选择前K个项目作为推荐。

2、工作流程

(1)、用户每次点击序列会构成一次会话,将会话构建成会话图,随后通过图神经网络(GNN)来提取会话图中当前会话节点所蕴含的丰富的信息。

(2)、将GNN提取后的会话节点加入可学习位置信息,来保存其原有位置信息,并通过注意力网络来提取用户短期动态偏好。

(3)、对于会话全局偏好学习,将会话序列通过位置嵌入模块加入位置信息,并送入基于改进的自注意力网络来提取会话的全局静态偏好,并且通过前馈神经网络(FNN)和残差网络来提取其非线性特征。

(4)、最终将局部偏好与全局偏好非线性特征经过线性融合,再送入预测层,得到项目集合V中每个项目的得分,得分越高表示被用户点击的可能性越大。

 

3、图神经网络模块

首先将每个会话构建成一个会话图。 给定会话S = {V1 ,V2 ,…,Vn }, 将每个项目vi视为一个节点,将 (Vi-1,Vi) 视为一条边,表示用户在会话S中的Vi-1之后点击项目Vi, 因此,每个用户会话序列都可以建模为一个有向图 Gs= (γs,εs)。 对于会话图中的节点 Vt, 不同节点之间的信息传播可以形式化为:

 

然后将它们和之前的状态Vt-1一起输入到图神经网络中。 因此,GNN层最终输出ht计算如下:

用户会话交互序列的位置信息同样重要,会话历史交互顺序表明了用户兴趣随着时间的变化过程。 为了保存会话交互位置信息,在GNN捕获的节点和会话全局序列之后加入可学习的位置嵌入模块, 不仅能更好保存会话序列中的信息,而且还能过滤会话中的噪声。

 

4、注意力网络

为了使推荐系统更专注于找到会话序列中与用户偏好相关的信息,本文采用软注意机制来更好捕获会话的局部偏好。

 

Transformer在NLP领域中首次提出了自注意力机制,将嵌入层的输入通过线性投影分别转换为Query、Key 和Value三个不同矩阵,并将它们输入到使用放缩点积的注意力层中。 由于序列化所隐含的顺序性,在预测 (t+1)项时应该只考虑前 t项,而自注意力层的输出包含后续所有项目的嵌入,为了不依赖t时刻之后的输出,自注意力机制通过禁止Qi和Kj(j > i) 之间的点积来进行因果约束。 自注意力机制的表示如下

 

尽管通过GNN和注意力机制可以很好地提取会话的局部动态偏好,但局部表示仍然忽略来自其他会话的有用的项目信息和会话的长期静态偏好。本文从会话的全局序列上考虑,不再对用户行为序列进行因果约束,使未来的更多可用信息可用于对训练期间序列的预测,以便更好地提取会话的全局偏好,下图展示了自注意力机制与改进自注意力机制的流程对比。

 

5、实验结果和分析

数据集来源:Diginetica、Tmall、Nowplaying。

过滤掉数据集中长度为1的会话和出现次数少于5次的项目。 将最新数据设置为测试数据,剩余的历史数据用于训练。处理后的数据:

 

本文使用P@K和MRR@K评估指标来评估推荐模型的性能。

对比算法:POP、Item-KNN、FPMC、GRU4Rec、NARM、STAMP、CSRM、FGNN、SR-GNN。

GNN-SAP和9个基线模型在3个真实数据集上的实验结果如下表所示。 其中每一列的最佳结果以粗体突出显示, 与基线模型相比GNN-SAP在Diginetica上的表现比SR-GNN 平均高出 3.6%,在Tmall上平均高出8.7%,在 Nowplaying上平均高出5.6%。 可以观察到,GNN-SAP在所有3个数据集上以两个指标(K=10和K=20一致地实现了最佳性能,从而验证了本文提出的方法的有效性。

 

进行消融研究,比较仅采用局部偏好学习模块(GNN-Local)、全局偏好学习模块(GNN⁃Global)和两者相结合(GNN-SAP) 的效果,如下表所示。

 

在3个数据集上,对于基于GNN的短期偏好学习比基于自注意力的长期偏好学习取得了更好的预测效果。 这证明了图神经网络比注意力机制更适合用来提取当前会话节点的局部的复杂信息和动态偏好,同时全局偏好学习模块在捕获静态偏好上也具有一定的有效性。

通过消融研究来分析它们产生的不同影响,下表显示了默认方法及其变体在3个数据集上取得的效果。

 

从GNN-SAP中移除可学习的位置嵌入模块,可以看出GNN-SAP在3个数据集上相比移除位置嵌入模块的方法取得了更好的效果。 这表明在当前会话节点和全局会话序列中加入位置信息,可以更好地保存会话中原有访问顺序,以便更好捕获会话序列中的复杂信息,来进行更为准确的推荐。

从GNN-SAP中移除FFN和残差网络。可以看出GNN-SAP在3个数据集上均表现比较好。 这表明了通过加入FFN和残差网络来提取用户非线性特征和底层用户信息的有效性,能更好地提取用户会话的全局偏好信息。

深度学习

1、CA模型的变种

元细胞自动机模型是一种基于离散空间和时间的模型,它由一个网格状的空间和一组状态变量组成。在这个模型中,每个空间单元(元细胞)都可以处于不同的状态,它的状态由它周围的元细胞的状态和一个规则函数来决定。元细胞自动机模型已经被广泛应用于模拟复杂的现象和系统。

元细胞模型的一些变种:

  • 非同步元细胞自动机:在这种模型中,每个元细胞的状态更新是非同步的,即不是所有元细胞在同一时间更新,而是按照一定的更新顺序进行更新。

   +----+----+----+
   |    |    |    |
   |  A |  B |  C |
   |    |    |    |
   +----+----+----+
   |    |    |    |
   |  D |  E |  F |
   |    |    |    |
   +----+----+----+
   |    |    |    |
   |  G |  H |  I |
   |    |    |    |
   +----+----+----+
​
    A -> B -> C -> D -> E -> F -> G -> H -> I -> A -> ...

在上述例子中,元细细胞自动机是一个3x3的网格,每个元细胞可以处于两种状态:1或0。每个元细胞的状态更新是按照固定的顺序进行的,即从左到右,从上到下。例如,在第一次更新中,A的状态会根据B和D的状态进行更新,然后B的状态会根据A、C和E的状态进行更新,以此类推。更新顺序可以按照不同的规则进行确定。

需要注意的是,非同步元细胞自动机中,不同元细胞的状态更新可能发生冲突,这时需要使用一些冲突解决策略来确定最终的更新结果。常用的冲突解决策略包括优先级冲突解决和随机冲突解决。优先级冲突解决是指给每个元细胞指定一个优先级,更新时按照优先级从高到低的顺序进行更新;随机冲突解决是指随机选择一个需要更新的元细胞进行更新。

特点:按照固定的顺序进行元细胞状态更新。

  • 概率元细胞自动机:在这种模型中,元细胞状态的转换不再是确定性的,而是基于一定的概率进行转换。这种模型可以用来模拟一些具有随机性质的现象。

还是以上述例子为例,每个元细胞从当前状态转换为另一个状态的概率是根据一定的概率分布计算的。例如,可以定义一个0.3的概率让每个元细胞保持原状态,以及一个0.7的概率让每个元细胞以相等的概率转换为0或1。概率元细胞自动机中的概率分布可以是固定的,也可以随时间和空间变化而变化。在实际应用中,概率元细胞自动机可以用来模拟一些具有随机性质的现象,如随机游走、随机扩散等。同时,概率元细胞自动机也具有一定的计算能力,可以用来解决一些难以用传统方法求解的问题。

特点:基于一定的概率进行元细胞状态更新。

  • 多重元细胞自动机:在这种模型中,每个元细胞可以同时处于多个状态,而不是只能处于一个状态。这种模型可以用来模拟一些具有复杂状态的现象。

  +-------------+
  |  Layer 3    |
  | +----+----+ |
  | |    |    | |
  | |  A |  B | |
  | |    |    | |
  | +----+----+ |
  | |    |    | |
  | |  C |  D | |
  | |    |    | |
  | +----+----+ |
  +-------------+
​
  +-------------+
  |  Layer 2    |
  | +----+----+ |
  | |    |    | |
  | |  E |  F | |
  | |    |    | |
  | +----+----+ |
  | |    |    | |
  | |  G |  H | |
  | |    |    | |
  | +----+----+ |
  +-------------+
​
  +-------------+
  |  Layer 1    |
  | +----+----+ |
  | |    |    | |
  | |  I |  J | |
  | |    |    | |
  | +----+----+ |
  | |    |    | |
  | |  K |  L | |
  | |    |    | |
  | +----+----+ |
  +-------------+
​
  I -> E -> A
  J -> F -> B
  K -> G -> C
  L -> H -> D
​

在这个例子中,多重元细胞自动机由三个层次结构组成,每个层次结构是一个2x2的元细胞自动机。不同层次结构之间可以通过某种规则进行交互。在这个例子中,每个层次结构的左上角的元细胞可以与相邻层次结构的元细胞进行交互。例如,I、J、K和L分别与E、F、G和H进行交互,它们的状态更新规则可以按照某种规则确定。在这个例子中,每个元细胞的状态更新是按照一个简单的规则进行的,即每个元细胞的状态取决于相邻的元细胞的状态,例如A的状态取决于E、F、I和J的状态。多重元细胞自动机的结构可以更加复杂,不同层次结构之间的交互也可以更加灵活。多重元细胞自动机在模拟一些复杂的现象和处理一些高维数据方面具有一定的优势。

特点:每个元细胞的状态取决于相邻的元细胞的状态。

  • 带有时空记忆的元细胞自动机:在这种模型中,元细胞的状态转换不仅取决于它周围的元细胞状态,还取决于它们之前的状态。这种模型可以用来模拟一些具有记忆性质的现象。

+----+----+----+----+----+
|  0 |  0 |  0 |  0 |  0 |
+----+----+----+----+----+
|  0 |  1 |  1 |  1 |  0 |
+----+----+----+----+----+
|  0 |  1 |  0 |  1 |  0 |
+----+----+----+----+----+
|  0 |  1 |  1 |  1 |  0 |
+----+----+----+----+----+
|  0 |  0 |  0 |  0 |  0 |
+----+----+----+----+----+
​在这个例子中,元细胞自动机中的每个元细胞都可以记录自身状态以及其周围的元细胞状态。具体来说,每个元细胞都包含两部分信息,即当前状态和历史状态。当前状态指的是当前时刻元细胞的状态,历史状态指的是前几个时刻元细胞的状态。在这个例子中,元细胞自动机是一个5x5的二维网格,每个元细胞包含两个状态,因此总共有25x2=50个状态。元细胞的状态更新规则可以根据当前状态和历史状态来确定。例如,在这个例子中,元细胞的状态更新规则可以定义为:
  1. 如果一个元细胞当前的状态为0,并且它的历史状态中1的个数大于等于3个,则该元细胞的状态在下一时刻更新为1;

  2. 如果一个元细胞当前的状态为1,并且它的历史状态中1的个数小于等于1个,则该元细胞的状态在下一时刻更新为0;

  3. 其他情况下,元细胞的状态保持不变。

带有时空记忆的元细胞自动机可以模拟一些具有时空记忆特性的现象,例如流体动力学、生态系统的演化、交通流量等。由于它可以捕捉历史状态的信息,因此在某些情况下比传统元细胞自动机更具有表达能力。

特点:具有记录之前状态的特点,根据当前状态和历史状态来确定下一个状态。

2、CA和DL结合的可能性

CA组成部分有初始状态,局部规则等,里面最为重要的就是局部规则了,我们会在社会关系模拟,土地使用模中调整不同的局部规则以产生不同的全局现象。神经网络是一种基于特征提取的统计学习,其本质是从数据中学习规则。从这看出二者的区别,CA需要自己设置局部规则然后让其模拟观测全局现象,深度学习则是从数据中学习规则。

使用DL模型来预测元细胞自动机的演化规律,或者使用元细胞自动机模型来生成DL模型的输入数据。

  1. 使用元胞自动机来生成DL的输入数据。元胞自动机可以生成大量的模拟数据,例如生成逼真的图像、声音等,这些数据可以用于DL模型的训练。由于元胞自动机的演化过程是可重复的,因此可以生成大量的训练数据,以便DL模型更好地学习和预测。

  2. 将深度学习模型应用于元胞自动机的演化规律预测。DL模型可以学习和推断元胞自动机的演化规律,这样就可以用DL模型来预测元胞自动机的演化过程。这种方法可以用于建立更加复杂的元胞自动机模型,以便更好地理解和预测系统的行为。

  3. 将元胞自动机和DL结合来解决复杂问题。例如,可以使用元胞自动机来对数据进行初步处理,然后使用DL模型来进行更加复杂的分类、预测等任务。这种方法可以充分利用元胞自动机的并行计算能力和DL模型的学习和推断能力,提高计算效率和准确性。

总结

本周继续对图神经网络进行学习,在CA与DL结合的代码工作上,由于在复习英语考试内容而没有完成,准备在下周进行这项工作。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值