CN115867919A - 用于推荐系统的图结构感知增量学习 - Google Patents
用于推荐系统的图结构感知增量学习 Download PDFInfo
- Publication number
- CN115867919A CN115867919A CN202080103130.1A CN202080103130A CN115867919A CN 115867919 A CN115867919 A CN 115867919A CN 202080103130 A CN202080103130 A CN 202080103130A CN 115867919 A CN115867919 A CN 115867919A
- Authority
- CN
- China
- Prior art keywords
- user
- graph
- node
- existing
- nodes
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 75
- 238000012549 training Methods 0.000 claims abstract description 57
- 238000013528 artificial neural network Methods 0.000 claims abstract description 12
- 238000004821 distillation Methods 0.000 claims description 63
- 230000008569 process Effects 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 36
- 230000006870 function Effects 0.000 claims description 25
- 230000015654 memory Effects 0.000 claims description 16
- 238000009826 distribution Methods 0.000 claims description 13
- 238000013140 knowledge distillation Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 230000003993 interaction Effects 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 12
- 239000013598 vector Substances 0.000 description 8
- 238000003860 storage Methods 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000009966 trimming Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009830 intercalation Methods 0.000 description 1
- 230000002687 intercalation Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 206010027175 memory impairment Diseases 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了一种用于训练推荐系统(recommender system,RS)的系统和方法。所述RS用于针对二分图做出推荐,所述二分图包括多个用户节点、多个项目节点和定义将所述用户节点中的至少一些连接到所述项目节点中的一些的边的观察图拓扑,所述RS包括由现有参数集配置的现有图神经网络(graph neural network,GNN)模型。所述方法包括:应用损失函数计算更新的GNN模型的更新参数集,所述更新的GNN模型是使用第一参数集作为初始化参数、用新图训练的,所述损失函数用于基于所述现有GNN模型针对现有图生成的节点嵌入来蒸馏知识,其中,所述新图包括在所述现有图中也包括的多个用户节点和多个项目节点;用所述更新的GNN模型替换所述RS的所述现有GNN模型。
Description
技术领域
本发明大体上涉及使用机器学习技术处理基于图的数据,尤其是在推荐系统的上下文中。
背景技术
信息过滤系统是一种从提供给人类用户的信息流中删除冗余或不需要的信息,以管理信息过载的系统。推荐系统(recommender system,RS)是信息过滤系统的一个子类,它尝试预测用户对项目的评级或偏好。RS通常用于商业应用程序,以引导用户在越来越多的在线信息中找到他们真正感兴趣的内容。
个性化RS在许多在线服务中发挥着重要作用。准确的个性化RS可以使用户以及内容发布者和平台提供商受益。RS用于各种商业领域,为用户提供个性化推荐,包括例如:为流媒体和下载内容提供商平台提供视频或音乐建议;为在线零售商平台提供产品建议;为应用程序商店平台提供应用程序建议;为社交媒体平台提供内容建议;为移动新闻应用程序或在线新闻网站建议新闻文章。
图是将现实世界的对象、事物或人表示为数据点(例如,节点),并将节点之间的关系表示为图拓扑(也称为图结构)的数据结构。图可以是分析复杂的现实生活应用的有用数据结构,例如建模物理系统、学习分子指纹、控制交通网络以及在社交网络中推荐朋友。图神经网络(graphical neural network,GNN)可以用于将节点特征和图结构结合起来,通过特征传播和聚合生成关于图的信息。
在RS中,存在各种关系,例如社交网络(用户-用户图)、商品相似性(项目-项目图)和用户-项目交互(可以建模为用户-项目二分图)。GNN的新兴技术已被证明在表示学习和推荐任务方面功能强大。基于GNN的RS集成节点特征和图结构以生成用户和项目的表示,然后使用这些表示来做出推荐。
典型的基于GNN的RS将用户-项目交互历史建模为二分图,并将每个用户和项目表示为图中的相应节点。每个用户节点的嵌入是通过在其局部邻域中迭代地组合用户节点的嵌入与项目节点的嵌入来生成的,而每个项目节点的嵌入是通过在其局部邻域中迭代地组合项目节点本身的嵌入与用户节点的嵌入来生成的。大多数现有方法将此过程分为两个步骤:
(1)邻域聚合,其中,聚合函数对特征向量集合操作,以生成聚合的邻域向量,该聚合的邻域向量是邻居的聚合节点嵌入;
(2)中心-邻居组合,将聚合的邻域向量(例如邻居的聚合节点嵌入)与中心用户/项目节点嵌入组合起来。
基于GNN的RS通过将节点表示为其周围邻域的函数,以卷积方式在基于用户和项目的关系构建的图上生成用户和项目嵌入。在二分图设置中,这表示用户节点的嵌入是使用其自己的嵌入和用户节点连接到的项目节点的嵌入(其中,连接表示底层用户和项目之间的先前交互)生成的,类似地,项目节点的嵌入是使用其自己的嵌入和项目节点连接到的用户节点的嵌入(其中,连接表示底层项目和用户之间的先前交互)生成的。
目前基于GNN的RS的一个问题在于,训练模型需要很长的时间。这对RS来说尤其是一个问题,因为需要为用户提供最新的推荐。要训练RS并将其部署到在线服务,通常涉及三个步骤,即数据采集、使用采集的数据训练RS模型,以及将训练后的模型部署(即模型部署)到在线服务以进行推理(即用于进行预测)。随着用户的偏好和项目的流行度在现实世界中不断变化,需要最大限度地减少数据采集与模型部署之间的时间差,以便使用最新的数据训练部署的模型,从而反映最新的用户偏好和项目的流行度,并能够提供最新的推荐。
因此,需要能够减少更新基于GNN的RS所需的时间的方案,使得基于GNN的RS能够以更频繁的方式更新。
发明内容
根据第一示例性方面,提供了一种用于训练推荐系统(recommender system,RS)的方法。所述RS用于针对二分图做出推荐,所述二分图包括多个用户节点、多个项目节点和定义将所述用户节点中的至少一些连接到所述项目节点中的一些的边的观察图拓扑,所述RS包括由现有参数集配置的现有图神经网络(graph neural network,GNN)模型。所述方法包括:应用损失函数计算更新的GNN模型的更新参数集,所述更新的GNN模型是使用第一参数集作为初始化参数、用新图训练的,所述损失函数用于基于所述现有GNN模型针对现有图生成的节点嵌入来蒸馏知识,其中,所述新图包括在所述现有图中也包括的多个用户节点和多个项目节点;用所述更新的GNN模型替换所述RS的所述现有GNN模型。
在至少一些应用中,本文公开的系统和方法可以使得GNN模型能够基于新的图数据增量更新,而不需要在交互式训练过程的前向传播阶段使用所有现有图数据,同时支持来自现有图数据的知识被蒸馏到更新的GNN模型中。除其它外,本文公开的系统和方法可以缓解更新的GNN模型的灾难性遗忘,同时显著减少基于所有可用数据的完整模型再训练可能需要的计算资源(例如,处理能力、内存和功耗)。
根据上述方面中的一个或多个方面,所述损失函数作为迭代训练过程的一部分应用,在所述迭代训练过程中,生成更新参数的临时集用于训练所述更新的GNN模型,其中,在所述训练过程中,所述更新的GNN模型通过每个更新参数的临时集配置,以针对所述新图生成临时节点嵌入。
根据上述方面中的一个或多个方面,所述损失函数包括局部结构蒸馏分量,所述局部结构蒸馏分量用于在所述迭代训练过程期间,为所述现有图和所述新图中都包括的至少一些项目节点和用户节点蒸馏所述现有图的局部图结构。
根据上述方面中的一个或多个方面,所述方法包括通过以下方式确定所述局部结构蒸馏分量:(A)对于在所述现有图和所述新图中都包括的所述用户节点中的所述至少一些的每个用户节点:为所述用户节点确定所述现有图中的项目节点的局部邻域集;基于所述现有GNN模型为所述邻域集中的所述项目节点生成的嵌入的平均值,确定所述用户节点的现有平均局部邻域用户节点嵌入;基于所述更新的GNN模型为所述邻域集中的所述项目节点生成的嵌入的平均值,确定所述用户节点的新平均局部邻域用户节点嵌入;确定第一用户值,所述第一用户值是以下各项的点积:(i)所述现有GNN模型为所述用户节点生成的嵌入和(ii)所述用户节点的所述现有平均局部邻域用户节点嵌入;确定第二用户值,所述第二用户值是以下各项的点积:(i)所述更新的GNN模型为所述用户节点生成的嵌入和(ii)所述用户节点的所述新平均局部邻域用户节点嵌入;确定所述第一用户值与所述用户第二值之间的用户节点差值;确定用户节点平均距离值,所述用户节点平均距离值是针对所述用户节点中的所述至少一些确定的所述用户节点差值的平均值;(B)对于在所述现有图和所述新图中都包括的所述项目节点中的所述至少一些的每个项目节点:为所述项目节点确定所述现有图中的用户节点的局部邻域集;基于所述现有GNN模型为所述邻域集中的所述用户节点生成的嵌入的平均值,确定所述项目节点的现有平均局部邻域项目节点嵌入;基于所述更新的GNN模型为所述邻域集中的所述用户节点生成的嵌入的平均值,确定所述项目节点的新平均局部邻域项目节点嵌入;确定第一项目值,所述第一项目值是以下各项的点积:(i)所述现有GNN模型为所述项目节点生成的嵌入和(ii)所述项目节点的所述现有平均局部邻域项目节点嵌入;确定第二项目值,所述第二项目值是以下各项的点积:(i)所述更新的GNN模型为所述项目节点生成的嵌入和(ii)所述项目节点的所述新平均局部邻域用户节点嵌入;确定所述第一项目值与所述第二项目值之间的项目节点差值;确定项目节点平均距离值,所述项目节点平均距离值是针对所述用户节点中的所述至少一些确定的所述用户节点差值的平均值。所述局部结构蒸馏分量是基于所述用户节点平均距离和所述项目节点平均距离的总和。
根据上述方面中的一个或多个方面,所述局部结构蒸馏分量包括局部蒸馏超参数与所述用户节点平均距离和所述项目节点平均距离的总和的乘积,所述局部蒸馏超参数用于控制所述局部图结构蒸馏的幅度。
根据上述方面中的一个或多个方面,所述损失函数包括全局结构蒸馏分量,所述全局结构蒸馏分量用于在所述迭代训练过程期间,为所述现有图和所述新图中都包括的至少一些项目节点和用户节点蒸馏所述现有图的全局图结构。
根据上述方面中的一个或多个方面,所述方法包括通过以下方式确定所述全局结构蒸馏分量:基于所述现有GNN模型和所述更新的GNN模型生成的节点嵌入,针对所述至少一些用户节点和项目节点中的每一个,确定所述现有图与所述新图之间的结构相似性;基于所述确定的结构相似性,确定所述现有图和所述新图的全局结构分布;其中,所述全局结构蒸馏分量是基于所述现有图和所述新图的所述全局结构分布之间的Kullback-Leibler(KL)散度。
根据上述方面中的一个或多个方面,所述全局结构蒸馏分量是基于用于控制所述全局图结构蒸馏的幅度的全局蒸馏超参数。
根据上述方面中的一个或多个方面,所述损失函数包括自嵌入蒸馏分量,所述自嵌入蒸馏分量用于在所述迭代训练过程期间,为所述现有图和所述新图中都包括的至少一些项目节点和用户节点保留来自所述现有图的知识。
根据上述方面中的一个或多个方面,所述损失函数包括贝叶斯个性化排序(Bayesian personalized ranking,BPR)损失分量。
根据另一示例性方面,一种用于实现推荐系统(recommender system,RS)的处理系统,所述RS用于针对二分图提出建议,所述二分图包括多个用户节点、多个项目节点和定义将所述用户节点中的至少一些连接到所述项目节点中的一些的边的观察图拓扑,所述RS包括由现有参数集配置的现有图神经网络(graph neural network,GNN)模型。所述处理系统包括处理设备和耦合到所述处理设备并存储可执行指令的非易失性存储器,当所述处理设备执行所述可执行指令时,所述可执行指令配置所述处理系统执行上述方面中的一个或多个方面所述的方法。
根据另一示例性方面,一种非易失性计算机可读存储器,存储用于实现推荐系统(recommender system,RS)的可执行指令,所述RS用于针对二分图做出推荐,所述二分图包括多个用户节点、多个项目节点和定义将所述用户节点中的至少一些连接到所述项目节点中的一些的边的观察图拓扑,所述RS包括由现有参数集配置的现有图神经网络(graphneural network,GNN)模型。所述可执行指令包括用于配置处理系统执行上述方面中的一个或多个方面所述的方法的指令。
附图说明
现在将通过示例参考示出本申请的示例性实施例的附图,其中:
图1是二分图的示例的框图;
图2是示例性实施例提供的用于训练图神经网络(graph neural network,GNN)模型以处理图结构化数据的过程的流程图;
图3是示例性实施例提供的推荐系统(recommender system,RS)的框图;
图4是示例性实施例提供的GNN模型的增量训练的框图;
图5是用于训练图4的GNN模型的知识蒸馏过程的流程图;
图6是全局结构蒸馏过程的图形表示;
图7是可用于执行机器可读指令以实现图3的系统的示例性处理系统的框图。
在不同的附图中可以使用相似的附图标记来表示相似的组件。
具体实施方式
根据示例性实施例,公开了一种结合基于GNN的推荐系统(recommender system,RS)的图处理系统,以及用于训练基于GNN的RS的方法。
在示例性实施例中,联合应用增量学习和知识蒸馏以确保基于GNN的RS保持最新,并基于最近的数据做出推荐。
增量学习是机器学习的一种方法,在这种方法中,输入数据被连续地用于扩展现有模型的知识,即进一步训练模型。它代表了一种动态技术,当训练数据随着时间的推移逐渐可用时,可以应用该技术。例如,在RS场景中,训练数据通过在线服务持续采集,所述在线服务如用户从电子商务平台的购买历史或从在线音乐/电影流媒体服务收听/观看的历史。
增量训练模型的一种已知方法是仅使用新数据微调现有模型。具体地,这涉及获取训练后的神经网络的参数(例如权重),并将这些参数用作在来自同一域的新数据上训练的新模型的初始化参数。但是,这种类型的微调增量训练可能会导致模型遭受灾难性遗忘,使得模型开始过拟合新数据,并忘记旧知识。
知识蒸馏(knowledge distillation,KD)是将知识从一个大模型(也称为教师模型)转移到一个小模型(也称为学生模型)的过程。虽然大模型(例如非常深度的神经网络或许多模型的集合)比小模型具有更高的知识容量,但这种容量可能无法得到充分利用。KD将知识从大模型转移到小模型,而不会损失有效性。由于较小的模型评估成本较低,传统上,KD用于压缩模型,以便将这些模型部署在功能不算强大的硬件上,例如智能手机。
根据所公开的实施例,KD应用于非传统应用中。具体地,在示例性实施例中,KD被应用于在执行增量学习时抑制灾难性遗忘。在示例性实施例中,现有的GNN模型用作KD教师模型,并且被更新的模型视为KD学生模型。在至少某些应用中,这可以使基于新数据更新的模型仍然保留旧知识。
下文公开的基于KD的增量学习方法和系统在某些应用中可以使GNN模型能够在从新数据学习的同时保留旧知识。在RS场景中,“旧知识”可以分别类比为用户和项目的长期偏好和流行度的记忆,而新数据可以分别用于学习用户和项目的新短期偏好和流行度。
如下文将详细描述的,示例性实施例涉及用于训练基于GNN的RS的方法和系统,以便:(1)防止微调期间生成的节点嵌入的快速变化;(2)微调期间生成的节点嵌入有效地记忆每个节点的局部图结构;(3)节点嵌入也有效地记忆全局图结构。因此,示例性实施例涉及基于GNN的RS,该基于GNN的RS可以使用新数据和知识蒸馏来微调,所述知识蒸馏蒸馏图的局部和全局结构信息以及图中每个节点的自嵌入。
如上所述,图是一种数据结构,它包括一组节点和表示节点之间连接的关联图拓扑。每个节点是由表示为节点特征集合(例如,多维特征向量)的测量数据定义的数据点。图拓扑定义了节点之间的一组连接(也称为边)。每个边表示连接两个节点的关系。二分图是一种图结构形式,其中,每个节点属于两种不同节点类型中的一种,直接关系(例如,1跳邻居)仅存在于不同类型的节点之间。图1示出了观察二分图101的样本的简化表示,该观察二分图101包括两种类型的节点,即用户节点uA至uF(统称为用户节点集U)和项目节点iA至iD(统称为项目节点集V)。在本发明中,“u”用于指一个或多个通用用户节点,“i”用于指一个或多个通用项目节点。每个相应的用户节点u表示用户的实例。每个相应的项目节点i表示唯一项目的实例。例如,在各种场景中,项目可以是:用户可以从在线视频内容提供商流式传输或下载的音频/视频媒体项目(例如电影或剧集或视频);用户可以从在线音频内容提供商流式传输或下载的音频媒体项目(例如歌曲或播客);在线内容提供商可以向用户提供的图像/文本媒体项目(例如新文章、杂志文章或广告);用户可以从在线软件提供商(例如应用程序商店)下载或访问的软件应用程序(例如在线应用程序);以及用户可以从在线零售商订购交付或取货的不同实体产品。上文提供的项目可能类别的示例是说明性的,而不是穷举性的。
在示例性实施例中,用户节点uA至uF和项目节点iA至iF各自由相应的节点特征集定义。例如,每个用户节点u由指定一组用户节点特征的相应用户节点特征向量xu定义。每个用户节点特征以数字方式表示用户属性。例如,用户属性的示例可以包括用户id、年龄、性别、关系状态、宠物所有权等。共同地,用户节点集U可以表示为用户节点特征矩阵Xu,其中,矩阵中的每一行是相应用户节点u的特征向量xu。每个项目节点i由指定一组项目节点特征的相应项目节点特征向量xv定义。每个项目节点i特征以数字方式表示项目属性。例如,在电影视频的情况下,项目属性的示例可以包括:id、电影标题、导演、演员、类型、原产国、上映年份、描绘的时期等。共同地,项目节点集I可以表示为项目节点特征矩阵Xv,其中,矩阵中的每一行是相应项目节点i的特征向量xi。
将用户节点u连接到相应项目节点i的边102指示节点之间的关系,并且边102共同定义观察图拓扑Gobs。在一些示例性实施例中,节点之间存在或不存在边102表示由用户节点u表示的用户与由项目节点i表示的项目之间存在或不存在预定义类型的关系。例如,在用户节点u与项目节点i之间存在或不存在边102指示用户先前是否已经进行了指示对特定项目的感情或兴趣的动作,例如“点击”项目的表示或提交针对项目的缩放(例如,1至5星)或二进制(例如“喜欢”)评级。例如,边102可以表示用户与项目之间的点击或评级历史。在下文描述的说明性实施例中,边102传输二进制关系信息,使得边的存在指示定义类型的关系存在(例如,用户先前已经“点击”或评级/喜欢项目),并且边的不存在指示这种关系不存在。但是,在其它实施例中,边102可以与指示关系强度的其它属性相关联(例如,用户针对特定项目的“点击”次数,或用户给出的评级级别)。在一些实施例中,边102可以指示用户已经购买、订购或以其它方式消费项目。
在边102传输定义关系存在或不存在的示例性实施例中,图拓扑Gobs可以由邻接矩阵A表示,该邻接矩阵A定义了指示每个用户节点u与每个项目节点i之间连接边存在或不存在的二进制值矩阵。在一些示例中,邻接矩阵A对应于“点击”或“评级”矩阵。
因此,二分图101(例如,G=Xu,Xi,A)包括关于用户的信息(例如,用户节点集U,由用户节点特征矩阵Xu表示)、关于项目的信息(例如,项目节点集I,由项目节点特征矩阵Xi表示),以及关于用户与项目之间的历史交互的信息(例如,图拓扑Gobs,由邻接矩阵A表示)。
图2是用于训练GNN模型(例如,F(G))以分别为用户节点集U和项目节点集I生成相应的嵌入集EU和EI的训练过程200的示例的框图。嵌入集EU包括每个项目节点u的相应嵌入embu,嵌入集EI包括每个项目节点i的相应嵌入embi。GNN模型F(G)是基于参数P为用户节点集U和I生成嵌入集EU和EI的GNN结构。参数P在训练过程200期间被学习,并且可以包括由在GNN的一个或多个层执行的矩阵乘法运算施加的权重和在这些层施加的偏置。在示例性实施例中,训练过程200应用梯度下降优化过程,该过程在重复处理训练图G的同时迭代更新参数P以最小化损失L。具体地,训练过程200包括前向传播步骤202,在该步骤202期间,GNN模型F(G)使用参数P分别为用户节点集U和项目节点集I生成嵌入集EU和EI。对于初始训练迭代,使用初始参数集Pint。如步骤204所示,针对生成的嵌入集EU和EI计算损失L。如步骤206所示,在后向传播步骤期间,基于定义的学习率和损失L确定GNN F(G)的参数P的更新。训练过程200在定义的迭代次数(例如,回合)之后或在实现阈值优化损失时终止,获得具有一组学习参数P的训练后的GNN模型F(G)。
参考图3,配置有学习参数P的训练后的GNN模型F(G)可用于RS 300中,以生成用户节点U和项目节点I的推荐。由GNN模型F(G)生成的嵌入集EU和EI可应用于推荐选择操作302,该推荐选择操作302基于嵌入集EU和EI中包括的嵌入之间的比较计算推荐,例如用户特定项目推荐。例如,使用已知的RS方法处理嵌入,以提供用户特定的项目推荐。在示例性实施例中,推荐选择操作302用于如下确定用户特定推荐。对于每个用户-项目对,计算用户节点嵌入embu和项目节点嵌入embi的相应成对点积。因此,在F个项目节点i的情况下,对于每个用户节点u,将计算F个缩放值点积。每个缩放值表示与用户节点u相关联的用户将点击已针对其计算缩放值的相应项目的概率预测。在配置为至多推荐k个项目的RS 300的情况下,将选择先前未连接到用户且具有针对用户计算的最高缩放值的k个项目以推荐给用户。
因此,在一些示例中,用户特定的项目推荐可用于生成传输给特定用户的目标消息。例如,目标消息可以在由平台提供商操作的基于自动计算机的RS上生成。与用户相关联的电子设备可以通过通信网络访问或接收目标消息,并且通过电子设备的用户界面向用户呈现目标消息的表示。
在示例性实施例中,RS 300最初配置有基本GNN模型Ft=0,该模型已经使用训练过程200训练以针对基图Gt=0的初始值生成嵌入集Eu t=0、Ei t=0。如本发明中使用的,t表示采集用户、项目和用户-项目关系数据以填充相应图Gt的时间步长或时间帧,其中,t=0对应于基图Gt=0所代表的初始基本时间帧。训练过程200可用于学习基本GNN模型Ft=0的基本参数集P0,其中,基图Gt=0作为训练数据集。在示例性实施例中,在步骤204中计算以学习基参数Pt=0的损失可以基于已知的二分图RS损失计算,例如常用的贝叶斯个性化排序(Bayesianpersonalized ranking,BPR)损失
因此,一旦基本GNN模型Ft=0已经过训练以学习基参数Pt=0,则可以在RS 300中应用训练后的基本GNN模型Ft=0,以针对基图Gt=0中表示的用户和项目生成推荐。随着时间的推移,关于用户、项目以及用户与项目之间的关系的新数据将可用,结果是基本GNN模型F0可能会过时。因此,在示例性实施例中,RS 300配置有GNN更新模块304,该GNN更新模块304用于在新的用户数据、项目数据和关系数据变得可用(例如被采集)时周期性更新GNN模型Ft(G)。在各种示例性实施例中,更新可以由以下各项中的一项或多项触发:周期性调度(例如每天一次);当采集了阈值量的新数据时(例如,当达到关于新用户、新项目和/或新关系的阈值标准时);针对用户和项目提供商的数据分析或来自用户和项目提供商的反馈指示系统性能次优;和/或系统管理员指示和更新。
现在参考图4描述说明性的正在进行的增量训练过程400。在图4中,当新的用户数据、项目数据和关系数据可用(例如被采集)时,GNN更新模块304执行增量训练过程400。在图4中,新的用户数据、项目数据和关系数据用离散的增量更新图Gt=1、Gt=2、Gt=3表示,每个图表示在相应的时间帧t=1、t=2和t=3观察和采集的关于项目、用户和用户-项目交互的数据。如上所述,在一些示例中,更新时间帧可以分别对应于一天,但是时间帧可以是采集统计上合适量的数据的任何合适的时间长度,并且连续的时间帧不必在时长上相等。根据示例性实施例,如图4所示,GNN模型F(G)基于图Gt=1、Gt=2、Gt=3中表示的新数据周期性地增量训练,从而产生随着时间推移分别增量更新的GNN模型Ft=1、Ft=2和Ft=3等等。基本和增量GNN模型Ft=0、Ft=1、Ft=2……都具有相同的GNN模型结构,该GNN模型结构具有相同的NN层和聚合层的数量和配置。因此,基本和增量GNN模型各自具有相同的GNN模型结构,其中,每个GNN模型Ft=0、Ft=1、Ft=2……的唯一操作由相应的一组学习参数Pt=0、Pt=1、Pt=2、Pt=3……定义。
通过应用(即执行)类似于图2的训练过程200的训练过程,经历下文所述的旨在缓解灾难性遗忘的蒸馏技术,可以使用图Gt中表示的新数据,分别增量地进一步训练(例如,微调)相应的训练后的GNN模型Ft–1中的每个模型,以生成新的训练后的GNN模型Ft。为了保存知识,在示例性实施例中,用于微调的损失函数计算包括以下分量:(1)局部结构蒸馏分量,使节点嵌入能够有效记忆每个节点的局部图结构;(2)全局结构蒸馏分量,使节点嵌入能够有效记忆全局图结构;(3)自嵌入蒸馏分量,防止在微调期间产生的节点嵌入的快速变化;和(4)传统的RS损失分量,例如BPR损失。
参考图4和图5,现在根据示例性实施例描述训练后的GNN模型的微调。如上所述,基本GNN模型Ft=0由基参数Pt=0配置,已经针对基图Gt=0学习过这些参数。基图Gt=0中表示的用户、项目和用户-项目关系数据已经在基本时间段t=0内采集。
在第二时间段t=1期间,获取额外的用户、项目和用户-项目关系数据。在更新图Gt=1=(Xu t=1,Xi t=1,At=1)中表示的新数据可以包括:在基图Gt=0中表示的关于现有用户与现有项目之间的新交互的数据;在基图Gt=0中表示的现有用户和/或现有项目的新或更新的特征数据;未在基图Gt=0中表示的关于新用户和/或新项目的特征数据;关于新用户与现有项目之间的交互的数据;关于现有用户与新项目之间的交互的数据;关于新用户与新项目之间的交互的数据。
图5示出了由数据更新模块304协调以将GNN模型Ft–1更新为GNN模型Ft的GNN模型KD更新过程500。在将GNN模型Ft=0微调为GNN模型Ft=1的情况下,基本模型参数Pt=0被用作用于训练更新GNN模型Ft=1的初始化参数集,并且更新图Gt=1=(Xu t=1,Xi t=1,At=1)用作训练数据集。此外,为了知识蒸馏的目的,GNN模型Ft–1用作教师模型,GNN模型Ft是学生模型。
在示例性实施例中,在KD更新过程500期间,在前向传播步骤502中,学生GNN模型Ft生成:用户节点嵌入集合EU t,包括更新图Gt中包括的每个用户节点u的相应用户节点嵌入embu t;以及项目节点嵌入集合EI t,包括更新图Gt中包括的每个项目节点i的相应项目节点嵌入embi t。对于第一次训练迭代,针对教师GNN模型Ft–1学习的GNN模型参数Pt–1被用作学生GNN模型Ft的初始参数。
教师GNN模型Ft–1可以基于学习参数Pt–1执行前向推理(步骤503),以生成:教师用户节点嵌入集合EU t–1,包括图Gt–1中包括的用户节点u的相应用户节点嵌入embu t–1;以及教师项目节点嵌入集合EI t–1,包括图Gt–1中包括的项目节点i的相应项目节点嵌入embi t–1。在示例性实施例中,在KD更新过程500的持续时间期间,将使用相同的教师用户节点嵌入集合EU t–1和相同的教师项目节点嵌入集合EI t–1,使得使用教师GNN模型Ft–1的前向推理步骤503在KD更新过程500期间仅执行一次。在一些示例中,教师用户节点嵌入集合EU t–1和教师项目节点嵌入集合EI t–1可以在GNN模型Ft–1的训练完成时存储在RS 300的存储器中,在这种情况下,前向推理步骤503将预先完成,并且不需要作为KD更新过程500的一部分完成。
如步骤506所示,在每次训练迭代期间计算损失函数。如上所述,损失函数可以包括多个分量,每个分量控制GNN模型Ft训练的不同方面,包括(1)局部结构蒸馏分量,使节点嵌入有效记忆每个节点的局部图结构;(2)全局结构蒸馏分量,使节点嵌入有效记忆全局图结构;(3)自嵌入蒸馏分量,防止在微调期间产生的节点嵌入的快速变化;和(4)传统的RS损失分量,例如BPR损失。
局部结构蒸馏分量
在一个示例性实施例中,计算的损失分量之一是在训练期间支持局部结构蒸馏的局部结构蒸馏分量Llocal(操作510)。通常,对于top-k RS,最具代表性的信息是针对用户-项目对,用户嵌入与项目嵌入之间的点积,它编码用户对配对项目的兴趣。分量Llocal是基于中心节点嵌入与邻域表示之间的点积值的蒸馏。具体地,分量Llocal用于抑制基于教师GNN模型Ft–1生成的嵌入计算的节点嵌入和邻域表示的点积,相对于基于学生GNN模型Ft生成的嵌入计算的同一节点的节点嵌入和针对同一邻域的邻域表示的点积的差异。
如框508所示,在损失计算步骤506的一部分中,确定一组用户和项目节点邻域Nu t、Ni t、Nu t–1、Ni t–1。这些邻域的成员资格在训练过程中保持不变,并作为第一次训练迭代的一部分计算一次。具体地,对于图Gt中表示的每个用户节点u,确定学生图邻域Nu t,其包括作为图Gt中与主题用户节点u的直接邻居(例如,由边连接)的项目节点i。为了蒸馏目的,如果主题用户节点u也包括在先前时隙图Gt–1中,则还为先前时隙图Gt–1的用户节点u确定教师图邻域Nu t–1。类似地,对于图Gt中表示的每个项目节点i,确定学生图邻域Ni t,其包括作为图Gt中与主题项目节点i的直接邻居的用户节点u。为了蒸馏目的,如果主题项目节点i也包括在先前时隙图Gt–1中,则还为先前时隙图Gt–1的项目节点i确定教师图邻域Ni t–1。在一些示例中,相应的节点邻域Nu t、Ni t、Nu t–1、Ni t–1可以包括所有直接邻居,并且在一些示例中,可以通过随机采样至多预定义数量的直接邻居节点来确定邻域。
在框508中确定的节点邻域,具体是教师用户和项目节点邻域Nu t–1、Ni t–1,与教师节点嵌入和学生节点嵌入相结合,在框510中使用,以确定局部结构蒸馏分量Llocal。具体地,对于教师GNN模型Ft–1,用户节点u邻域表示可以基于位于用户节点u邻域Nu t–1中的所有教师项目节点嵌入embi t–1的平均值,由等式(1)表示:
对于学生GNN模型Ft,用户节点u邻域表示可以基于位于用户节点u邻域Nu t-1中的所有用户项目节点嵌入embi t的平均值。需要说明的是,对于学生GNN模型Ft,使用的用户节点邻域是基于教师图Gt–1中的邻域,但项目嵌入是基于学生GNN模型Ft生成的嵌入确定的,如等式(2)所示:
项目节点i的平均局部邻域嵌入可以类似地确定,如等式(3)和等式(4)中所示:
在至少某些情况下,平均局部邻域嵌入和分别编码来自上一个时间块和当前时间块的用户的一般偏好。确保学生的用户节点嵌入和局部邻域点积保持相对接近教师的用户节点嵌入和局部邻域点积类似地,学生的项目节点嵌入和局部邻域点积保持相对接近教师的项目节点嵌入和局部邻域点积,使所得到的GNN模型能够明确地保留用户的历史偏好。
总之,如上述等式和描述所示,在示例性实施例中,局部结构蒸馏分量局部结构蒸馏分量可以如下确定。对于在现有图Gt–1和新图Gt中都包括的用户节点u,在现有图Gt–1中为用户节点u确定项目节点的局部邻域集基于现有GNN模型Gt-1为邻域集中的项目节点生成的嵌入的平均值,确定用户节点u的现有平均局部邻域用户节点嵌入基于更新的GNN模型Gt为邻域集中的项目节点生成的嵌入的平均值,确定用户节点的新平均局部邻域用户节点嵌入确定第一用户值,所述第一用户值是以下各项的点积:(i)现有GNN模型为用户节点生成的嵌入和(ii)用户节点的现有平均局部邻域用户节点嵌入;确定第二用户值,所述第二用户值是以下各项的点积:(i)更新的GNN模型为用户节点生成的嵌入和(ii)用户节点的新平均局部邻域用户节点嵌入;确定第一用户值与用户第二值之间的用户节点差值;确定用户节点平均距离值,所述用户节点平均距离值是针对用户节点中的至少一些确定的用户节点差值的平均值。对于项目节点重复上述内容,以确定项目节点平均距离值,所述项目节点平均距离值是针对用户节点中的至少一些确定的用户节点差值的平均值。所述局部结构蒸馏分量是基于所述用户节点平均距离和所述项目节点平均距离的总和。
全局结构蒸馏分量
虽然局部结构蒸馏分量促进教师图局部拓扑信息传输到学生GNN图以训练学生GNN模型,但局部结构蒸馏分量不会捕获每个节点的全局位置信息,该全局位置信息是节点相对于所有其它节点的相对位置。在某些RS场景的上下文中,每个节点的全局位置可以编码丰富的信息。
例如,在特定用户节点u的情况下,该用户节点与所有其它用户节点之间的嵌入距离可以编码用户的一般用户偏好组。用户节点与项目节点之间的嵌入距离可以编码用户喜欢的项目类型。因此,在示例性实施例中,计算损失步骤506包括用于确定全局结构蒸馏分量的操作514,该全局结构蒸馏分量具有保存嵌入信息的目标,所述嵌入信息编码节点相对于图中所有其它节点的位置信息。操作514在图6中以图形示出。生成用户节点锚点嵌入集合和项目节点锚点嵌入集合以编码全局结构信息(图6一般示出针对用户节点或项目节点执行的操作514的节点)。这些锚点嵌入是使用簇608T的平均嵌入和簇608S的平均嵌入来计算的,其中,簇608T是分别使用教师用户和项目节点嵌入的K均值聚类推导的,簇608S是分别使用学生用户和项目节点嵌入的K均值聚类推导的。获得2K个簇,每个簇608T、608S代表一般用户偏好组或项目类别。对于每个用户节点(例如节点604),计算两个概率分布:一个捕获用户属于用户偏好组的概率,另一个表示用户喜欢的项目属于特定项目类别的概率。为每个项目节点构建类似的分布。这些概率分布是通过考虑每个簇608T、608S内与相应簇锚节点(例如节点602)的(归一化)嵌入相似性(由方框606T、606S中的相关条形图所示,每个条表示对应于教师嵌入的相应簇608T与对应于学生嵌入的相应簇608S之间的归一化嵌入相似性)来构建的。全局结构蒸馏分量作为一个损失正则化项,鼓励教师的分布与学生的分布匹配。具体地,分量旨在最小化教师和学生全局结构分布之间的Kullback-Leibler(KL)散度的总和。对于用户节点u,教师GNN模型与学生GNN模型之间的全局结构相似性可以计算为:
此处,和分别是与学生GNN模型和教师GNN模型的K个用户锚点嵌入相关联的全局结构分布的第k个条目(需要说明的是,在等式(6)中,全局结构分布符号中的上标“s”是指学生,并且全局结构分布符号中的上标“t”是指教师,因此等式6中符号“t”的使用与本发明中的其它等式不同,在其它等式中,t是指当前时间帧并与学生GNN模型相关联)。
为了计算最终的全局结构蒸馏分量,计算更新图Gt中表示的所有节点的分布之间的KL散度的平均值:
其中,λglobal是控制全局结构蒸馏的幅度的超参数。
除了局部结构蒸馏分量之外,全局结构蒸馏分量保留节点相对于教师图Gt–1和学生图Gt之间的所有其它节点的相对位置。在RS场景中,每个节点的全局位置可以提供有用的信息,如上所述。对于特定用户节点,用户节点604与不同用户节点组(例如,教师图Gt–1中的簇608T和学生图Gt中的簇608S)之间的嵌入距离可以编码用户的一般用户偏好组。用户节点与项目节点之间的嵌入距离可以编码用户喜欢的项目类型。全局结构蒸馏分量保留用户的长期分类偏好。也为项目节点保留了类似的信息。
自嵌入蒸馏分量
在示例性实施例中,为了保存每个用户节点和每个项目节点自己的信息(独立于全局图结构和邻域结构),在操作514中确定自嵌入蒸馏分量分量旨在通过在损失函数中添加均方误差项,直接蒸馏每个用户和项目的嵌入的知识。这确保了在学生GNN模型Ft的增量训练期间,每个增量学习的嵌入不会偏离其先前的位置太远。每个节点的蒸馏强度使用权重因子η控制,该权重因子与为新图Gt中的每个节点引入的新记录(例如,新关系)的数量成正比。自嵌入的蒸馏损失项为:
其中:λself是控制自嵌入蒸馏的幅度的超参数。ηu和ηi是控制每个节点的蒸馏强度的系数。在某些场景下,向普通均方误差(mean squared error,MSE)引入蒸馏强度控制系数ηu和ηi可能会提高具有更丰富历史记录的节点的蒸馏强度。
完全损失函数
如步骤518所示,在后向传播步骤期间,基于定义的学习率和损失函数L确定学生GNN模型Ft(Gt)的更新参数Pt。训练过程500在定义的迭代次数之后或在实现阈值优化损失时终止,获得具有一组学习参数Pt的训练后的GNN模型Ft。
如图4所示,可以重复过程500以针对后续图Gt训练后续更新的GNN模型Ft,其中,先前的GNN模型Ft用作教师模型。
因此,示例性实施例公开了用于训练RS 300的方法和系统。RS 300用于针对二分图做出推荐,所述二分图包括多个用户节点、多个项目节点和定义将用户节点中的至少一些连接到项目节点中的一些的边的观察图拓扑,RS 300包括由现有参数集Pt–1配置的现有图神经网络(graph neural network,GNN)模型Ft–1。应用损失函数计算更新的GNN模型Ft的更新参数集Pt,所述更新的GNN模型Ft是使用第一参数集Pt–1作为初始化参数、用新图Gt训练的,所述损失函数用于基于现有GNN模型Ft–1针对现有图Gt–1生成的节点嵌入来蒸馏知识,其中,所述新图Gt包括在现有图Gt–1中也包括的多个用户节点u和多个项目节点i。RS 300的现有GNN模型Ft–1被更新的GNN模型Ft取代。
处理单元
在示例性实施例中,RS 300是使用一个或多个计算设备实现的计算机。图7是示例性处理系统170的框图,该示例性处理系统可用于执行RS 300或其一个或多个模块和操作的机器可执行指令,其模块和操作包括GNN模型F、DNN更新模块304和推荐选择操作302。可以使用适合于实现本发明中描述的实施例的其它处理系统,这些处理系统可以包括与下文描述的那些组件不同的组件。虽然图7示出了每个组件的单个实例,但是在处理系统170中可能存在每个组件的多个实例。
处理系统170可以包括一个或多个处理设备172,例如处理器、微处理器、中央处理单元(central processing unit,CPU)、神经处理单元(neural processing unit,NPU)、张量处理单元(tensor processing unit,TPU)、专用集成电路(application-specificintegrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、专用逻辑电路,或其组合。处理系统170还可以包括一个或多个输入/输出(input/output,I/O)接口174,这些接口可以支持与一个或多个合适的输入设备184和/或输出设备186连接。处理系统170可以包括一个或多个网络接口176,用于与网络进行有线或无线通信。
处理系统170还可以包括一个或多个存储单元178,该一个或多个存储单元178可以包括如固态驱动器、硬盘驱动器、磁盘驱动器和/或光盘驱动器等大容量存储单元。处理系统170可以包括一个或多个存储器180,该一个或多个存储器180可以包括易失性或非易失性存储器(例如,闪存、随机存取存储器(random access memory,RAM)和/或只读存储器(read-only memory,ROM))。一个或多个存储器180可以存储供一个或多个处理设备172执行的指令,例如以执行本发明中描述的示例。一个或多个存储器180可以包括其它软件指令,例如用于实现操作系统和其它应用/功能的软件指令。
可以存在总线182,在处理系统170的组件之间提供通信,所述组件包括一个或多个处理设备172、一个或多个I/O接口174、一个或多个网络接口176、一个或多个存储单元178和/或一个或多个存储器180。总线182可以是任何合适的总线架构,例如包括存储器总线、外围总线或视频总线。
尽管本发明通过呈某种顺序的步骤描述方法和过程,但是可以适当地省略或改变方法和过程中的一个或多个步骤。在适当情况下,一个或多个步骤可以按所描述的顺序以外的顺序执行。
尽管本发明在方法方面至少部分地进行了描述,但本领域普通技术人员将理解,本发明也针对用于执行所述方法的至少一些方面和特征的各种组件,无论是通过硬件组件、软件还是其任何组合。相应地,本发明的技术方案可以通过软件产品的形式体现。合适的软件产品可以存储在预先记录的存储设备或其它类似的非易失性或非瞬时性计算机可读介质中,包括DVD、CD-ROM、USB闪存盘、可移动硬盘或其它存储介质等。软件产品包括有形地存储在其上的指令,所述指令使得处理设备(例如,个人计算机、服务器或网络设备)能够执行本文中公开的方法的示例。
在不脱离权利要求书的主题的前提下,本发明可以通过其它特定形式实施。所描述的示例性实施例在各方面都仅仅是说明性的,而不是限制性的。可以组合从一个或多个上述实施例中选择的特征,以创建非显式描述的可选实施例,可以理解适合于此类组合的特征在本发明的范围内。
还公开了所公开范围内的所有值和子范围。此外,尽管本文所公开和示出的系统、设备和过程可包括特定数量的元件/组件,但可以修改所述系统、设备和组装件,以包括此类元件/组件中更多或更少的元件/组件。例如,尽管所公开的任何元件/组件可以引用为单个数量,但是可以修改本文所公开的实施例以包括多个此类元件/组件。本文所描述的主题旨在覆盖和涵盖所有适当的技术变更。
在本发明中标识的任何发表文献的内容通过引用的方式并入本文。
Claims (12)
1.一种用于训练推荐系统(recommender system,RS)的方法,其特征在于,所述RS用于针对二分图做出推荐,所述二分图包括多个用户节点、多个项目节点和定义将所述用户节点中的至少一些连接到所述项目节点中的一些的边的观察图拓扑,所述RS包括由现有参数集配置的现有图神经网络(graph neural network,GNN)模型,所述方法包括:
应用损失函数计算更新的GNN模型的更新参数集,所述更新的GNN模型是使用第一参数集作为初始化参数、用新图训练的,所述损失函数用于基于所述现有GNN模型针对现有图生成的节点嵌入来蒸馏知识,其中,所述新图包括在所述现有图中也包括的多个用户节点和多个项目节点;
用所述更新的GNN模型替换所述RS的所述现有GNN模型。
2.根据权利要求1所述的方法,其特征在于,所述损失函数作为迭代训练过程的一部分应用,在所述迭代训练过程中,生成更新参数的临时集用于训练所述更新的GNN模型,其中,在所述训练过程中,所述更新的GNN模型通过每个更新参数的临时集配置,以针对所述新图生成临时节点嵌入。
3.根据权利要求2所述的方法,其特征在于,所述损失函数包括局部结构蒸馏分量,所述局部结构蒸馏分量用于在所述迭代训练过程期间,为所述现有图和所述新图中都包括的至少一些项目节点和用户节点蒸馏所述现有图的局部图结构。
4.根据权利要求3所述的方法,其特征在于,所述方法包括通过以下方式确定所述局部结构蒸馏分量:
对于在所述现有图和所述新图中都包括的所述用户节点中的所述至少一些的每个用户节点:
为所述用户节点确定所述现有图中的项目节点的局部邻域集;
基于所述现有GNN模型为所述邻域集中的所述项目节点生成的嵌入的平均值,确定所述用户节点的现有平均局部邻域用户节点嵌入;
基于所述更新的GNN模型为所述邻域集中的所述项目节点生成的嵌入的平均值,确定所述用户节点的新平均局部邻域用户节点嵌入;
确定第一用户值,所述第一用户值是以下各项的点积:(i)所述现有GNN模型为所述用户节点生成的嵌入和(ii)所述用户节点的所述现有平均局部邻域用户节点嵌入;
确定第二用户值,所述第二用户值是以下各项的点积:(i)所述更新的GNN模型为所述用户节点生成的嵌入和(ii)所述用户节点的所述新平均局部邻域用户节点嵌入;
确定所述第一用户值与所述第二用户值之间的用户节点差值;
确定用户节点平均距离值,所述用户节点平均距离值是针对所述用户节点中的所述至少一些确定的所述用户节点差值的平均值;
对于在所述现有图和所述新图中都包括的所述项目节点中的所述至少一些的每个项目节点:
为所述项目节点确定所述现有图中的用户节点的局部邻域集;
基于所述现有GNN模型为所述邻域集中的所述用户节点生成的嵌入的平均值,确定所述项目节点的现有平均局部邻域项目节点嵌入;
基于所述更新的GNN模型为所述邻域集中的所述用户节点生成的嵌入的平均值,确定所述项目节点的新平均局部邻域项目节点嵌入;
确定第一项目值,所述第一项目值是以下各项的点积:(i)所述现有GNN模型为所述项目节点生成的嵌入和(ii)所述项目节点的所述现有平均局部邻域项目节点嵌入;
确定第二项目值,所述第二项目值是以下各项的点积:(i)所述更新的GNN模型为所述项目节点生成的嵌入和(ii)所述项目节点的所述新平均局部邻域用户节点嵌入;
确定所述第一项目值与所述第二项目值之间的项目节点差值;
确定项目节点平均距离值,所述项目节点平均距离值是针对所述用户节点中的所述至少一些确定的所述用户节点差值的平均值;
其中,所述局部结构蒸馏分量是基于所述用户节点平均距离和所述项目节点平均距离的总和。
5.根据权利要求4所述的方法,其特征在于,所述局部结构蒸馏分量包括局部蒸馏超参数与所述用户节点平均距离和所述项目节点平均距离的总和的乘积,所述局部蒸馏超参数用于控制所述局部图结构蒸馏的幅度。
6.根据权利要求2至5中任一项所述的方法,其特征在于,所述损失函数包括全局结构蒸馏分量,所述全局结构蒸馏分量用于在所述迭代训练过程期间,为所述现有图和所述新图中都包括的至少一些项目节点和用户节点蒸馏所述现有图的全局图结构。
7.根据权利要求6所述的方法,其特征在于,所述方法包括通过以下方式确定所述全局结构蒸馏分量:
基于所述现有GNN模型和所述更新的GNN模型生成的节点嵌入,针对所述至少一些用户节点和项目节点中的每一个,确定所述现有图与所述新图之间的结构相似性;
基于所述确定的结构相似性,确定所述现有图和所述新图的全局结构分布;
其中,所述全局结构蒸馏分量是基于所述现有图和所述新图的所述全局结构分布之间的Kullback-Leibler(KL)散度。
8.根据权利要求7所述的方法,其特征在于,所述全局结构蒸馏分量是基于用于控制所述全局图结构蒸馏的幅度的全局蒸馏超参数。
9.根据权利要求2至8中任一项所述的方法,其特征在于,所述损失函数包括自嵌入蒸馏分量,所述自嵌入蒸馏分量用于在所述迭代训练过程期间,为所述现有图和所述新图中都包括的至少一些项目节点和用户节点保留来自所述现有图的知识。
10.根据权利要求2至8中任一项所述的方法,其特征在于,所述损失函数包括贝叶斯个性化排序(Bayesian personalized ranking,BPR)损失分量。
11.一种用于实现推荐系统(recommender system,RS)的处理系统,其特征在于,所述RS用于针对二分图做出推荐,所述二分图包括多个用户节点、多个项目节点和定义将所述用户节点中的至少一些连接到所述项目节点中的一些的边的观察图拓扑,所述RS包括由现有参数集配置的现有图神经网络(graph neural network,GNN)模型,所述处理系统包括处理设备和耦合到所述处理设备并存储可执行指令的非易失性存储器,当所述处理设备执行所述可执行指令时,所述可执行指令配置所述处理系统执行根据权利要求1至10中任一项所述的方法。
12.一种非易失性计算机可读存储器,其特征在于,存储用于实现推荐系统(recommender system,RS)的可执行指令,所述RS用于针对二分图做出推荐,所述二分图包括多个用户节点、多个项目节点和定义将所述用户节点中的至少一些连接到所述项目节点中的一些的边的观察图拓扑,所述RS包括由现有参数集配置的现有图神经网络(graphneural network,GNN)模型,所述可执行指令包括配置处理系统执行根据权利要求1至10中任一项所述的方法的指令。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/109483 WO2022036494A1 (en) | 2020-08-17 | 2020-08-17 | Graph structure aware incremental learning for recommender system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115867919A true CN115867919A (zh) | 2023-03-28 |
Family
ID=80322420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080103130.1A Pending CN115867919A (zh) | 2020-08-17 | 2020-08-17 | 用于推荐系统的图结构感知增量学习 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230206076A1 (zh) |
CN (1) | CN115867919A (zh) |
WO (1) | WO2022036494A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11163777B2 (en) | 2018-10-18 | 2021-11-02 | Oracle International Corporation | Smart content recommendations for content authors |
US12056161B2 (en) * | 2018-10-18 | 2024-08-06 | Oracle International Corporation | System and method for smart categorization of content in a content management system |
CN114722896B (zh) * | 2022-03-05 | 2024-08-09 | 昆明理工大学 | 融合近邻标题图的新闻话题发现方法 |
CN114637922B (zh) * | 2022-05-17 | 2022-08-23 | 浙江大学滨江研究院 | 基于神经网络集合操作的用户偏好推荐方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11853903B2 (en) * | 2017-09-28 | 2023-12-26 | Siemens Aktiengesellschaft | SGCNN: structural graph convolutional neural network |
US20190251480A1 (en) * | 2018-02-09 | 2019-08-15 | NEC Laboratories Europe GmbH | Method and system for learning of classifier-independent node representations which carry class label information |
CN112119412A (zh) * | 2018-05-18 | 2020-12-22 | 伯耐沃伦人工智能科技有限公司 | 具有注意力的图神经网络 |
CN111143705B (zh) * | 2019-12-26 | 2021-05-28 | 北京工业大学 | 一种基于图卷积网络的推荐方法 |
CN111400560A (zh) * | 2020-03-10 | 2020-07-10 | 支付宝(杭州)信息技术有限公司 | 一种基于异构图神经网络模型进行预测的方法和系统 |
-
2020
- 2020-08-17 CN CN202080103130.1A patent/CN115867919A/zh active Pending
- 2020-08-17 WO PCT/CN2020/109483 patent/WO2022036494A1/en active Application Filing
-
2023
- 2023-02-17 US US18/111,066 patent/US20230206076A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022036494A1 (en) | 2022-02-24 |
US20230206076A1 (en) | 2023-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210027160A1 (en) | End-to-end deep collaborative filtering | |
CN115867919A (zh) | 用于推荐系统的图结构感知增量学习 | |
US20220253722A1 (en) | Recommendation system with adaptive thresholds for neighborhood selection | |
JP6523498B1 (ja) | 学習装置、学習方法および学習プログラム | |
EP3972709A1 (en) | Content-item recommendations | |
US11494617B2 (en) | Recommender system using bayesian graph convolution networks | |
US20100217730A1 (en) | Temporally-controlled item recommendation method and system based on rating prediction | |
CN111199458B (zh) | 一种基于元学习与强化学习的推荐系统 | |
WO2018177145A1 (en) | Knowledge network platform | |
US20220253688A1 (en) | Recommendation system with adaptive weighted baysian personalized ranking loss | |
CN114140171B (zh) | 一种应用于推荐系统的鲁棒无偏的负采样方法 | |
US20240107125A1 (en) | System and method for modelling access requests to multi-channel content sharing platforms | |
CN116541716B (zh) | 基于序列图和超图的推荐模型训练方法及装置 | |
CN117859139A (zh) | 多图卷积协同过滤 | |
CN115880024A (zh) | 一种基于预训练的轻量化图卷积神经网络的推荐方法 | |
Deenadayalan et al. | User Feature Similarity Supported Collaborative Filtering for Page Recommendation Using Hybrid Shuffled Frog Leaping Algorithm. | |
Taneja et al. | Evaluating the Scalability of Matrix Factorization and Neighborhood Based Recommender Systems | |
Smith et al. | A hybrid latent variable neural network model for item recommendation | |
Chai et al. | A Temporal Collaborative Filtering Algorithm Based on Purchase Cycle | |
Kalidindi et al. | Discrete Deep Learning Based Collaborative Filtering Approach for Cold Start Problem. | |
Boumaza et al. | Stochastic search for global neighbors selection in collaborative filtering | |
Boryczka et al. | Differential evolution in a recommendation system based on collaborative filtering | |
WO2022247878A1 (en) | System, method, and computer-readable media for leakage correction in graph neural network based recommender systems | |
US20240273378A1 (en) | Systems and methods for learning at an edge device | |
KR102266853B1 (ko) | 다중 유형 페어와이즈 기반 아이템 추천 방법 및 장치 |
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 |