CN115659059A - 基于图对比学习的推荐模型训练方法和装置 - Google Patents

基于图对比学习的推荐模型训练方法和装置 Download PDF

Info

Publication number
CN115659059A
CN115659059A CN202210530432.8A CN202210530432A CN115659059A CN 115659059 A CN115659059 A CN 115659059A CN 202210530432 A CN202210530432 A CN 202210530432A CN 115659059 A CN115659059 A CN 115659059A
Authority
CN
China
Prior art keywords
subgraphs
graph
vector representation
user
initial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210530432.8A
Other languages
English (en)
Inventor
沈利东
沈利辉
赵朋朋
方亚星
沈逸旸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Yiyou Huiyun Software Co ltd
Original Assignee
Jiangsu Yiyou Huiyun Software Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu Yiyou Huiyun Software Co ltd filed Critical Jiangsu Yiyou Huiyun Software Co ltd
Publication of CN115659059A publication Critical patent/CN115659059A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了基于图对比学习的推荐模型训练方法和装置。方法包括:获取包含多个用户和多个对象的初始图;所述初始图用于表示所述多个用户与所述多个对象的交互关系;对所述初始图进行数据增强,生成两组子图;将所述初始图和每组子图输入至推荐模型中进行处理,得到所述初始图和每组子图中每个用户和每个对象的向量表示;根据所述初始图中所述多个用户和所述多个对象的向量表示,确定损失信息;基于预设的对比学习损失函数,根据所述两组子图中全部用户和全部对象的向量表示,确定对比学习损失信息;根据所述损失信息和所述对比学习损失信息,训练所述推荐模型。基于该方法和装置,其可以提高推荐模型向目标用户进行对象推荐的准确性。

Description

基于图对比学习的推荐模型训练方法和装置
技术领域
本发明实施例涉及计算机技术领域,尤其涉及基于图对比学习的推荐模型训练方法、装置、电子设备以及存储介质。
背景技术
推荐系统已被广泛用于缓解现实世界应用(例如社交媒体、新闻、视频和电子商务)中的信息过载。它旨在根据用户的历史交互来估计用户是否会对某个物品表现出偏好。
在现有的推荐方法中,基于协同过滤的模型在用户和物品表示学习方面表现出很好的性能。最近,对于基于图卷积神经网络的推荐模型的应用激增,以在用户-物品二分图中学习更好的用户和物品表示。然而,基于图卷积网络的推荐模型的数据非常稀疏,导致难以从用户-物品交互中提取足够的信息,影响推荐性能的提升。此外,目前的图卷积神经网络在欧几里得空间中对用户和物品进行建模,导致在对复杂图建模时出现高失真,降低了对图结构特征的捕获能力,进而导致次优性能。
发明内容
本发明实施例的一个目的是解决至少上述问题和/或缺陷,并提供至少后面将说明的优点。
本发明实施例提供了基于图对比学习的推荐模型训练方法、装置、电子设备以及存储介质,其可以提高推荐模型向目标用户进行对象推荐的准确性。
第一方面,提供了一种基于图对比学习的推荐模型训练方法,包括:
获取包含多个用户和多个对象的初始图;其中,所述初始图用于表示所述多个用户与所述多个对象的交互关系;
对所述初始图进行数据增强,生成两组子图;
将所述初始图和每组子图输入至推荐模型中进行处理,得到所述初始图和每组子图中每个用户的向量表示和每个对象的向量表示;
根据所述初始图中所述多个用户的向量表示和所述多个对象的向量表示,确定损失信息;
基于预设的对比学习损失函数,根据所述两组子图中全部用户的向量表示和全部对象的向量表示,确定对比学习损失信息;
根据所述损失信息和所述对比学习损失信息,训练所述推荐模型。
可选地,所述对所述初始图进行数据增强,生成两组子图,包括:
对于所述两组子图或所述两组子图中的任一组子图,基于边丢弃和/或节点丢弃对所述初始图进行数据增强,生成由一个子图构成的一组子图。
可选地,所述推荐模型包括图卷积神经网络;所述对所述初始图进行数据增强,生成两组子图,包括:
对于所述两组子图或所述两组子图中的任一组子图,基于随机游走或随机游走与边丢弃的组合或随机游走与节点丢弃的组合,对所述初始图进行数据增强,生成由多个子图构成的一组子图;
所述将所述两组子图输入至所推荐模型中进行处理,得到每组子图中每个用户的向量表示和每个对象的向量表示,包括:
将由多个子图构成的一组子图输入至所述图卷积神经网络中,通过所述图卷积神经网络中的每个卷积层处理相应组子图中的每个子图,得到每组子图中每个用户的向量表示和每个对象的向量表示。
可选地,所述推荐模型包括第一图卷积神经网络和第二图卷积神经网络,其中,所述第一图卷积神经网络包括至少一个第一卷积层,所述第一卷积层具有权重矩阵,所述第二图卷积神经网络包括至少一个第二卷积层,所述第二卷积层不具有权重矩阵;
将所述初始图和所述两组子图输入至推荐模型中进行处理,得到所述初始图和每组子图中每个用户的向量表示和每个对象的向量表示,包括:
将所述初始图输入至所述第一图卷积神经网络中,基于第一消息传播机制,通过所述至少一个第一卷积层的至少一个权重矩阵对所述初始图中每个用户的向量表示和所述每个对象的向量表示进行更新,更新完成后,得到所述初始图中每个用户的向量表示和每个对象的向量表示;
将每组子图输入至所述第二图卷积神经网络中,基于第二消息传播机制,通过所述至少一个第二卷积层对每组子图中每个用户的向量表示和每个对象的向量表示进行更新,更新完成后,得到每组子图中每个用户的向量表示和每个对象的向量表示。
可选地,所述根据所述初始图中所述多个用户的向量表示和所述多个对象的向量表示,确定损失信息,包括:
根据每个用户对存在交互关系的每个对象的偏好与相应用户对不存在交互关系的每个对象的偏好之间的差异,确定损失信息。
可选地,所述基于预设的对比学习损失函数,根据所述两组子图中全部用户的向量表示和全部对象的向量表示,确定对比学习损失信息,包括:
根据所述两组子图中相同用户的向量表示之间的差异和相同对象的向量表示之间的差异,以及所述两组子图中不同用户的向量表示之间的差异和不同对象的向量表示之间的差异,确定对比学习损失信息。
可选地,所述根据所述损失信息和所述对比学习损失信息,训练所述推荐模型,包括:
根据所述损失信息和所述对比学习损失信息之和,确定总损失信息;
根据所述总损失信息,训练所述推荐模型。
可选地,在所述对所述初始图进行数据增强,生成两组子图之前,所述方法包括:
确定所述初始图中每个用户的初始四元数向量表示和每个对象的初始四元数向量表示;
所述将所述初始图和所述两组子图输入至推荐模型中进行处理,得到所述初始图和每组子图中每个用户的向量表示和每个对象的向量表示,包括:
将所述初始图,所述初始图中每个用户的初始四元数向量表示和每个对象的初始四元数向量表示,所述两组子图以及每组子图中每个用户的初始四元数向量表示和每个对象的初始四元数向量表示输入至推荐模型中在四元数空间进行处理,得到所述初始图和每组子图中每个用户的向量表示和每个对象的向量表示。
第二方面,提供了一种基于图对比学习的推荐模型训练装置,包括:
数据获取模块,用于获取包含多个用户和多个对象的初始图;其中,所述初始图用于表示所述多个用户与所述多个对象的交互关系;
子图生成模块,用于对所述初始图进行数据增强,生成两组子图;
向量表示生成模块,用于将所述初始图和每组子图输入至推荐模型中进行处理,得到所述初始图和每组子图中每个用户的向量表示和每个对象的向量表示;
损失信息确定模块,用于根据所述初始图中所述多个用户的向量表示和所述多个对象的向量表示,确定损失信息;
对比学习损失信息确定模块,用于基于预设的对比学习损失函数,根据所述两组子图中全部用户的向量表示和全部对象的向量表示,确定对比学习损失信息;
推荐模型训练模块,用于根据所述损失信息和所述对比学习损失信息,训练所述推荐模型。
第三方面,提供了一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述的方法。
第四方面,提供了一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现所述的方法。
本发明实施例至少包括以下有益效果:
本发明实施例提供的图对比学习的推荐模型训练方法、装置、电子设备以及存储介质。该方法首先获取包含多个用户和多个对象的初始图,其中,所述初始图用于表示所述多个用户与所述多个对象的交互关系,对所述初始图进行数据增强,生成两组子图,之后将所述初始图和每组子图输入至推荐模型中进行处理,得到所述初始图和每组子图中每个用户的向量表示和每个对象的向量表示,根据所述初始图中所述多个用户的向量表示和所述多个对象的向量表示,确定损失信息,再基于预设的对比学习损失函数,根据所述两组子图中全部用户的向量表示和全部对象的向量表示,确定对比学习损失信息,最后根据所述损失信息和所述对比学习损失信息,训练所述推荐模型。基于该方法、装置、电子设备以及存储介质,其可以通过对初始图进行数据增强,生成不同的增强视图,通过对比学习从不同的增强视图中提取更多的信息,提升推荐模型对于用户和对象的向量表示的准确性,使推荐模型可以更加准确地挖掘用户对于对象的偏好,进而提高推荐模型向目标用户进行对象推荐的准确性。
本发明实施例的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明实施例的研究和实践而为本领域的技术人员所理解。
附图说明
图1为本发明一个实施例提供的基于图对比学习的推荐模型训练方法的流程图;
图2为本发明一个实施例提供的用户和对象的向量表示生成过程的流程图;
图3为本发明一个实施例提供的基于四元数图卷积神经网络的推荐模型的示意图;
图4为本发明一个实施例提供的基于图对比学习的推荐模型训练装置的结构示意图;
图5为本发明一个实施例提供的电子设备的结构示意图。
具体实施方式
下面结合附图对本发明实施例做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
图1为本发明实施例提供的基于图对比学习的推荐模型训练方法的流程图,由具有处理能力的系统、服务端设备或基于图对比学习的推荐模型训练装置执行。该方法包括:
步骤110,获取包含多个用户和多个对象的初始图;其中,所述初始图用于表示所述多个用户与所述多个对象的交互关系。
在一些实施例中,步骤110可以包括:获取多个用户的历史交互数据;其中,每个用户的历史交互数据包括与每个用户存在交互关系的对象;根据多个用户的历史交互数据,生成初始图;其中,所述初始图用于表示所述多个用户与多个对象的交互关系。初始图可以通过交互矩阵进行表示。具体地,根据多个用户的历史交互数据可以确定全部用户,以及这些用户交互的全部对象,将用户和对象的集合分别表示为
Figure BDA0003646237020000061
Figure BDA0003646237020000062
用户和对象的数量分别表示为M和N。据此,可以构建用户-对象交互矩阵
Figure BDA0003646237020000063
其中,Rui=1表示用户u与对象i存在交互关系。
这里,每个用户的历史交互数据可以包括与每个用户存在交互关系的至少一个对象,相应地,多个用户的历史交互数据可以包括与多个用户存在交互关系的全部对象,不同用户对应的对象可能完全相同、部分相同或完全不同。用户与对象之间的交互关系是基于用户对于对象的交互行为所产生的关系,交互行为可以是用户对某个商品的购买行为,用户对于某个新闻的阅读行为,用户在某个饭店的就餐行为等等。
初始图包括多个用户和多个对象,其中,用户和对象均作为初始图的节点,可以分别称为用户节点和对象节点,用户和对象之间的交互关系用边表示。当一个用户与一个对象存在交互关系,则相应用户节点与相应对象节点之间存在一条边;反之,当一个用户与一个对象不存在交互关系,则相应用户节点与相应对象节点之间不存在一条边。
实际应用中,不同用户对于相同对象的交互,可以反映出不同用户之间可能存在相同的偏好。因此,本发明实施例中,基于不同用户与相同对象的交互,可以捕捉不同用户之间对于相同对象的偏好,进而提高推荐模型对于目标用户进行对象推荐的准确性。
步骤120,对所述初始图进行数据增强,生成两组子图。
本步骤中,基于数据增强方法对初始图进行处理,可以生成不同的增强视图,从不同的增强视图中可以提取更多的信息,以提升推荐模型对于用户对象的向量表示的学习能力。
数据增强方法可以包括边丢弃、节点丢弃和随机游走等。也可以使用其他的数据增强方法。这里,边丢弃是指随机丢弃初始图中一定比例的边,以生成一个子图。节点丢弃是指随机丢弃初始图中一定比例的节点以及与这些节点所连接的边,以生成一个子图。在节点丢弃中,被随机丢弃的节点可以是用户节点,也可以是对象节点。随机游走可以针对推荐模型的多个卷积层中的每一个卷积层生成一个子图,每组子图都是由随机丢弃一定比例的边而生成的。
在一些实施例中,所述对所述初始图进行数据增强,生成两组子图,包括:对于所述两组子图或所述两组子图中的任一组子图,基于边丢弃和/或节点丢弃对所述初始图进行数据增强,生成由一个子图构成的一组子图。具体而言,两组子图中的每组子图可以由单独的一个边丢弃或节点丢弃对初始图处理得到,也可以由节点丢弃和边丢弃的组合对初始图处理得到。在另一个情况中,两组子图中的某一组子图可以由单独的一个边丢弃或节点丢弃对初始图处理得到,也可以由节点丢弃和边丢弃的组合对初始图处理得到。
在一些实施例中,所述对所述初始图进行数据增强,生成两组子图,包括:对于所述两组子图或所述两组子图中的任一组子图,基于随机游走或随机游走与边丢弃的组合或随机游走与节点丢弃的组合,对所述初始图进行数据增强,生成由多个子图构成的一组子图。具体而言,两组子图中的每组子图可以由单独的一个随机游走对初始图处理得到,也可以由随机游走与节点丢弃或随机游走与边丢弃的组合对初始图处理得到。在另一个情况中,两组子图中的某一组子图可以由单独的一个随机游走对初始图处理得到,也可以由随机游走与节点丢弃或随机游走与边丢弃的组合对初始图处理得到。对于随机游走与节点丢弃或随机游走与边丢弃的组合,可以先对初始图进行节点丢弃或边丢弃,生成一个初始子图,再对该初始子图进行随机游走,再在该初始子图基础上生成多个子图。
在一些示例中,推荐模型包括图卷积神经网络。对于由边丢弃、节点丢弃或者二者组合方式所生成的一组子图,其仅包括一个子图。在将该子图输入至推荐模型中进行处理时,图卷积神经网络的每个卷积层均处理相同的子图。在另一些示例中,对于由随机游走或随机游走与节点丢弃或随机游走与边丢弃的组合所生成的一组子图,其包括多个子图。所述将所述两组子图输入至所推荐模型中进行处理,得到每组子图中每个用户的向量表示和每个对象的向量表示,包括:将由多个子图构成的一组子图输入至所述图卷积神经网络中,通过所述图卷积神经网络中的每个卷积层处理相应组子图中的每个子图,得到每组子图中每个用户的向量表示和每个对象的向量表示。在将该组子图输入至推荐模型中进行处理时,图卷积神经网络的每个卷积层均处理不同的子图。
在对初始图进行数据增强时,可以对丢弃比例ρ进行设定。例如,可以对单独的某一个数据增强方法的丢弃比例进行设定,也可以设定总的丢弃比例,数据增强方法的组合须依据该总的丢弃比例对初始图进行数据增强处理。
步骤130,将所述初始图和所述两组子图输入至推荐模型中进行处理,得到所述初始图和每组子图中每个用户的向量表示和每个对象的向量表示。
用户或者对象具有多维特征,这些多维特征之间存在内部依赖性。四元数空间是一种超复数空间,每个四元数都是由一个实部和三个虚部组成的超复数。四元数允许在将多维特征整合和处理为一个实体以编码多维特征之间的内部依赖性,因此可以在表示学习中表现出很好的性能。因此,本发明实施例优选确定所述初始图中每个用户的初始四元数向量表示和每个对象的初始四元数向量表示。在此基础上,步骤130包括:将所述初始图,所述初始图中每个用户的初始四元数向量表示和每个对象的初始四元数向量表示,所述两组子图以及每组子图中每个用户的初始四元数向量表示和每个对象的初始四元数向量表示输入至推荐模型中在四元数空间进行处理,得到所述初始图和每组子图中每个用户的向量表示和每个对象的向量表示。换言之,在四元数空间对初始图和每组子图进行处理,以生成更加准确地用户和对象的向量表示。
应该理解的是,由于子图是在初始图基础上通过数据增强生成的,在确定了初始图中每个用户和每个对象的初始四元数向量表示之后,也可以确定每个子图中每个用户和每个对象的初始四元数向量表示。
具体地,将初始图中所有用户和对象嵌入到四元数空间中,对于用户集合
Figure BDA0003646237020000081
中的用户u,将其用初始四元数向量表示为:
Figure BDA0003646237020000082
Figure BDA0003646237020000083
其中d表示四元数的维度。与用户的初始四元数向量表示相同,每个对象
Figure BDA0003646237020000084
都使用初始四元数向量表示
Figure BDA0003646237020000085
用户和对象的初始四元数向量表示可以定义如下:
Figure BDA0003646237020000091
其中,
Figure BDA0003646237020000092
Figure BDA0003646237020000093
M和N分别表示用户和对象的数量。
本步骤中,可以随机生成用户和对象的初始四元数向量表示,之后通过图卷积神经网络的处理,生成更加准确的用户和对象的向量表示。
接下来,通过推荐模型对初始图进行处理时,进行特征变换,即使用权重矩阵执行卷积操作。为提高训练方法的训练速度和简便程度,在通过推荐模型对由数据增强所得到的两组子图进行处理时,不进行特征变换,即不使用权重矩阵执行卷积操作。在一些实施例中,所述推荐模型包括第一图卷积神经网络和第二图卷积神经网络,其中,所述第一图卷积神经网络包括至少一个第一卷积层,所述第一卷积层具有权重矩阵,所述第二图卷积神经网络包括至少一个第二卷积层,所述第二卷积层不具有权重矩阵。本实施例中,第一图卷积神经网络和第二图卷积神经网络均为四元数图卷积神经网络。图2示出了本发明实施例提供的用户和对象的向量表示生成过程的流程图。如图2所示,步骤130进一步包括:
步骤210,将所述初始图输入至所述第一图卷积神经网络中,基于第一消息传播机制,通过所述至少一个第一卷积层的至少一个权重矩阵对所述初始图中每个用户的向量表示和所述每个对象的向量表示进行更新,更新完成后,得到所述初始图中每个用户的向量表示和每个对象的向量表示。
初始图可以通过交互矩阵表示。交互矩阵可以理解为可以反映多个用户和多个对象之间的交互关系的图结构。对交互矩阵进行处理,可以捕捉图结构特征,即捕捉不同用户与不同对象的交互关系,进而生成更加准确地用户和对象的向量表示,以更加准确地估计对于用户对对象的偏好。
具体地,为实现对于交互矩阵的处理,可以根据交互矩阵
Figure BDA0003646237020000094
构建邻接矩阵
Figure BDA0003646237020000095
其中,M和N分别为用户和对象的数量。邻接矩阵可以反映用户和对象的邻接信息,包括与每个用户存在交互关系的对象,以及与每个对象存在交互关系的用户。通过第一图卷积神经网络对上述邻接矩阵进行处理,可以捕捉不同用户与不同对象的交互关系,进而生成更加准确地用户和对象的向量表示,以更加准确地估计对于用户对对象的偏好。
基于第一消息传播机制,通过至少一个第一卷积层对交互矩阵、初始图中多个用户的初始四元数向量表示以及初始图中的多个对象的初始四元数向量表示进行处理,从每个第一卷积层输出初始图中每个用户的每个中间四元数向量表示和初始图中每个对象的每个中间四元数向量表示。
每一轮的消息传播由每个第一卷积层实现,每个第一卷积层可以输出针对初始图中每个用户的中间四元数向量表示和针对初始图中每个对象的中间四元数向量表示。由上一个第一卷积层所生成的上一轮消息传播的卷积处理结果,将输入至下一个第一卷积层中进行下一轮消息传播。通过每个第一卷积层对于上一轮消息传播的卷积处理结果进行处理,可以实现对于初始图中用户和对象的向量表示的更新。
在每一轮消息传递过程中,通过每个第一卷积层的权重矩阵对向当前第一卷积层输入的初始图中每个用户的四元数向量表示和初始图中每个对象的四元数向量表示进行更新,从每个第一卷积层输出初始图中每个用户的每个中间四元数向量表示和初始图中每个对象的每个中间四元数向量表示;其中,每个第一卷积层的权重矩阵为四元数权重矩阵。
第一消息传播机制可以是基于四元数特征变换的消息传播机制,公式如下:
Figure BDA0003646237020000101
Figure BDA0003646237020000102
其中,
Figure BDA0003646237020000103
Figure BDA0003646237020000104
分别表示经过l层卷积之后得到的初始图中用户和对象的中间四元数向量表示,
Figure BDA0003646237020000105
是对称归一化项,可以避免向量表示的维度随着图卷积的增加而增加,
Figure BDA0003646237020000106
Figure BDA0003646237020000107
分别表示用户u所交互的对象集和对象i所交互的用户集,
Figure BDA0003646237020000108
是第l层上的四元数权重矩阵。
每个第一卷积层具有对应的四元数权重矩阵。在每一轮消息传播过程中,对于初始图中的每个用户,计算相应第一卷积层的四元数权重矩阵与输入至相应第一卷积层的与该用户存在交互关系的每个对象的四元数向量表示之间的乘积之和,以实现对于该用户的向量表示的更新;同时,对于初始图中的每个对象,计算相应第一卷积层的四元数权重矩阵与输入至相应第一卷积层的与该对象存在交互关系的每个用户的四元数向量表示之间的乘积之和,以实现对于每个对象的向量表示的更新。
其中,两个四元数之间的乘积称为哈密顿乘积。这种计算方式可以增强了两个四元数的实部和虚部之间的潜在相互关系,使得四元数中每个部分的任何微小变化都可以导致完全不同的输出,从而提高对于模型表示学习的能力,更好地捕捉不同用户与不同对象的交互关系,以更加准确地估计对于用户对对象的偏好。
需要说明的是,对于第一个第一卷积层,输入至该第一卷积层的每个用户和每个对象的四元数向量表示为它们的初始四元数向量表示。对于第一个第一卷积层之后的其他第一卷积层,输入至当前第一卷积层的每个用户和每个对象的四元数向量表示为上一个第一卷积层输出的它们的中间四元数向量表示。
此外,在一些结构更复杂的图卷积神经网络中,还可以将第一图卷积神经网络中的其他模型参数,例如偏置,设置为四元数矩阵。第一图卷积神经网络中第一卷积层的个数以及卷积核的尺寸等参数,可以根据需要进行设置,本发明实施例对此不做具体限定。
接下来,根据初始图中每个用户的初始四元数向量表示以及由至少一个第一卷积层输出的至少一个中间四元数向量表示,生成初始图中每个用户的向量表示;根据初始图中每个对象的初始四元数向量表示以及由至少一个第一卷积层输出的至少一个中间四元数向量表示,生成初始图中每个对象的向量表示。
在一些实施例中,可以先将用户和对象的四元数向量表示转换至实数空间中,然后基于用户和对象在实数空间的向量表示对用户对对象的偏好进行估计。具体地,将初始图中每个用户的初始四元数向量表示和至少一个中间四元数向量表示分别转换为每个用户在实数空间的每个向量表示;将初始图中每个对象的初始四元数向量表示和至少一个中间四元数向量表示分别转换为每个对象在实数空间的每个向量表示;对每个用户在实数空间的多个向量表示进行平均池化,得到每个用户的向量表示;对每个对象在实数空间的多个向量表示进行平均池化,得到每个用户的向量表示。
其中,对于初始图中的每个用户,其每个四元数向量表示(包括一个初始四元数向量表示和至少一个中间四元数向量表示)可以转换为在实数空间中的每个向量表示。相应地,对于初始图中每个对象,其每个四元数向量表示(包括一个初始四元数向量表示和至少一个中间四元数向量表示)可以转换为在实数空间中的每个向量表示。
在一些示例中,将初始图中每个用户的初始四元数向量表示和至少一个中间四元数向量表示分别转换为每个用户在实数空间的每个向量表示,将初始图中每个对象的初始四元数向量表示和所述至少一个中间四元数向量表示分别转换为每个对象在实数空间的每个向量表示,包括:将初始图中每个用户的初始四元数向量表示或每个中间四元数向量表示中的实部向量和三个虚部向量拼接,形成初始图中每个用户在实数空间的每个向量表示;将初始图中每个对象的初始四元数向量表示或每个中间四元数向量表示中的实部向量和三个虚部向量拼接,形成初始图中每个对象在实数空间的每个向量表示。
初始图中用户的每个四元数向量表示都包括一个实部向量和三个虚部向量,因此可以将每个四元数向量表示的一个实部向量和三个虚部向量直接拼接在一起,从而形成在实数空间中的每个向量表示。相应地,对于初始图中对象的每个四元数向量表示,也采取相同的处理方式。
对于初始图中每个用户所转换得到的在实数空间的多个向量表示,则可以采用平均池化的方式确定最终的向量表示。具体地,可以计算初始图中每个用户在实数空间的多个向量表示的平均向量,并将该平均向量作为最终的向量表示。对于初始图中每个对象所转换得到的在实数空间的多个向量表示,也可以采用平均池化的方式确定最终的向量表示。具体地,可以计算初始图中每个对象在实数空间的多个向量表示的平均向量,并将该平均向量作为最终的向量表示。平均池化可以对初始图中用户或者对象的初始四元数向量表示和由至少一个卷积层输出的中间四元数向量表示进行平均化的输出,对所提取的特征进行均匀的输出。
设卷积层的个数为L,在经过L层的卷积操作之后,对于初始图中任一用户u,可以得到L+1个四元数向量表示,包括初始四元数向量表示
Figure BDA0003646237020000131
和在消息传播过程中卷积层输出的中间四元数向量表示
Figure BDA0003646237020000132
相应地,对于初始图中任一对象i,可以得到L+1个四元数向量表示,包括初始四元数向量表示
Figure BDA0003646237020000133
和在消息传播过程中卷积层输出的中间四元数向量表示
Figure BDA0003646237020000134
然后将用户u的L+1个四元数向量表示通过拼接分别转换为L+1个欧几里得向量表示,将对象i的L+1个四元数向量表示也通过拼接分别转换为L+1个欧几里得向量表示。最后使用平均池化的方法来得到最终的向量表示。以用户u为例,基于以下公式实现对于最终的向量表示的处理。
Figure BDA0003646237020000135
Figure BDA0003646237020000136
其中,
Figure BDA0003646237020000137
表示用户u在实数空间的第l个向量表示,是针对用户u的第l层四元数向量表示
Figure BDA0003646237020000138
处理得到的,其中,当l取值为0,
Figure BDA0003646237020000139
为初始四元数向量表示,当l取值为1~L,
Figure BDA00036462370200001310
对应于第1~L个卷积层所输出的中间四元数向量表示;
Figure BDA00036462370200001311
分别为
Figure BDA00036462370200001312
的实部向量和三个虚部向量;Concat{}表示对其中的向量进行拼接;
Figure BDA00036462370200001313
表示用户u的向量表示;Mean{}表示对其中的向量进行平均池化。
在另一些实施例中,也可以对每个用户的初始四元数向量表示以及由所述至少一个卷积层输出的至少一个中间四元数向量表示进行平均池化,得到每个用户最终的四元数向量表示;相应地,对每个对象的初始四元数向量表示以及由所述至少一个卷积层输出的至少一个中间四元数向量表示进行平均池化,得到每个对象最终的四元数向量表示。在后续的步骤中,则可以根据初始图中每个用户最终的四元数向量表示以及每个对象的最终的四元数向量表示确定每个用户对每个对象的偏好程度。
具体地,可以通过以下公式确定初始图中每个用户u最终的四元数向量表示
Figure BDA00036462370200001314
以及每个对象i的最终的四元数向量表示
Figure BDA00036462370200001315
Figure BDA0003646237020000141
Figure BDA0003646237020000142
其中,
Figure BDA0003646237020000143
表示用户u的第k个四元数向量表示,其中,当k取值为0,
Figure BDA0003646237020000144
为初始四元数向量表示,当l取值为1~L,
Figure BDA0003646237020000145
对应于第1~L个第一卷积层所输出的中间四元数向量表示;
Figure BDA0003646237020000146
表示对象i的第k个四元数向量表示,其中,当k取值为0,
Figure BDA0003646237020000147
为初始四元数向量表示,当l取值为1~L,
Figure BDA0003646237020000148
对应于第1~L个第一卷积层所输出的中间四元数向量表示。
步骤220,将每组子图输入至所述第二图卷积神经网络中,基于第二消息传播机制,通过所述至少一个第二卷积层对每组子图中每个用户的向量表示和每个对象的向量表示进行更新,更新完成后,得到每组子图中每个用户的向量表示和每个对象的向量表示。
子图也可以通过交互矩阵表示,并可以进一步表示成邻接矩阵,以方便第二图卷积神经网络的处理。通过第二图卷积神经网络对子图的邻接矩阵进行处理,可以进一步捕捉不同用户与不同对象的交互关系,通过对比学习从不同的增强视图中提取更多的信息,提升推荐模型对于用户和对象的向量表示的准确性。
对于由一个子图构成的一组子图,基于第二消息传播机制,通过至少一个第二卷积层对该子图的交互矩阵、该子图中多个用户的初始四元数向量表示以及该子图中的多个对象的初始四元数向量表示进行处理,从每个第二卷积层输出子图中每个用户的每个中间四元数向量表示和子图中每个对象的每个中间四元数向量表示。
每一轮的消息传播由每个第二卷积层实现,每个第二卷积层可以输出针对该子图中每个用户的中间四元数向量表示和针对该子图中每个对象的中间四元数向量表示。由上一个第一卷积层所生成的上一轮消息传播的卷积处理结果,将输入至下一个第一卷积层中进行下一轮消息传播。通过每个第二卷积层对于上一轮消息传播的卷积处理结果进行处理,可以实现对于子图中用户和对象的向量表示的更新。在每一轮消息传递过程中,通过每个第二卷积层对向当前第二卷积层输入的子图中每个用户的四元数向量表示和每个对象的四元数向量表示进行更新,从每个第二卷积层输出子图中每个用户的每个中间四元数向量表示和子图中每个对象的每个中间四元数向量表示。
对于由多个子图构成的一组子图,基于第二消息传播机制,通过每个第二卷积层对该组子图中的交互矩阵、该组子图中多个用户的初始四元数向量表示以及多个对象的初始四元数向量表示进行处理,从每个第二卷积层输出每个子图中每个用户的每个中间四元数向量表示和子图中每个对象的每个中间四元数向量表示。
每一轮的消息传播由每个第二卷积层实现,每个第二卷积层可以输出针对当前子图中每个用户的中间四元数向量表示和针对当前子图中每个对象的中间四元数向量表示。由上一个第一卷积层所生成的上一轮消息传播的卷积处理结果,将输入至下一个第一卷积层中进行下一轮消息传播。通过每个第二卷积层对于上一轮消息传播的卷积处理结果进行处理,可以实现对于该组子图中用户和对象的向量表示的更新。
在每一轮消息传递过程中,通过每个第二卷积层对向当前第二卷积层输入的子图中每个用户的四元数向量表示和每个对象的四元数向量表示进行更新,从每个第二卷积层输出当前子图中每个用户的每个中间四元数向量表示和当前子图中每个对象的每个中间四元数向量表示。
第二消息传播机制的公式如下:
Figure BDA0003646237020000151
Figure BDA0003646237020000152
其中,
Figure BDA0003646237020000153
Figure BDA0003646237020000154
分别表示经过l层卷积之后得到的某一个子图中用户和对象的中间四元数向量表示,
Figure BDA0003646237020000155
是对称归一化项,
Figure BDA0003646237020000156
Figure BDA0003646237020000157
分别表示用户u所交互的对象集和对象i所交互的用户集。
需要说明的是,对于第一个第二卷积层,输入至该第二卷积层的每个用户和每个对象的四元数向量表示为它们的初始四元数向量表示。对于第一个第二卷积层之后的其他第二卷积层,输入至当前第二卷积层的每个用户和每个对象的四元数向量表示可以是上一个第二卷积层输出的它们的中间四元数向量表示。当当前第二卷积层对应的子图包含在上一个第二卷积层对应的子图所不包含的用户或对象,则向当前第二卷积层输入这些用户和对象的初始四元数向量表示。
此外,在一些结构更复杂的图卷积神经网络中,还可以将第二图卷积神经网络中的其他模型参数,例如偏置,设置为四元数矩阵。第二图卷积神经网络中第二卷积层的个数以及卷积核的尺寸等参数,可以根据需要进行设置,本发明实施例对此不做具体限定。应该理解的是,第二图卷积神经网络用于对不同的增强视图进行表示学习,以实现对于推荐模型的训练,因此,第二图卷积神经网络与第一图卷积神经网络具有基本相同的结构,包括卷积层的个数以及卷积核的尺寸、激活函数的选择等等。
接下来,根据每组子图中每个用户的初始四元数向量表示和中间四元数向量表示,生成每组子图中每个用户的向量表示;根据每组子图中每个对象的初始四元数向量表示和中间四元数向量表示,生成每组子图中每个对象的向量表示。对于每组子图中每个用户和每个对象的向量表示的计算过程,与初始图中每个用户和每个对象的向量表示的计算过程相似,本发明实施例不再赘述。
在另一些实施例中,还可以通过推荐模型在实数空间中对初始图以及每组子图进行处理,初始图以及每组子图中用户和对象的初始向量表示均为在实数空间的向量表示,最终得到用户和对象在实数空间的向量表示。
此外,在另一些实施例中,推荐模型可以只包括一个图卷积神经网络,即不为对比学习单独设置第二图卷积神经网络。在该实施例中,初始图以及每组子图分别输入至只具有一个图卷积神经网络的推荐模型中,分别得到初始图以及每组子图中每个用户和每个对象的向量表示,并根据初始图中多个用户的向量表示和多个对象的向量表示确定损失信息,基于预设的对比学习损失函数结合两组子图中全部用户的向量表示和全部对象的向量表示确定对比学习损失信息,并进一步根据损失信息和对比学习损失信息训练推荐模型。
步骤140,根据所述初始图中所述多个用户的向量表示和所述多个对象的向量表示,确定损失信息。
步骤140进一步包括:根据每个用户对存在交互关系的每个对象的偏好与相应用户对不存在交互关系的每个对象的偏好之间的差异,确定损失信息。
在一些实施例中,可以根据每个用户的向量表示和每个对象的向量表示的内积,确定每个用户对每个对象的偏好分数。两个向量的内积可以反映两个向量之间的相似度。在本发明实施例中,两个向量的内积可以反映某一个用户对于某一个对象的偏好程度。当某一个用户的向量表示与某一个对象的向量表示的内积越大,说明该用户对于该对象的偏好越大,反之,则说明该用户对于某一个对象的偏好越小。
具体地,可以通过以下公式确定用户u对对象i的偏好分数
Figure BDA0003646237020000171
Figure BDA0003646237020000172
其中,
Figure BDA0003646237020000173
Figure BDA0003646237020000174
分别表示用户u的向量表示(实值向量)和对象i的向量表示(实值向量)。
也可以通过以下公式确定用户u对对象i的偏好分数
Figure BDA0003646237020000175
Figure BDA0003646237020000176
其中,
Figure BDA0003646237020000177
Figure BDA0003646237020000178
分别表示用户u的向量表示(四元数向量)和对象i的向量表示(四元数向量)。
接下来,可以根据每个用户对存在交互关系的每个对象的偏好分数与相应用户对不存在交互关系的每个对象的偏好分数之间的差值,确定损失信息。
具体地,可以采用BPR损失确定损失信息,它鼓励观察到的交互比未观察到的交互获得更好的分数。损失函数公式如下:
Figure BDA0003646237020000179
其中,
Figure BDA00036462370200001710
表示用户u所交互的对象集;
Figure BDA00036462370200001711
表示对象i属于用户u所交互的对象集
Figure BDA00036462370200001712
Figure BDA00036462370200001713
表示对象j不属于用户u所交互的对象集
Figure BDA00036462370200001714
Figure BDA00036462370200001715
表示用户u对对象i的偏好分数;
Figure BDA00036462370200001716
表示用户u对对象j的偏好分数;σ是sigmoid函数;λ表示L2正则化权重,防止过拟合;
Figure BDA00036462370200001717
表示模型中所有要训练的参数。
步骤150,基于预设的对比学习损失函数,根据所述两组子图中全部用户的向量表示和全部对象的向量表示,确定对比学习损失信息。
在一些实施例中,步骤150进一步包括:根据所述两组子图中相同用户的向量表示之间的差异和相同对象的向量表示之间的差异,以及所述两组子图中不同用户的向量表示之间的差异和不同对象的向量表示之间的差异,确定对比学习损失信息。
具体地,将两组子图分别表示为Z1和Z2,将初始图中某一个节点n(可以是用户节点或对象节点)在Z1和Z2中的向量表示组合成正对,即(z1,n,z2,n),将初始图中某一个节点n在Z1中的向量表示和初始图中另一个节点m在Z2中的表示组合成负对,即(z1,n,z2,m)。然后采用以下对比损失函数计算对比损失
Figure BDA0003646237020000181
最大化正对的一致性并最小化正负对的一致性:
Figure BDA0003646237020000182
其中,初始图中用户和对象的集合分别表示为
Figure BDA0003646237020000183
Figure BDA0003646237020000184
sim(z1,n,z2,n)用于计算初始图中的节点n在Z1和Z2中的向量表示之间的相似度,sim(z1,n,z2,m)用于计算初始图中节点n在Z1中的向量表示和初始图中节点m在Z2中的向量表示之间的相似度;设两个向量表示分别用a和b表示,则有两个向量表示a和b之间的相似度sim(a,b)=aTb/||a||||b||;τ表示温度系数,为需要微调的超参数。该公式中,第一部分计算的是基于初始图中全部用户节点所计算的对比损失,第二部分计算的是基于初始图中全部对象节点所计算的对比损失。
步骤160,根据所述损失信息和所述对比学习损失信息,训练所述推荐模型。
在一些实施例中,步骤160进一步包括:根据所述损失信息和所述对比学习损失信息之和,确定总损失信息;根据所述总损失信息,训练所述推荐模型。
具体地,根据以下公式确定总损失信息:
Figure BDA0003646237020000191
其中,
Figure BDA0003646237020000192
表示对比损失,
Figure BDA0003646237020000193
表示BPR损失,λCL表示对比损失的系数,为需要微调的超参数。
根据总损失信息,可以对推荐模型中的参数进行调整。在一些实施例中,推荐模型包括第一图卷积神经网络和第二图卷积神经网络,其中,第一图卷积神经网络用于对初始图进行处理,第二图卷积神经网络用于对不同的增强视图进行处理,以提供训练所须的辅助信息。因此,在训练时,同时对第一图卷积神经网络和第二图卷积神经网络进行优化。训练完成后,第一图卷积神经网络和第二图卷积神经网络对于相同的用户和对象可以输出相同的向量表示。
可以对训练过程设置终止条件,当达到终止条件,即可以结束训练过程。终止条件可以是训练达到最大迭代次数,或者训练集的预测准确率达到所设定的阈值。本发明实施例对此不做具体限定。
训练完成的推荐模型可以直接输出针对初始图中每个用户和每个对象的向量表示。根据每个用户的向量表示和每个对象的向量表示,可以确定每个用户对每个对象的偏好程度,最后根据选自于多个用户中的目标用户对多个对象的偏好程度,从多个对象中选取至少一个目标对象向所述目标用户进行推荐。
综上所述,本发明实施例提供的图对比学习的推荐模型训练方法,该方法首先获取包含多个用户和多个对象的初始图,其中,所述初始图用于表示所述多个用户与所述多个对象的交互关系,对所述初始图进行数据增强,生成两组子图,之后将所述初始图和每组子图输入至推荐模型中进行处理,得到所述初始图和每组子图中每个用户的向量表示和每个对象的向量表示,根据所述初始图中所述多个用户的向量表示和所述多个对象的向量表示,确定损失信息,再基于预设的对比学习损失函数,根据所述两组子图中全部用户的向量表示和全部对象的向量表示,确定对比学习损失信息,最后根据所述损失信息和所述对比学习损失信息,训练所述推荐模型。基于该方法,其可以通过对初始图进行数据增强,生成不同的增强视图,通过对比学习从不同的增强视图中提取更多的信息,提升推荐模型对于用户和对象的向量表示的准确性,使推荐模型可以更加准确地挖掘用户对于对象的偏好,进而提高推荐模型向目标用户进行对象推荐的准确性。
图3示出了本发明实施例提供的基于四元数图卷积神经网络的推荐模型的示意图。根据上述实施例所提供的基于图对比学习的推荐模型训练方法,训练得到一个基于四元数图卷积神经网络的推荐模型。基于该推荐模型,可以根据推荐模型实现对于目标用户的对象推荐。
图3提供了初始图中4个用户u1~u4和5个物品i1~i5之间的交互关系。将用户和物品的集合表示为
Figure BDA0003646237020000201
Figure BDA0003646237020000202
用户和物品的数量分别为M和N。构建用户-物品交互矩阵
Figure BDA0003646237020000203
其中Rui=1表示用户u曾经与物品i交互过。
Figure BDA0003646237020000204
Figure BDA0003646237020000205
分别表示用户u所交互的物品集和物品i所交互的用户集。基于用户-物品交互矩阵构建邻接矩阵
Figure BDA0003646237020000206
邻接矩阵可以表示图3中用户u1~u4和5个物品i1~i5之间的交互关系。
将初始图中所有用户和物品嵌入到四元数空间中,对于用户集合
Figure BDA0003646237020000207
中的用户u,将其用初始四元数向量表示为:
Figure BDA0003646237020000208
其中d表示四元数的维度。与用户的初始四元数向量表示相同,每个项目
Figure BDA0003646237020000209
都使用初始四元数向量表示
Figure BDA00036462370200002010
用户和物品的初始四元数向量表示可以定义如下:
Figure BDA00036462370200002011
其中,
Figure BDA00036462370200002012
Figure BDA00036462370200002013
M和N分别表示用户和物品的数量。
接下来,在每层引入四元数空间中的特征变换,用于消息传播,以聚合更多有用的信息。四元数嵌入消息传播规则如下:
Figure BDA0003646237020000211
Figure BDA0003646237020000212
其中,
Figure BDA0003646237020000213
Figure BDA0003646237020000214
分别表示经过l层卷积之后得到的用户u和物品i的中间四元数向量表示,
Figure BDA0003646237020000215
是对称归一化项,
Figure BDA0003646237020000216
Figure BDA0003646237020000217
分别表示用户u所交互的物品集和物品i所交互的用户集,
Figure BDA0003646237020000218
是第l层上的四元数权重矩阵。
图3中,第一图卷积神经网络包括3个卷积层。以图3中用户u1和物品i4为例,其与物品i1、i2、i3存在交互关系,物品i4与用户u2、u3存在交互关系。针对用户u1,在第1次消息传播过程中,分别计算相应卷积层权重矩阵与物品i1、i2、i3的初始四元数向量表示之间的哈密顿乘积,再将三个乘积相加,得到第1个卷积层输出的用户u1的中间四元数向量表示
Figure BDA0003646237020000219
针对物品i4,在第1次消息传播过程中,分别计算相应卷积层权重矩阵与用户u2、u3的初始四元数向量表示之间的哈密顿乘积,再将三个乘积相加,得到第1个卷积层输出的物品i4的中间四元数向量表示
Figure BDA00036462370200002110
之后,上述消息传播规则,继续在第2个卷积层和第3个卷积层上进行计算,分别得到第2个卷积层输出的用户u1的中间四元数向量表示
Figure BDA00036462370200002111
和物品i4的中间四元数向量表示
Figure BDA00036462370200002112
第3个卷积层输出的用户u1的中间四元数向量表示
Figure BDA00036462370200002113
和物品i4的中间四元数向量表示
Figure BDA00036462370200002114
设卷积层的个数为L,在经过L层的卷积操作之后,对于任一用户u,可以得到L+1个四元数向量表示,包括初始四元数向量表示
Figure BDA00036462370200002115
和在消息传播过程中卷积层输出的中间四元数向量表示
Figure BDA00036462370200002116
相应地,对于任一对象i,可以得到L+1个四元数向量表示,包括初始四元数向量表示
Figure BDA00036462370200002117
和在消息传播过程中卷积层输出的中间四元数向量表示
Figure BDA00036462370200002118
通过以下公式确定初始图中每个用户u最终的四元数向量表示
Figure BDA00036462370200002119
以及每个对象i的最终的四元数向量表示
Figure BDA00036462370200002120
Figure BDA00036462370200002121
Figure BDA0003646237020000221
其中,
Figure BDA0003646237020000222
表示用户u的第k个四元数向量表示,其中,当k取值为0,
Figure BDA0003646237020000223
为初始四元数向量表示,当l取值为1~L,
Figure BDA0003646237020000224
对应于第1~L个第一卷积层所输出的中间四元数向量表示;
Figure BDA0003646237020000225
表示对象i的第k个四元数向量表示,其中,当k取值为0,
Figure BDA0003646237020000226
为初始四元数向量表示,当l取值为1~L,
Figure BDA0003646237020000227
对应于第1~L个第一卷积层所输出的中间四元数向量表示。
仍然以图3中用户u1和物品i4为例,对用户u1的4个四元数向量表示
Figure BDA0003646237020000228
Figure BDA0003646237020000229
进行平均池化,得到用户u1的向量表示
Figure BDA00036462370200002210
对物品i4的4个向量表示
Figure BDA00036462370200002211
进行平均池化,得到物品i4的向量表示
Figure BDA00036462370200002212
Figure BDA00036462370200002213
Figure BDA00036462370200002214
来表示用户u的向量表示和物品i的向量表示,通过内积来得到用户u对物品i的偏好分数
Figure BDA00036462370200002215
Figure BDA00036462370200002216
即可以通过上述公式计算出用户u1对物品i1~i5的偏好分数,最后选择用户u1对物品i1~i5的偏好分数中分数最高的物品推荐给用户u1
以下提供一个具体的实施场景,以进一步说明本发明实施例提供的基于图对比学习的推荐模型训练方法训练得到的推荐模型的推荐性能。
为了评估我们模型性能,我们在广泛使用的三个用于推荐的数据集上进行实验。数据集分别为Yelp2018、Amazon-Book以及Amazon-Kindle-Store,数据集详细数据如表1所示。
表1
Dataset Users Items Interactions Density
Yelp2018 31668 38048 1561406 0.00130
Amazon-Book 52643 91599 2984108 0.00062
Kindle-Store 68223 61934 982618 0.00023
本实施例采用与上一实施例相同的方法向目标用户进行对象的推荐。对于相同的步骤,本实施例中不再赘述。本实施例中图卷积神经网络的具体结构可以根据所使用的数据集进行设置,针对Yelp2018、Amazon-Book、Kindle-Store三个数据集,图卷积神经网卷积层的层数均设定为3层,生成增强视图的方式分别为边丢弃和随机游走的组合,边丢弃和随机游走的组合以及边丢弃和节点丢弃的组合。
采用两个指标评估模型性能,分别是Recall@20和NDCG@20,并且选用最新的协同过滤推荐模型作为对比模型。具体的推荐性能如表2所示。
表2对比模型以及本发明实施例所提供的推荐模型的推荐性能
Figure BDA0003646237020000231
表2本发明实施例所提供的基于图对比学习的推荐模型简称为QGCL,其他模型作为对比模型,最后一行为本发明实施例所提供的推荐模型相比于SGL的推荐性能的提升百分比。在上述对比模型中,SGL为图自监督学习的推荐模型。根据表2可知,本发明实施例所提供的推荐模型的推荐性能相比于各对比模型,在三种数据集中的推荐性能均存在大幅度的提升;与SGL相比,本发明实施例所提供的推荐模型的推荐性能也存在显著提升。
综上所述,本发明实施例提供的基于图对比学习的推荐模型训练方法可以通过对初始图进行数据增强,生成不同的增强视图,通过对比学习从不同的增强视图中提取更多的信息,提升推荐模型对于用户和对象的向量表示的准确性,使推荐模型可以更加准确地挖掘用户对于对象的偏好,进而提高推荐模型向目标用户进行对象推荐的准确性。
图4示出了本发明实施例提供的基于图对比学习的推荐模型训练装置的结构示意图。如图4所示,该基于图对比学习的推荐模型训练装置,包括:数据获取模块410,用于获取包含多个用户和多个对象的初始图;其中,所述初始图用于表示所述多个用户与所述多个对象的交互关系;子图生成模块420,用于对所述初始图进行数据增强,生成两组子图;向量表示生成模块430,用于将所述初始图和每组子图输入至推荐模型中进行处理,得到所述初始图和每组子图中每个用户的向量表示和每个对象的向量表示;损失信息确定模块440,用于根据所述初始图中所述多个用户的向量表示和所述多个对象的向量表示,确定损失信息;对比学习损失信息确定模块450,用于基于预设的对比学习损失函数,根据所述两组子图中全部用户的向量表示和全部对象的向量表示,确定对比学习损失信息;推荐模型训练模块460,用于根据所述损失信息和所述对比学习损失信息,训练所述推荐模型。
在一些实施例中,所述子图生成模块,具体用于:
对于所述两组子图或所述两组子图中的任一组子图,基于边丢弃和/或节点丢弃对所述初始图进行数据增强,生成由一个子图构成的一组子图。
在一些实施例中,所述推荐模型包括图卷积神经网络;所述子图生成模块,具体用于:
对于所述两组子图或所述两组子图中的任一组子图,基于随机游走或随机游走与边丢弃的组合或随机游走与节点丢弃的组合,对所述初始图进行数据增强,生成由多个子图构成的一组子图;
所述向量表示生成模块,具体用于:
将由多个子图构成的一组子图输入至所述图卷积神经网络中,通过所述图卷积神经网络中的每个卷积层处理相应组子图中的每个子图,得到每组子图中每个用户的向量表示和每个对象的向量表示。
在一些实施例中,所述推荐模型包括第一图卷积神经网络和第二图卷积神经网络,其中,所述第一图卷积神经网络包括至少一个第一卷积层,所述第一卷积层具有权重矩阵,所述第二图卷积神经网络包括至少一个第二卷积层,所述第二卷积层不具有权重矩阵;
所述向量表示生成模块,包括:
第一向量表示生成单元,用于将所述初始图输入至所述第一图卷积神经网络中,基于第一消息传播机制,通过所述至少一个第一卷积层的至少一个权重矩阵对所述初始图中每个用户的向量表示和所述每个对象的向量表示进行更新,更新完成后,得到所述初始图中每个用户的向量表示和每个对象的向量表示;
第二向量表示生成单元,用于将每组子图输入至所述第二图卷积神经网络中,基于第二消息传播机制,通过所述至少一个第二卷积层对每组子图中每个用户的向量表示和每个对象的向量表示进行更新,更新完成后,得到每组子图中每个用户的向量表示和每个对象的向量表示。
在一些实施例中,所述损失信息确定模块,具体用于:
根据每个用户对存在交互关系的每个对象的偏好与相应用户对不存在交互关系的每个对象的偏好之间的差异,确定损失信息。
在一些实施例中,所述对比学习损失信息确定模块,具体用于:
根据所述两组子图中相同用户的向量表示之间的差异和相同对象的向量表示之间的差异,以及所述两组子图中不同用户的向量表示之间的差异和不同对象的向量表示之间的差异,确定对比学习损失信息。
在一些实施例中,所述推荐模型训练模块,包括:
总损失信息确定单元,用于根据所述损失信息和所述对比学习损失信息之和,确定总损失信息;
推荐模型训练单元,用于根据所述总损失信息,训练所述推荐模型。
在一些实施例中,所述装置包括:
初始四元数向量表示确定模块,用于确定所述初始图中每个用户的初始四元数向量表示和每个对象的初始四元数向量表示;
所述向量表示生成模块,具体用于:
将所述初始图,所述初始图中每个用户的初始四元数向量表示和每个对象的初始四元数向量表示,所述两组子图以及每组子图中每个用户的初始四元数向量表示和每个对象的初始四元数向量表示输入至推荐模型中在四元数空间进行处理,得到所述初始图和每组子图中每个用户的向量表示和每个对象的向量表示。
图5示出了本发明实施例的电子设备。如图5所示,电子设备500包括:至少一个处理器510,以及与至少一个处理器510通信连接的存储器520,其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器执行的方法。
具体地,上述存储器520和处理器510经由总线530连接在一起,能够为通用的存储器和处理器,这里不做具体限定,当处理器510运行存储器520存储的计算机程序时,能够执行本发明实施例中结合图1至图3所描述的各项操作和功能。
在本发明实施例中,电子设备500可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、个人数字助理(PDA)、手持装置、消息收发设备、可佩带计算设备等等。
本发明实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时,实现的方法。具体实现可参见方法实施例,在此不再赘述。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该存储介质中的指令。从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的存储介质构成了本发明的一部分。
存储介质包括但不限于软盘、硬盘、磁光盘、光盘、磁带、非易失性存储卡和ROM。还可以通过通信网络从服务器计算机上或者云上下载程序代码。
需要说明的是,上述各流程和各系统结构中,不是所有的步骤和模块都是必须的,可以根据实际需要忽略某些步骤和单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中的描述的装置结构可以是物理结构,也可以是逻辑结构。某个模块或单元可能由同一物理实体实现,某个模块或单元可能由多个物理实体分别实现,某个模块或单元还可以由多个独立设备中的多个部件共同实现。
尽管本发明实施例的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用。它完全可以被适用于各种适合本发明实施例的领域。对于熟悉本领域的人员而言,可容易地实现另外的修改。因此在不背离权利要求及等同范围所限定的一般概念下,本发明实施例并不限于特定的细节和这里示出与描述的图例。

Claims (11)

1.一种基于图对比学习的推荐模型训练方法,其特征在于,包括:
获取包含多个用户和多个对象的初始图;其中,所述初始图用于表示所述多个用户与所述多个对象的交互关系;
对所述初始图进行数据增强,生成两组子图;
将所述初始图和每组子图输入至推荐模型中进行处理,得到所述初始图和每组子图中每个用户的向量表示和每个对象的向量表示;
根据所述初始图中所述多个用户的向量表示和所述多个对象的向量表示,确定损失信息;
基于预设的对比学习损失函数,根据所述两组子图中全部用户的向量表示和全部对象的向量表示,确定对比学习损失信息;
根据所述损失信息和所述对比学习损失信息,训练所述推荐模型。
2.如权利要求1所述的基于图对比学习的推荐模型训练方法,其特征在于,所述对所述初始图进行数据增强,生成两组子图,包括:
对于所述两组子图或所述两组子图中的任一组子图,基于边丢弃和/或节点丢弃对所述初始图进行数据增强,生成由一个子图构成的一组子图。
3.如权利要求1所述的基于图对比学习的推荐模型训练方法,其特征在于,所述推荐模型包括图卷积神经网络;所述对所述初始图进行数据增强,生成两组子图,包括:
对于所述两组子图或所述两组子图中的任一组子图,基于随机游走或随机游走与边丢弃的组合或随机游走与节点丢弃的组合,对所述初始图进行数据增强,生成由多个子图构成的一组子图;
所述将所述两组子图输入至所推荐模型中进行处理,得到每组子图中每个用户的向量表示和每个对象的向量表示,包括:
将由多个子图构成的一组子图输入至所述图卷积神经网络中,通过所述图卷积神经网络中的每个卷积层处理相应组子图中的每个子图,得到每组子图中每个用户的向量表示和每个对象的向量表示。
4.如权利要求1所述的基于图对比学习的推荐模型训练方法,其特征在于,所述推荐模型包括第一图卷积神经网络和第二图卷积神经网络,其中,所述第一图卷积神经网络包括至少一个第一卷积层,所述第一卷积层具有权重矩阵,所述第二图卷积神经网络包括至少一个第二卷积层,所述第二卷积层不具有权重矩阵;
将所述初始图和所述两组子图输入至推荐模型中进行处理,得到所述初始图和每组子图中每个用户的向量表示和每个对象的向量表示,包括:
将所述初始图输入至所述第一图卷积神经网络中,基于第一消息传播机制,通过所述至少一个第一卷积层的至少一个权重矩阵对所述初始图中每个用户的向量表示和所述每个对象的向量表示进行更新,更新完成后,得到所述初始图中每个用户的向量表示和每个对象的向量表示;
将每组子图输入至所述第二图卷积神经网络中,基于第二消息传播机制,通过所述至少一个第二卷积层对每组子图中每个用户的向量表示和每个对象的向量表示进行更新,更新完成后,得到每组子图中每个用户的向量表示和每个对象的向量表示。
5.如权利要求1所述的基于图对比学习的推荐模型训练方法,其特征在于,所述根据所述初始图中所述多个用户的向量表示和所述多个对象的向量表示,确定损失信息,包括:
根据每个用户对存在交互关系的每个对象的偏好与相应用户对不存在交互关系的每个对象的偏好之间的差异,确定损失信息。
6.如权利要求1所述的基于图对比学习的推荐模型训练方法,其特征在于,所述基于预设的对比学习损失函数,根据所述两组子图中全部用户的向量表示和全部对象的向量表示,确定对比学习损失信息,包括:
根据所述两组子图中相同用户的向量表示之间的差异和相同对象的向量表示之间的差异,以及所述两组子图中不同用户的向量表示之间的差异和不同对象的向量表示之间的差异,确定对比学习损失信息。
7.如权利要求1所述的基于图对比学习的推荐模型训练方法,其特征在于,所述根据所述损失信息和所述对比学习损失信息,训练所述推荐模型,包括:
根据所述损失信息和所述对比学习损失信息之和,确定总损失信息;
根据所述总损失信息,训练所述推荐模型。
8.如权利要求1所述的基于图对比学习的推荐模型训练方法,其特征在于,在所述对所述初始图进行数据增强,生成两组子图之前,所述方法包括:
确定所述初始图中每个用户的初始四元数向量表示和每个对象的初始四元数向量表示;
所述将所述初始图和所述两组子图输入至推荐模型中进行处理,得到所述初始图和每组子图中每个用户的向量表示和每个对象的向量表示,包括:
将所述初始图,所述初始图中每个用户的初始四元数向量表示和每个对象的初始四元数向量表示,所述两组子图以及每组子图中每个用户的初始四元数向量表示和每个对象的初始四元数向量表示输入至推荐模型中在四元数空间进行处理,得到所述初始图和每组子图中每个用户的向量表示和每个对象的向量表示。
9.一种基于图对比学习的推荐模型训练装置,其特征在于,包括:
数据获取模块,用于获取包含多个用户和多个对象的初始图;其中,所述初始图用于表示所述多个用户与所述多个对象的交互关系;
子图生成模块,用于对所述初始图进行数据增强,生成两组子图;
向量表示生成模块,用于将所述初始图和每组子图输入至推荐模型中进行处理,得到所述初始图和每组子图中每个用户的向量表示和每个对象的向量表示;
损失信息确定模块,用于根据所述初始图中所述多个用户的向量表示和所述多个对象的向量表示,确定损失信息;
对比学习损失信息确定模块,用于基于预设的对比学习损失函数,根据所述两组子图中全部用户的向量表示和全部对象的向量表示,确定对比学习损失信息;
推荐模型训练模块,用于根据所述损失信息和所述对比学习损失信息,训练所述推荐模型。
10.一种电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-8中任一项所述的方法。
11.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现权利要求1-8中任一项所述的方法。
CN202210530432.8A 2022-05-11 2022-05-16 基于图对比学习的推荐模型训练方法和装置 Pending CN115659059A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202210510866 2022-05-11
CN2022105108661 2022-05-11
CN202210520363 2022-05-13
CN2022105203632 2022-05-13

Publications (1)

Publication Number Publication Date
CN115659059A true CN115659059A (zh) 2023-01-31

Family

ID=85024179

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210530432.8A Pending CN115659059A (zh) 2022-05-11 2022-05-16 基于图对比学习的推荐模型训练方法和装置

Country Status (1)

Country Link
CN (1) CN115659059A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116167828A (zh) * 2023-04-25 2023-05-26 江苏亿友慧云软件股份有限公司 一种基于图协同和对比学习的物品推荐方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116167828A (zh) * 2023-04-25 2023-05-26 江苏亿友慧云软件股份有限公司 一种基于图协同和对比学习的物品推荐方法

Similar Documents

Publication Publication Date Title
US20210248651A1 (en) Recommendation model training method, recommendation method, apparatus, and computer-readable medium
US20210256403A1 (en) Recommendation method and apparatus
Kim et al. TWILITE: A recommendation system for Twitter using a probabilistic model based on latent Dirichlet allocation
Liu et al. Incdet: In defense of elastic weight consolidation for incremental object detection
Paquet et al. One-class collaborative filtering with random graphs
Gao et al. Self-paced network embedding
WO2023065859A1 (zh) 物品推荐方法、装置及存储介质
US11640634B2 (en) Deep learning based visual compatibility prediction for bundle recommendations
Xu et al. Graphcar: Content-aware multimedia recommendation with graph autoencoder
CN112085615B (zh) 图神经网络的训练方法及装置
CN112380453B (zh) 物品推荐方法、装置、存储介质及设备
CN114036406A (zh) 一种基于图对比学习和社交网络增强的推荐方法及系统
CN113468227A (zh) 基于图神经网络的信息推荐方法、系统、设备和存储介质
CN111400615B (zh) 一种资源推荐方法、装置、设备及存储介质
CN113255798A (zh) 一种分类模型训练方法、装置、设备及介质
CN114417161B (zh) 基于异构图的虚拟物品时序推荐方法、装置、介质及设备
CN114155388B (zh) 一种图像识别方法、装置、计算机设备和存储介质
CN110008348B (zh) 结合节点和边进行网络图嵌入的方法和装置
CN115659059A (zh) 基于图对比学习的推荐模型训练方法和装置
CN114493674A (zh) 一种广告点击率预测模型及方法
CN115544379A (zh) 基于四元数图卷积神经网络的推荐方法和装置
CN112559640A (zh) 图谱表征系统的训练方法及装置
CN109886299B (zh) 一种用户画像方法、装置、可读存储介质及终端设备
CN116662678A (zh) 一种采用异构图神经网络的社交兴趣嵌入方法
CN115169433A (zh) 基于元学习的知识图谱分类方法及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination