基于图神经网络架构搜索的推荐方法、装置、系统及介质

文档序号:33361191发布日期:2023-03-07 20:53阅读:45来源:国知局
基于图神经网络架构搜索的推荐方法、装置、系统及介质

1.本发明属于推荐系统技术领域,特别涉及一种基于图神经网络架构搜索的推荐方法、装置、系统、终端设备及存储介质。


背景技术:

2.在推荐系统领域中,由于图结构数据的广泛存在,图神经网络技术被用来有效挖掘出目标数据集中有价值的信息。传统的基于图神经网络的推荐系统,如pinsage、ngcf等,都是采用非解耦模式的图卷积,其特点是在每次从邻接节点聚合信息后都需要经过一个全连接的mlp网络,而根据《towards deeper graph neural networks》中的研究,这种非解耦式的图卷积通常是深度图神经网络性能下降的主要诱因。


技术实现要素:

3.为了解决上述现有技术的不足,本发明提供了一种基于图神经网络架构搜索的推荐方法、装置、系统、终端设备及存储介质,通过采用一种解耦模式的图卷积,将图卷积过程划分为信息传播和特征转换两个过程,先进行信息传播来聚合k阶邻居节点的信息,再进行特征转换来学习得到最终的特征表示,利用解耦模式的图卷积实现了深层的图神经网络,使得实现推荐系统可以利用到目标数据集中更多的信息,从而提升推荐性能;同时采用了神经网络架构搜索技术在深层的网络空间中找到适应目标数据集的网络结构,使得不需要手动地为不同数据集调制一个网络结构,而可以自动地为不同数据集寻找一个最优的图神经网络。本发明的方法结合基于协同过滤的推荐方法,利用用户与物品的交互数据,实现了有效、准确的推荐。
4.本发明的第一个目的在于提供一种基于图神经网络架构搜索的推荐方法。
5.本发明的第一个目的在于提供一种基于图神经网络架构搜索的推荐装置。
6.本发明的第三个目的在于提供一种基于图神经网络架构搜索的推荐系统。
7.本发明的第四个目的在于提供一种终端设备。
8.本发明的第五个目的在于提供一种存储介质。
9.本发明的第一个目的可以通过采取如下技术方案达到:
10.一种基于图神经网络架构搜索的推荐方法,所述方法包括:
11.针对图神经网络架构搜索设计相应的搜索空间;
12.采用粒子群算法作为图神经网络架构搜索的搜索策略,将各粒子的位置按照所述搜索空间转化为对应的图神经网络模型,选择粒子群的历史最优值作为最优的图神经网络架构;其中,粒子的位置对应图神经网络架构的编码,图神经网络架构使用解耦模式的图卷积操作聚合邻居节点信息;
13.对所述最优的图神经网络架构进行训练,利用训练好的最优的图神经网络架构生成推荐列表。
14.进一步的,所述将各粒子的位置按照搜索空间转化为对应的图神经网络模型,选
择粒子群的历史最优值作为最优的图神经网络架构,包括:
15.s1:对粒子群初始化,包括粒子的位置和速度;
16.s2:将各个粒子的位置按照所述搜索空间转化为对应的图神经网络架构;对所述图神经网络架构进行训练,利用训练好的图神经网络架构,计算性能评估指标;
17.s3:根据性能评估指标,选出每个粒子的历史最优值pbest和种群的历史最优值gbest,进而更新每个粒子的位置和速度;
18.重复执行步骤s2和s3进行多轮搜索迭代,在迭代结束后选择粒子群的历史最优值作为最优的图神经网络架构。
19.进一步的,所述对所述图神经网络架构进行训练,包括:
20.图神经网络模型首先随机初始化用户和物品的特征表示,再使用解耦模式的图卷积操作中的信息传播操作聚合邻居节点信息,学习用户和物品的特征表示;其中,所述信息传播操作仅在图神经网络模型的初始化过程中执行一次;
21.根据用户和物品的特征表示,计算用户特征向量和物品特征向量的内积;根据内积的计算结果从大到小排序,对应的物品列表中取前k个作为最终的推荐列表;其中,k为大于等于1的正整数;
22.粒子群算法使用bpr损失函数,以梯度下降的方式训练所述图神经网络模型。
23.进一步的,所述利用训练好的图神经网络架构,计算性能评估指标,包括:
24.将测试数据集中的数据输入训练好的图神经网络架构中,得到推荐列表;
25.根据所述推荐列表与测试集中用户的实际偏好列表,计算性能评估指标。
26.进一步的,所述根据性能评估指标,选出每个粒子的历史最优值pbest和种群的历史最优值gbest,进而更新每个粒子的位置和速度,包括:
27.根据性能评估指标,选出每个粒子的历史最优值pbest和种群的历史最优值gbest;
28.根据pbest和gbest,利用粒子群的速度和位置更新公式,修改粒子的信息,公式如下:
29.v
i+1
(t+1)=vi(t)+c1×
rand
×
(pbesti(t)-xi(t))+c2×
rand
×
(gbest-xi(t))x
i+1
(t+1)=xi(t)+v
i+1
(t+1)
30.为确保粒子每次移动后的位置坐标都是整数,做了以下约束:
[0031][0032]
其中,xi表示t时刻粒子的位置,对应图神经网络架构的编码;vi表示t时刻粒子的运动速度,v
max
是粒子的最大速度。;pbesti表示该粒子个体的历史最优值,gbest表示整个粒子群的历史最优值;c1和c2均为预先定义的超参数,用来控制粒子的搜寻方向。
[0033]
进一步的,为了提高架构搜索的效率,在步骤s2中,利用训练数据集中的部分数据对图神经网络架构进行训练;
[0034]
以使图神经网络架构中的可训练参数充分贴合目标数据集,从而得到最佳的推荐效果,利用训练数据集中的全部数据对所述最优的图神经网络架构进行训练。
[0035]
进一步的,所述针对图神经网络架构搜索设计相应的搜索空间,具体为:
[0036]
将搜索空间分解为信息传播搜索空间、特征转换搜索空间以及超参数搜索空间搜索空间。
[0037]
本发明的第二个目的可以通过采取如下技术方案达到:
[0038]
一种基于图神经网络架构搜索的推荐装置,所述推荐装置包括:
[0039]
搜索空间设计模块,用于针对图神经网络架构搜索设计相应的搜索空间;
[0040]
最优图神经网络架构选择模块,用于采用粒子群算法作为图神经网络架构搜索的搜索策略,将各粒子的位置按照所述搜索空间转化为对应的图神经网络模型,选择粒子群的历史最优值作为最优的图神经网络架构;其中,粒子的位置对应图神经网络架构的编码,图神经网络架构使用解耦模式的图卷积操作聚合邻居节点信息;
[0041]
推荐列表生成模块,用于对所述最优的图神经网络架构进行训练,利用训练好的最优的图神经网络架构生成推荐列表。
[0042]
本发明的第三个目的可以通过采取如下技术方案达到:
[0043]
一种基于图神经网络架构搜索的推荐系统,所述推荐系统包括前端页面和后端服务,所述前端页面用于输入用户与物品的交互信息并显示后端服务返回的推荐列表;所述后端服务根据用户与物品的交互信息,通过运行上述的推荐方法得到的训练好的最优的图神经网络架构生成推荐列表。
[0044]
本发明的第四个目的可以通过采取如下技术方案达到:
[0045]
一种终端设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现上述的推荐方法。
[0046]
本发明的第五个目的可以通过采取如下技术方案达到:
[0047]
一种存储介质,存储有程序,所述程序被处理器执行时,实现上述的推荐方法。
[0048]
本发明相对于现有技术具有如下的有益效果:
[0049]
本发明提供的方法,通过采用解耦模式的图卷积,加深了图神经网络中信息传播的层数,通过聚合到高阶邻居节点的信息,从而可以利用目标数据集中更多的信息提高推荐性能;通过采用神经网络架构搜索技术,避免了人工设计网络的重复调参过程,并且在优秀设计的搜索空间的指导下,架构搜索往往可以找到性能表现更好的网络结构。
附图说明
[0050]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
[0051]
图1为本发明实施例1的基于图神经网络架构搜索的推荐方法的流程图。
[0052]
图2为本发明实施例1的粒子群算法的流程图。
[0053]
图3为本发明实施例1的粒子编码示意图。
[0054]
图4为本发明实施例1的粒子群算法中的一次迭代过程的示意图。
[0055]
图5为本发明实施例1的基于图神经网络架构搜索的推荐系统的框架图。
[0056]
图6为本发明实施例2的基于图神经网络架构搜索的推荐装置的结构框架图。
[0057]
图7为本发明实施例3的终端设备的结构框架图。
具体实施方式
[0058]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。应当理解,描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
[0059]
实施例1:
[0060]
如图1所示,本实施例提供了一种基于图神经网络架构搜索的推荐方法,该推荐方法适用的场景可以是电影、音乐以及图书等物品的推荐。该推荐方法包括以下步骤:
[0061]
s101、针对图神经网络架构搜索设计相应的搜索空间。
[0062]
本实施例中将搜索空间分解为信息传播、特征转换以及超参数搜索空间。具体搜索空间设计如下:
[0063]
表1信息传播搜索空间
[0064][0065]
表2特征转换搜索空间
[0066][0067]
表3超参数搜索空间
[0068]
丢弃率(dropout rate)0.1,0.2,0.3,0.4,0.5,0.6,0.7学习率(learning rate)5e-4,1e-3,5e-3,1e-2,1e-1权重衰减率(weight decay rate)0,5e-4,8e-4,1e-3,4e-3
[0069]
s102、采用粒子群算法作为图神经网络架构搜索的搜索策略,将各粒子的位置按照搜索空间转化为对应的图神经网络模型,选择粒子群的历史最优值作为最优的图神经网络架构。
[0070]
进一步的,如图2所示,步骤s102包括:
[0071]
(1)首先对粒子群初始化,包括粒子的位置和速度。
[0072]
粒子的速度默认初始值为0,各个粒子的位置坐标代表了与其相对图神经网络结
构的编码,算法在初始时对粒子的位置进行随机初始化。图3展示了粒子编码中各个部分的意义,其中:
[0073]
g1:代表了网络结构的跳跃连接类型,取值范围是[0,4]。
[0074]
g2:代表了隐含层维度,取值范围是[0,2]。
[0075]
g3:代表了激活函数种类,取值范围是[0,7]。
[0076]
g4:代表了转换层数,取值范围是[0,5]。
[0077]
g5:代表了传播层数,取值范围是[0,5]。
[0078]
g6:代表了聚合函数种类,取值范围是[0,3]。
[0079]
g7:代表了图归一化方法种类,取值范围是[0,3]。
[0080]
g8:代表了丢弃率大小,取值范围是[0,6]。
[0081]
g9:代表了学习率大小,取值范围是[0,4]。
[0082]
g10:代表了权重衰减率大小,取值范围是[0,4]。
[0083]
(2)将各个粒子的位置(即网络结构编码)按照搜索空间转化为对应的图神经网络模型,并对图神经网络模型进行训练;利用训练好的图神经网络,计算性能评估指标。
[0084]
利用训练数据集中的部分数据对图神经网络模型进行训练;将测试数据集中的数据输入训练好的图神经网络模型,将得到的推荐列表与测试集中用户的实际偏好列表进行比较,得到性能评估指标。
[0085]
通过在网络上获取公开的数据集作为数据集,如amazon-book、gowalla。将数据集划分为训练数据集和测试数据集。
[0086]
(2-1)对图神经网络模型进行训练。
[0087]
根据粒子的位置编码生成对应的图神经网络架构,使用该架构在目标数据集上进行top-k推荐。
[0088]
进一步的,步骤(2-1)具体包括如下过程:
[0089]
a)图神经网络模型首先随机初始化用户和物品的特征表示,使用解耦模式的图卷积操作中的信息传播操作聚合邻居节点信息,学习用户和物品的特征表示。信息传播操作在模型的初始化过程中执行一次,此后模型的梯度训练过程中只进行特征转换操作,因而模型的训练效率获得了极大提升;
[0090]
b)根据用户和物品的特征表示,计算用户特征向量和物品特征向量的内积,根据内积的计算结果从大到小排序物品列表,取前k个作为最终的top-k推荐列表。其中,向量内积结果表示用户与物品的关联程度,k为大于0的正整数;
[0091]
c)粒子群算法使用bpr损失函数,以梯度下降的方式训练模型。其中是用户表示与正样本物品表示的内积,是用户表示与负样本物品表示的内积。正样本意味着训练集中该样本出现在了用户的兴趣列表中。
[0092][0093]
为了提高架构搜索的效率,本步骤中使用训练数据集中的部分数据对图神经网络模型进行训练。
[0094]
(2-2)利用训练好的图神经网络模型,计算性能评估指标。
[0095]
利用测试数据集对训练好的模型进行预测,通过将得到的推荐列表与测试集中用户的实际偏好列表进行比较,得到ndcg@k指标作为评估网络模型的性能指标。
[0096][0097]
以上公式展示了ndcg@k指标的计算过程,其中rel表示推荐结果是否在用户的偏好列表中,取值为{0,1}。idcg是理想情况下最大的dcg值,rel表示将列表按rel值从大到小排列。
[0098]
(3)根据性能评估指标,选出每个粒子的历史最优值pbest和种群的历史最优值gbest,进而更新每个粒子的位置和速度。
[0099]
将ndcg@k指标作为粒子的评估,选择出本轮迭代中粒子群的pbest和gbest指标,进而更新每个粒子的位置和速度。
[0100]
将步骤(2)计算的ndcg@k指标作为粒子的评估,选择出本轮迭代中粒子群的pbest和gbest指标;根据μbest和gbest指标,利用粒子群算法的速度和位置更新公式来修改粒子信息,公式如下:
[0101]vi+1
=vi+c1×
rand
×
(pbest
i-xi)+c2×
rand
×
(gbest-xi)
[0102]
x
i+1
=xi+v
i+1
[0103]
为确保粒子每次移动后的位置坐标都是整数,算法做了以下约束:
[0104][0105]
其中,xi为xi(t)的缩写,表示算法中t时刻粒子的位置,是实际网络结构的编码,vi为vi(t)的缩写,表示算法中t时刻粒子的运动速度,v
max
是粒子的最大速度。pbesti表示该粒子个体的历史最优值,gbest表示整个粒子群的历史最优值。c1和c2是一个预先定义的超参数,用来控制粒子的搜寻方向。
[0106]
图4为粒子群算法中的一次完整的迭代过程。在进行多次上述迭代后获得最优的网络结构。算法首先将粒子编码按照搜索空间的划分转换为目标神经网络结构,将该网络模型在训练数据集上进行训练,然后执行top-k推荐,针对推荐结果计算得到粒子的评估值。
[0107]
(4)在达到最大迭代次数之前,重复执行步骤(2)和(3)进行多轮搜索迭代,依据粒子群算法的思想,粒子群会在整个优化空间中随机移动,并根据每次移动后的评估结果来调整下一轮的位置。在迭代结束后,算法会选择粒子群的历史最优值作为最优的图神经网络架构。
[0108]
本实施例中,当迭代次数达到指定次数,则结束搜索迭代。
[0109]
s103、对最优的图神经网络架构进行训练,利用训练好的图神经网络架构生成推荐列表。
[0110]
利用数据集对最优的图神经网络架构进行完整训练,以使得网络中的可训练参数充分贴合目标数据集,以得到最佳的推荐效果。
[0111]
为了提高架构搜索的效率,在步骤s102搜索过程中的模型训练都只使用了数据集中的部分数据,从而来加快速度,但这也会导致训练模型的性能出现偏差,因此在本步骤中利用数据集中的全部数据进行一次完整的训练。
[0112]
如图5所示,本实施例还提供了一种基于图神经网络架构搜索的推荐系统,所述系统包括前端页面、后端服务和数据库,其中:
[0113]
前端页面,主要用于展示上述方法的实际推荐效果。本实施例使用音乐推荐作为实际应用场景。用户登录系统后,进入到音乐推荐列表页面在系统后端会返回该用户的音乐推荐列表,前端页面接收这些数据并进行展示;
[0114]
后端服务,用于根据用户输入的信息,运行架构搜索得到的模型(训练好的图神经网络架构)生成音乐推荐列表并返回给前端页面。本实施例采用node.js技术,使用express框架来快速实现node.js web应用,child_process同样是node.js的功能包,系统通过它来调用执行架构搜索所生成的网络模型。
[0115]
数据库,用于存储用户以及物品的各项信息,本实施例使用mysql存储数据。
[0116]
本领域技术人员可以理解,实现上述实施例的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,相应的程序可以存储于计算机可读存储介质中。
[0117]
应当注意,尽管在附图中以特定顺序描述了上述实施例的方法操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0118]
实施例2:
[0119]
如图6所示,本实施例提供了一种基于图神经网络架构搜索的推荐装置,该装置包括搜索空间设计模块601、最优图神经网络架构选择模块602和推荐列表生成模块603,其中:
[0120]
搜索空间设计模块601,用于针对图神经网络架构搜索设计相应的搜索空间;
[0121]
最优图神经网络架构选择模块602,用于采用粒子群算法作为图神经网络架构搜索的搜索策略,将各粒子的位置按照所述搜索空间转化为对应的图神经网络模型,选择粒子群的历史最优值作为最优的图神经网络架构;其中,粒子的位置对应图神经网络架构的编码,图神经网络架构使用解耦模式的图卷积操作聚合邻居节点信息;
[0122]
推荐列表生成模块603,用于对所述最优的图神经网络架构进行训练,利用训练好的最优的图神经网络架构生成推荐列表。
[0123]
本实施例中各个模块的具体实现可以参见上述实施例1,在此不再一一赘述;需要说明的是,本实施例提供的装置仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0124]
实施例3:
[0125]
本实施例提供了一种终端设备,该终端设备可以为计算机,如图7所示,其通过系统总线701连接的处理器702、存储器、输入装置703、显示器704和网络接口705,该处理器用于提供计算和控制能力,该存储器包括非易失性存储介质706和内存储器707,该非易失性存储介质706存储有操作系统、计算机程序和数据库,该内存储器707为非易失性存储介质
中的操作系统和计算机程序的运行提供环境,处理器702执行存储器存储的计算机程序时,实现上述实施例1的推荐方法,如下:
[0126]
针对图神经网络架构搜索设计相应的搜索空间;
[0127]
采用粒子群算法作为图神经网络架构搜索的搜索策略,将各粒子的位置按照所述搜索空间转化为对应的图神经网络模型,选择粒子群的历史最优值作为最优的图神经网络架构;其中,粒子的位置对应图神经网络架构的编码,图神经网络架构使用解耦模式的图卷积操作聚合邻居节点信息;
[0128]
对所述最优的图神经网络架构进行训练,利用训练好的最优的图神经网络架构生成推荐列表。
[0129]
实施例4:
[0130]
本实施例提供了一种存储介质,该存储介质为计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时,实现上述实施例1的推荐方法,如下:
[0131]
针对图神经网络架构搜索设计相应的搜索空间;
[0132]
采用粒子群算法作为图神经网络架构搜索的搜索策略,将各粒子的位置按照所述搜索空间转化为对应的图神经网络模型,选择粒子群的历史最优值作为最优的图神经网络架构;其中,粒子的位置对应图神经网络架构的编码,图神经网络架构使用解耦模式的图卷积操作聚合邻居节点信息;
[0133]
对所述最优的图神经网络架构进行训练,利用训练好的最优的图神经网络架构生成推荐列表。
[0134]
需要说明的是,本实施例的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0135]
以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明构思加以等同替换或改变,都属于本发明专利的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1