2023/2/26周报

目录

摘要

论文阅读

1、题目和摘要

2、GNN推荐算法

3、 MGRU 算法

4、评分系统

5、实验部分

深度学习

1、元细胞自动机

2、简单应用(康威生命游戏)

总结


摘要

本周在论文阅方面,阅读了一篇融合注意力机制的GNN推荐算法的论文,该算法可以同时从评分数据和社交信息中学习用户的特征,利用门控网络进行融合,提高了最终推荐的准确率。在深度与学习上,对元细胞自动机进行了学习,并且对其中的经典应用康威生命游戏进行了代码学习。

This week,in terms of thesis reading,a paper on GNN recommendation algorithm integrating attention mechanism is perusal.This algorithm can learns user's characteristics from rating data and social information at the same time.And the accuracy of final recommendation is improved by using gate-controlled network for fusion.In deep learning, have learned about cellular automata.Besides,the code of the classic application Conway Life Game is studied.

论文阅读

1、题目和摘要

题目:融合注意力机制的GNN推荐算法

摘要:在推荐系统中,用户的兴趣爱好受到自身的历史行为、社交网络等多方面影响,呈现出一种动态变化的趋势。 而如何在推荐系统中结合用户的社交网络信息以及时序兴趣提取有效信息,是一个棘手的问题。 对此,提出了一种融合多头注意力机制和门控循环单元的图神经网络算法 MGRU。 该算法先利用门控循环单元对时序信息进行记忆与遗忘,从而增强局部图邻域迭代过程中时序信息的抽象能力。 再利用注意力记忆网络获得朋友在不同方面对用户的影响,依靠多头注意力机制来调节朋友的影响力大小。 通过门控神经网络将朋友的影响和用户自身偏好进行融合,对项目进行推荐。

2、GNN推荐算法

2008 年,Franco和Marco等人最早提出了图神经网络的概念,接着在 2017 年出现的GCN模型更加快速地推动了图神经网络的发展;NGCF模型引入 GCN 推荐算法,在用户项目二分图中进行高阶连通性建模,从而以显性方式将协作信号注入到嵌入过程中;KGCN-PN模型通过 GCN 进行信息融合,更好地捕捉局部图的结构,并存储在各个实中;KGAT算法融合普通的注意力机制到图神经网络中,提升了推荐系统的准确度;BGANR算法融合注意力机制加入偏置量得以更好地捕捉不同节点间的高阶连通性;基于图神经网络的 GraphRec模型提出了一种方法,可以同时捕获用户项目图中的交互信息,并分别进行建模。

上述方法具有的缺陷大部分基于 GNN 的推荐算法没有考虑到深度学习在处理其他信息的优势。

解决方法:首先利用时序性对用户兴趣的影响,来增加用户与物品的关系,再通过注意力机制的优势来提取用户与用户之间的兴趣偏好,最终通过融合的方式来提升模型性能。

结构图:

3、 MGRU 算法

定义U和V为为用户集合和物品集合,图网络中存在两种边分别表示用户与物品之间的有向交互和用户与用户之间的无向交互。即存在两种模型:用户物品模型和用户社交模型。

用户物品模型步骤:

1、 计 算用户ui 相邻节点集合,并记录节点数量 L 。

2、将相邻节点集合中的物品根据时间 t 升序排列,得到物品序列为S。

3、查询 S中的每个物品 vj 对应的嵌入向量 ej ,同样的评分 wj的嵌入向量为 ej ;将 evj 与 ej拼接。

4、将更新后的 S 和状态 h 一同输入 GRU,得到 S,GRU在时刻t进 行 计 算。

5、:以状态 h(k) 为参考,对S中L个元素加权平均得到 h' ,拼接 h' 与 h(k) ,并经过 ReLU 函数的激活,得到 yi 。

6、将节点自身嵌入向量 ei和聚合结果ui进行拼接并激活,最后得到该节点n次迭代后的表示ui。

用户社交模型步骤:

1、对于所有用户ui和用户朋友 u(i,j) ,利用门控网络得到融合嵌入向量,获得嵌入表示。

2、:用户和朋友之间的社交关系向量可以采用注意力记忆模块[16]来学习,其中 Q 为记忆矩阵, Ql为每一个记忆片, e 为用户物品的嵌入维度。 在本模块中,输入用户和朋友的嵌入表示,输出该 朋友和用户的共同兴趣偏好向量。扩展记忆矩阵 Q:

3、普通的注意力机制是给朋友的影响力分配不同的权重,用户只有在交互时权重才会发生变化。 但在现实中,用户并不是一视同仁地对待每一个朋友的建议,在某个领域更专业的朋友或者关系更亲密的朋友显然会提供更加准确的建议。 而多头注意力机制可以提取多个特征,并且能够侧重提取朋友某方面的建议,更加准确地提供用户希望得到的信息。 所以该文选择多头注意力机制,获取用户在社交信息中重点关注的内容,从而获得朋友在不同方面对用户的重要程度。

4、评分系统

评分预测:

将朋友向量和用户本身相融合,利用记忆网络中的门控机制得到用户的兴趣偏好Ii,训练时使用一组数据的均方误差作为目标函数,来优化模型中的参数。

评分标准:

使用均方根误差( RMSE) 和平均绝对误差(MAE)作为预测评分准确度指标。

参数设置:

选取Ciao和Epionions数据集的 60% 作为训练集,20% 作为验证集,其余作为测试集对算法的准确性进行验证。选取嵌入维度为64。

5、实验部分

两个数据集中主要包含:

为了验证该算法的有效性, 选择了PMF、SocislMF、NeuMF、DeepSoR 以及 GraphRec 等经典推荐算法进行对比,并对实验结果进行了分析。结果如下:

MGRU算法比其他模型误差更小。 其中PMF只使用了用户和物品的评分信息,SocialMF 、DeepSoR和GraphRec同时利用了评分信息和社交信 息, 所以误差比PMF更小。 而NeuMF虽然也只利用了评分信息,但是它是基于神经网络结构的,可以提取更多的信息,所以性能也要优于PMF。

文章采用的MGRU提供了新的模型来融合用户评分的时序信息和用户的社交信息。 通过融合GRU提取的时序信息迭代用户节点,再引入多头注意力机制提取不同方面朋友对用户的影响,使得该算法有更好的性能。

深度学习

1、元细胞自动机

元胞自动机(cellular automata,CA)是一种时间、空间、状态都离散,空间相互作用和时间因果关系为局部的网格动力学模型,具有模拟复杂系统时空演化过程的能力。

不同于一般的动力学模型,元胞自动机不是由严格定义的物理方程或函数确定,而是用一系列模型构造的规则构成。凡是满足这些规则的模型都可以算作是元胞自动机模型。因此,元胞自动机是一类模型的总称,或者说是一个方法框架。其特点是时间、空间、状态都离散,每个变量只取有限多个状态,且其状态改变的规则在时间和空间上都是局部的

三个特征:

1、平行计算:每一个细胞个体都在同时同步的改变。

2、局部的:细胞的状态变化只受周遭细胞影响。

3、一致的:所有细胞均受同样的规则支配。

在二维中的元细胞自动机通常有3种划分方式:

三角形:拥有相对较少的邻居数目,易于处理复杂边界但在计算机的表达与显示不方便,需要转换为四方网格。

正方形:直观简单,而且适合于在现有计算机环境下进行表达显示但不能较好地模拟各向同性的现象。

正六边形:能够较好地模拟各向同性的现象,因此,模型更更加自然而真实但在表达显示上较为困难、复杂。

2、简单应用(康威生命游戏)

在生存状态判断中:

当前细胞为存活状态时,当周围的存活细胞低于2个时(不包含2个),该细胞变成死亡状态。(模拟生命数量稀少) 当前细胞为存活状态时,当周围有2个或3个存活细胞时,该细胞保持原样。当周围有超过3个存活细胞时,该细胞变成死亡状态。(模拟生命数量过多) 当前细胞为死亡状态时,当周围有3个存活细胞时,该细胞变成存活状态。(模拟繁殖)

import numpy as np
import random
import copy
import matplotlib.pyplot as plt

#设定元胞生长棋盘的大小
length = 100
width = 200

#根据棋盘的长宽创建矩阵
cell = np.zeros((length,width),int)
cell_temp = copy.deepcopy(cell)

#初始化矩阵为一个随机的0-1矩阵,1代表细胞生存,0代表细胞死亡
for i in range(0,length):
    for j in range(0,width):
        cell_temp[i][j] = random.randint(0,1)

#可能存在棋盘一直周期性变化,此时如果需要结束可手动结束
while not(cell_temp==cell).all():
    cell = copy.deepcopy(cell_temp)
    plt.imshow(cell)
    plt.pause(0.2)
    for i in range(0,length):
        for j in range(0,width):
            count = cell[(i-1)%length][j] + cell[(i+1)%length][j] + cell[i][(j-1)%width] + cell[i][(j+1)%width] + cell[(i+1)%length][(j+1)%width] + cell[(i-1)%length][(j+1)%width] + cell[(i+1)%length][(j-1)%width] + cell[(i-1)%length][(j-1)%width]
            if(cell[i][j] == 0 and count != 3):
                continue
            if(cell[i][j] == 0 and count == 3):
                cell_temp[i][j] = 1
                continue
            if(count == 2 or count ==3):
                continue
            cell_temp[i][j] = 0

结果:

总结

该论文算法在推荐上,利用图神经网络、多头注意力机制以及融合门控网络,加大了最终推荐的准确性,在未来的改进方向上考虑社交网络的时序性带来的影响,并不断提升当前算法的可解释性。对于元细胞自动机只是进行了一个入门学习,在后期的学习应该继续加深。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值