掌桥专利:专业的专利平台
掌桥专利
首页

一种推荐方法以及装置

文献发布时间:2024-04-18 19:52:40


一种推荐方法以及装置

技术领域

本申请涉及计算机领域,尤其涉及一种推荐方法以及装置。

背景技术

在网络应用中,用户和商品之间存下多种交互行为(如用户选择点击、喜欢、加购物车、购买等行为),由于不同类型的行为表达了用户和商品交互时不同的潜在意图,因此利用用户多行为信息做推荐对于充分捕获用户的真实意图十分重要。

对于多行为信息的处理,已有模型使用一种两阶段的范式,首先通过利用用户行为交互的历史记录分别学习每个行为的表征,然后利用学习好的表征来建模不同行为之间的高阶关系。这种方式仅仅在行为层次建模了用户多行为信息,对多行为信息的利用不够充分。

发明内容

本申请提供一种推荐方法以及装置,通过压缩交互图卷积网络挖掘高阶关系,得到解耦的高阶行为表征,使后续可以充分利用用户的行为信息,提高推荐准确度。

有鉴于此,本申请第一方面提供一种推荐方法,包括:

首先,获取行为表征集合,行为表征集合包括用户的多种行为的表征;随后,将行为表征集合作为压缩交互图卷积网络的输入,输出多种表征数据,多种表征数据与多种行为对应,其中,压缩交互图卷积网络用于对用户的多种行为的表征进行编码得到多种高阶交互图,并从多种高阶交互图中筛选出每种行为对应的至少一种高阶交互图,通过每种行为对应的至少一种高阶交互图得到多种表征数据;通过多种表征数据获取推荐信息,推荐信息包括针对用户进行推荐的信息,如推荐音乐、推荐应用程序、推荐商品等。

本申请实施方式中,可以通过压缩交互图卷积网络挖掘高阶关系,得到解耦的高阶行为表征,使后续可以充分利用行为信息。

在一种可能的实施方式中,压缩交互图卷积网络包括图注意力网络,注意力网络用于通过注意力机制从多种高阶交互图中筛选出每种行为对应的至少一种高阶交互图。

因此,本申请实施方式中,可以通过注意力机制,提取到每种行为对应的有效数据,从而得到多种行为更准确的解耦表征。

在一种可能的实施方式中,图注意力网络的输入与输出之间还包括残差连接。因此,本申请实施方式中,图注意力网络的输入和输出之间还可以设置残差连接,避免过拟合的情况。

在一种可能的实施方式中,压缩交互图卷积网络还包括交互层,交互层用于生成多种高阶关系组合,并对多种高阶关系组合进行编码得到多种高阶交互图,多种高阶关系组合包括用户和多种行为产生的信息的组合。本申请实施方式中,可以在图注意力网络中设置交互层,从而对输入的多种行为的表征进行组合,从而生成用户的多种行为的高阶关系,以便于对多行为之间的关联进行挖掘,从而使后续得到的每种行为对应的解耦表征更准确。

在一种可能的实施方式中,压缩交互图卷积网络还包括图卷积层,图卷积层用于从对应的至少一种高阶交互图提取特征,得到多种表征数据。因此,本申请实施方式中,可以通过图卷积层来提取特征,从而可以准确地提取到每种行为对应的更准确的特征,形成每种行为对应的解耦表征。

在一种可能的实施方式中,前述的通过多种表征数据获取推荐信息,包括:将多种表征数据中的每种表征数据作为多专家解耦输入网络的输入,输出推荐信息。因此,本申请实施方式中,可以将多行为的解耦表征分别作为多专家解耦输入网络的输入,从而使多专家解耦输入网络基于更准确的解耦表征,得到更准确的推荐结果。

在一种可能的实施方式中,多专家解耦输入网络包括多个专家网络、至少一个塔任务网络以及至少一个任务感知门,多个专家网络用于从输入数据中提取特征,多种表征数据中每种表征数据作为对应的专家网络的输入,该至少一个任务感知门可以以多种表征数据为指导,从多个专家网络输出的多种数据中筛选出每个任务感知门上层的塔任务网络的所需的至少一种数据,该至少一个塔任务网络用于通过对应的任务感知门输入的至少一种数据得到推荐信息。因此,本申请实施方式提供的多专家解耦输入网络中,各个任务感知门可以以对应的输入表征数据为知道来筛选出上一层塔任务网络所需的特征,可以根据不同样本的性质学习到相应的权重,解决不同行为对应的网络之间的梯度冲突。

在一种可能的实施方式中,至少一个塔任务网络的任务包括预测点击率和预测转化信息,点击率为用户点击目标对象的概率,转化信息包括转化率或者转化时长,转化率为用户点击目标对象后对目标对象进行转化操作的概率,转化时长包括用户点击目标对象后对目标对象进行转化操作后停留的时长。

在一种可能的实施方式中,前述的获取行为表征集合,可以包括:将用户的多种行为产生的数据作为嵌入embedding网络的输入,输出表征集合。

因此,本申请实施方式中,可以通过embedding层将用户的多种行为产生的数据转换为神经网络可识别的表征,以便于后续处理。

第二方面,本申请提供一种推荐方法,包括:首先,获取多种表征数据,多种表征数据包括从用户的多种行为产生的数据中提取到的特征;将多种表征数据分别作为多专家解耦输入网络的输入,输出推荐信息,如推荐音乐、推荐应用程序或者推荐文本等信息,其中,多专家解耦输入网络包括多个专家网络、至少一个塔任务网络以及至少一个任务感知门,多种表征数据中每种表征数据作为对应的专家网络的输入,至少一个任务感知门用于以多种表征数据为指导,从多个专家网络输出的多种数据中筛选出每个任务感知门上层的塔任务网络的所需的至少一种数据,至少一个塔任务网络用于通过对应的任务感知门输入的至少一种数据得到推荐信息。

因此,本申请中,通过专家解耦输入网络来输出推荐信息,其输入为解耦的多行为表征,专家解耦输入网络中包括的门控网络以输入数据为指导,可以根据不同样本的性质学习到响应的权重,解决不同行为对应的网络之间的梯度冲突,提高多行为场景中推荐的准确度。

在一种可能的实施方式中,至少一个塔任务网络的任务包括预测点击率和预测转化信息,点击率为用户点击目标对象的概率,转化信息包括转化率或者转化时长,转化率为用户点击目标对象后对目标对象进行转化操作的概率,转化时长包括用户点击目标对象后对目标对象进行转化操作后停留的时长。

第三方面,本申请提供一种推荐网络,可以用于对用户的多种行为信息进行编码,得到多种行为的解耦表征,该推荐网络可以包括压缩交互图卷积网络(CompressedInteraction Graph Convolution,CIGCN),该CIGCN可以包括多层网络,分别用于对用户的多种行为的表征进行编码得到多种高阶交互图,并从多种高阶交互图中筛选出每种行为对应的至少一种高阶交互图,以及通过每种行为对应的至少一种高阶交互图得到多种表征数据。每种行为对应一种表征,从而实现多种行为的解耦表征。随后即可将解耦表征作为推荐网络的输入,即可输出针对用户产生的多行为的推荐信息。

在一种可能的实施方式中,该CIGCN可以包括图注意力(graph attention,GA)网络,所述注意力网络用于通过注意力机制从所述多种高阶交互图中筛选出每种行为对应的至少一种高阶交互图。因此,本申请实施方式中,可以通过GA网络来从多种高阶交互图中筛选出与每种行为更匹配的至少一种高阶交互图,从而可以更准确地挖掘出各个行为之间的关系,提高得到后续的解耦表征的准确性。

在一种可能的实施方式中,GA网络的输入与输出之间可以设置残差连接,从而探索高阶图信息,避免学习过度的过拟合现象。

在一种可能的实施方式中,CIGCN中具体可以包括交互层,该交互层可以用于生成多种高阶关系组合,该多种高阶关系组合即包括用户和多种行为产生的信息的组合,并对多种高阶关系组合进行编码得到多种高阶交互图。本申请实施方式中,还可以设置交互层,从而挖掘用户和多种行为之间的关联关系。

在一种可能的实施方式中,CIGCN还可以包括GCN层,可以用于从至少一种高阶交互图中提取得到,得到用户的多种行为对应的多种表征数据。因此,本申请实施方式中,可以通过GCN来从高阶交互图中提取特征,从而得到每种行为的表征数据。

在一种可能的实施方式中,推荐网络中还可以包括多专家解耦输入网络(Multi-Expert with Separate Input,MESI),该MESI的输入可以包括CIGCN输出的多种行为对应的解耦表征数据。该多专家解耦输入网络包括多个专家网络、至少一个塔任务网络以及至少一个任务感知门,将每种表征数据作为对应的专家网络的输入,该至少一个任务感知门用于以多种表征数据为指导,从多个专家网络输出的多种数据中筛选出每个任务感知门上层的塔任务网络的所需的至少一种数据,至少一个塔任务网络用于通过对应的任务感知门输入的至少一种数据得到推荐信息。本申请提供的MESI中,任务感知门以输入的解耦表征为指导,可以理解为将解耦表征作为专家网络的输入的同时,也将解耦表征视为标签,从而指导任务感知门来筛选出与塔任务网络更匹配的特征,在学习权重的过程中,可以学习到与各个解耦表征更适配的权重,相当于学习到自适应权重,从而解决对网络进行反向更新时的梯度冲突。

第四方面,本申请提供一种推荐网络,具体可以包括:MESI,该MESI的输入可以包括多种行为对应的解耦表征数据。该多专家解耦输入网络包括多个专家网络、至少一个塔任务网络以及至少一个任务感知门,将每种表征数据作为对应的专家网络的输入,该至少一个任务感知门用于以多种表征数据为指导,从多个专家网络输出的多种数据中筛选出每个任务感知门上层的塔任务网络的所需的至少一种数据,至少一个塔任务网络用于通过对应的任务感知门输入的至少一种数据得到推荐信息。本申请提供的MESI中,任务感知门以输入的解耦表征为指导,可以理解为将解耦表征作为专家网络的输入的同时,也将解耦表征视为标签,从而指导任务感知门来筛选出与塔任务网络更匹配的特征,在学习权重的过程中,可以学习到与各个解耦表征更适配的权重,相当于学习到自适应权重,从而解决对网络进行反向更新时的梯度冲突。

第五方面,本申请提供一种推荐装置,包括:

获取模块,用于获取行为表征集合,行为表征集合包括用户的多种行为的表征;

转换模块,用于将行为表征集合作为压缩交互图卷积网络的输入,输出多种表征数据,多种表征数据与多种行为对应,其中,压缩交互图卷积网络用于对用户的多种行为的表征进行编码得到多种高阶交互图,并从多种高阶交互图中筛选出每种行为对应的至少一种高阶交互图,通过每种行为对应的至少一种高阶交互图得到多种表征数据;

推荐模块,用于通过多种表征数据获取推荐信息,推荐信息包括针对用户进行推荐的信息。

在一种可能的实施方式中,压缩交互图卷积网络包括图注意力网络,注意力网络用于通过注意力机制从多种高阶交互图中筛选出每种行为对应的至少一种高阶交互图。

在一种可能的实施方式中,图注意力网络的输入与输出之间还包括残差连接。

在一种可能的实施方式中,压缩交互图卷积网络还包括交互层,交互层用于生成多种高阶关系组合,并对多种高阶关系组合进行编码得到多种高阶交互图,多种高阶关系组合包括用户和多种行为产生的信息的组合。

在一种可能的实施方式中,压缩交互图卷积网络还包括图卷积层,图卷积层用于从对应的至少一种高阶交互图提取特征,得到多种表征数据。

在一种可能的实施方式中,转换模块,具体用于将多种表征数据中的每种表征数据作为多专家解耦输入网络的输入,输出推荐信息。

在一种可能的实施方式中,多专家解耦输入网络包括多个专家网络、至少一个塔任务网络以及至少一个任务感知门,多个专家网络用于从输入数据中提取特征,多种表征数据中每种表征数据作为对应的专家网络的输入,至少一个任务感知门用于以多种表征数据为指导,从多个专家网络输出的多种数据中筛选出每个任务感知门上层的塔任务网络的所需的至少一种数据,至少一个塔任务网络用于通过对应的任务感知门输入的至少一种数据得到推荐信息。

在一种可能的实施方式中,至少一个塔任务网络的任务包括预测点击率和预测转化信息,点击率为用户点击目标对象的概率,转化信息包括转化率或者转化时长,转化率为用户点击目标对象后对目标对象进行转化操作的概率,转化时长包括用户点击目标对象后对目标对象进行转化操作后停留的时长。

在一种可能的实施方式中,获取模块,具体用于将用户的多种行为产生的数据作为嵌入embedding网络的输入,输出表征集合。

第六方面,本申请提供一种推荐装置,包括:

获取模块,用于获取多种表征数据,多种表征数据包括从用户的多种行为产生的数据中提取到的特征;

推荐模块,用于将多种表征数据分别作为多专家解耦输入网络的输入,输出推荐信息,其中,多专家解耦输入网络包括多个专家网络、至少一个塔任务网络以及至少一个任务感知门,多种表征数据中每种表征数据作为对应的专家网络的输入,至少一个任务感知门用于以多种表征数据为指导,从多个专家网络输出的多种数据中筛选出每个任务感知门上层的塔任务网络的所需的至少一种数据,至少一个塔任务网络用于通过对应的任务感知门输入的至少一种数据得到推荐信息。

在一种可能的实施方式中,至少一个塔任务网络的任务包括预测点击率和预测转化信息,点击率为用户点击目标对象的概率,转化信息包括转化率或者转化时长,转化率为用户点击目标对象后对目标对象进行转化操作的概率,转化时长包括用户点击目标对象后对目标对象进行转化操作后停留的时长。

第七方面,本申请提供一种推荐装置,该推荐装置包括:处理器、存储器、输入输出设备以及总线;该存储器中存储有计算机指令;该处理器在执行该存储器中的计算机指令时,该存储器中存储有计算机指令;该处理器在执行该存储器中的计算机指令时,用于实现如第一方面任意一种实现方式。

第八方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器和输入/输出端口,所述处理器用于实现上述第一方面或第二方面所述的推荐方法所涉及的处理功能,所述输入/输出端口用于实现上述第一方面所述的推荐方法所涉及的收发功能。

在一种可能的设计中,该芯片系统还包括存储器,该存储器用于存储实现上述第一方面或第二方面所述的方法所涉及功能的程序指令和数据。

该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

第九方面,本申请实施例提供一种计算机可读存储介质。该计算机可读存储介质中存储有计算机指令;当该计算机指令在计算机上运行时,使得该计算机执行如第一方面或第二方面中任意一种可能的实现方式所述的方法。

第十方面,本申请实施例提供一种计算机程序产品。该计算机程序产品包括计算机程序或指令,当该计算机程序或指令在计算机上运行时,使得该计算机执行如第一方面或第二方面中任意一种可能的实现方式所述的方法。

附图说明

图1为本申请应用的一种人工智能主体框架示意图;

图2为本申请提供的一种系统架构示意图;

图3为本申请提供的另一种系统架构示意图;

图4为本申请提供的一种应用场景示意图;

图5为本申请提供的另一种应用场景示意图;

图6为本申请提供的一种推荐模型的结构意图;

图7为本申请提供的另一种推荐模型的结构意图;

图8为本申请提供的另一种推荐模型的结构意图;

图9为本申请提供的另一种推荐模型的结构意图;

图10为本申请提供的另一种推荐模型的结构意图;

图11为本申请提供的一种推荐方法的流程意图;

图12为本申请提供的另一种推荐方法的流程意图;

图13为本申请提供的另一种应用场景示意图;

图14为本申请提供的另一种应用场景示意图;

图15为本申请提供的另一种应用场景示意图;

图16为本申请提供的一种推荐装置的结构示意图;

图17为本申请提供的另一种推荐装置的结构示意图;

图18为本申请提供的另一种推荐装置的结构示意图;

图19为本申请提供的另一种推荐装置的结构示意图;

图20为本申请提供的一种芯片的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请提供的推荐方法可以应用于人工智能(artificial intelligence,AI)场景中。AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。

首先对人工智能系统总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。

(1)基础设施

基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(CPU、NPU、GPU、ASIC、FPGA等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。

(2)数据

基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。

(3)数据处理

数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。

其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。

推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。

决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。

(4)通用能力

对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。

(5)智能产品及行业应用

智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能交通、智能医疗、自动驾驶、智慧城市等。

本申请实施例涉及了神经网络的相关应用,为了更好地理解本申请实施例的方案,下面先对本申请实施例可能涉及的神经网络的相关术语和概念进行介绍。

(1)卷积神经网络

卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取特征的方式与位置无关。卷积核可以以随机大小的矩阵的形式化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。

(2)图神经网络(Graph Convolutional Network,GCN)

图神经网络是一种建模处理非欧式空间数据(如图数据)的深度学习模型。其原理是使用成对消息传递,使得图节点通过与其邻居交换信息来迭代地更新其对应的表征。

GCN与CNN类似,区别在于,CNN的输入通常是二维结构数据,而GCN的输入通常是图结构数据。GCN精妙地设计了一种从图数据中提取特征的方法,从而可以使用这些特征去对图数据进行节点分类(node classification)、图分类(graph classification)、边预测(link prediction),还可以得到图的嵌入表示(graph embedding)等。

(3)损失函数

在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。该损失函数通常可以包括误差平方均方、交叉熵、对数、指数等损失函数。例如,可以使用误差均方作为损失函数,定义为

(4)反向传播算法

一种计算根据损失函数计算模型参数梯度、更新模型参数的算法。神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。

本申请实施方式中,在训练阶段或者推理阶段,都可以采用BP算法来对模型进行训练,得到训练后的模型。

(5)梯度:损失函数关于参数的导数向量。

(6)随机梯度:机器学习中样本数量很大,所以每次计算的损失函数都由随机采样得到的数据计算,相应的梯度称作随机梯度。

(7)Embedding:指样本的特征表示或者词嵌入表征。

(8)推荐系统:推荐系统根据用户的历史点击行为数据,采用机器学习算法进行分析和学习,然后对用户的新请求进行预测,返回个性化物品推荐列表。

(9)点击率(Click Through Rate,CTR):指用户在特定环境下点击某个展示物品的概率。

(10)转化率(Post-click conversion rate,CVR):指用户在特定环境下对已点击的某个展示物品转化的概率,例如,若用户点击了某个APP的图标,转化即指下载、安装、注册等行为。

(11)迁移学习:运用已有的知识来辅助学习新的知识,核心是找到已有知识和新知识之间的相似性。

(12)多任务学习:把多个相关的任务放在一起学习,同时学习多个任务。

(13)集成学习:集成学习方法使用多种学习算法来获得比单独使用任何单独的学习算法更好的预测性能。

(14)模型收敛:模型经过多轮迭代后模型的预测值与实际值之间的误差小于某个预先设定的较小的值。

本申请实施例提供的推荐方法可以在服务器上被执行,还可以在终端设备上被执行。其中该终端设备可以是具有图像处理功能的移动电话、平板个人电脑(tabletpersonal computer,TPC)、媒体播放器、智能电视、笔记本电脑(laptop computer,LC)、个人数字助理(personal digital assistant,PDA)、个人计算机(personal computer,PC)、照相机、摄像机、智能手表、可穿戴式设备(wearable device,WD)或者自动驾驶的车辆等,本申请实施例对此不作限定。

下面介绍本申请实施例提供的系统架构。

参见图2,本申请实施例提供了一种系统架构200。如系统架构200所示,数据采集设备260可以用于采集训练数据。在数据采集设备260采集到训练数据之后,将这些训练数据存入数据库230,训练设备220基于数据库230中维护的训练数据训练得到目标模型/规则201。

下面对训练设备220基于训练数据得到目标模型/规则201进行描述。示例性地,训练设备220对多帧样本图像进行处输出对应的预测标签,并计算预测标签和样本的原始标签之间的损失,基于该损失对分类网络进行更新,直到预测标签接近样本的原始标签或者预测标签和原始标签之间的差异小于阈值,从而完成目标模型/规则201的训练。具体描述详见后文中的训练方法。

本申请实施例中的目标模型/规则201具体可以为神经网络。需要说明的是,在实际的应用中,数据库230中维护的训练数据不一定都来自于数据采集设备260的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备220也不一定完全基于数据库230维护的训练数据进行目标模型/规则201的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。

根据训练设备220训练得到的目标模型/规则201可以应用于不同的系统或设备中,如应用于图2所示的执行设备210,所述执行设备210可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR),车载终端,电视等,还可以是服务器或者云端等。在图2中,执行设备210配置有收发器212,该收发器可以包括输入/输出(input/output,I/O)接口或者其他无线或者有线的通信接口等,用于与外部设备进行数据交互,以I/O接口为例,用户可以通过客户设备240向I/O接口输入数据。

在执行设备210对输入数据进行预处理,或者在执行设备210的计算模块212执行计算等相关的处理过程中,执行设备210可以调用数据存储系统250中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统250中。

最后,I/O接口212将处理结果返回给客户设备240,从而提供给用户。

值得说明的是,训练设备220可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则201,该相应的目标模型/规则201即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。

在附图2中所示情况下,用户可以手动给定输入数据,该手动给定可以通过收发器212提供的界面进行操作。另一种情况下,客户设备240可以自动地向收发器212发送输入数据,如果要求客户设备240自动发送输入数据需要获得用户的授权,则用户可以在客户设备240中设置相应权限。用户可以在客户设备240查看执行设备210输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备240也可以作为数据采集端,采集如图所示输入收发器212的输入数据及输出收发器212的输出结果作为新的样本数据,并存入数据库230。当然,也可以不经过客户设备240进行采集,而是由收发器212直接将如图所示输入收发器212的输入数据及输出收发器212的输出结果,作为新的样本数据存入数据库230。

值得注意的是,附图2仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图2中,数据存储系统250相对执行设备210是外部存储器,在其它情况下,也可以将数据存储系统250置于执行设备210中。

如图2所示,根据训练设备220训练得到目标模型/规则201,该目标模型/规则201在本申请实施例中可以是本申请中的推荐模型。

示例性地,本申请提供的神经网络训练方法的应用的系统架构可以如图3所示。在该系统架构300中,服务器集群310由一个或多个服务器实现,可选的,与其它计算设备配合,例如:数据存储、路由器、负载均衡器等设备。服务器集群310可以使用数据存储系统250中的数据,或者调用数据存储系统250中的程序代码实现本申请提供的神经网络训练方法的步骤。

用户可以操作各自的用户设备(例如本地设备301和本地设备302)与服务器集群310进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。

每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与服务器集群310进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。具体地,该通信网络可以包括无线网络、有线网络或者无线网络与有线网络的组合等。该无线网络包括但不限于:第五代移动通信技术(5th-Generation,5G)系统,长期演进(long termevolution,LTE)系统、全球移动通信系统(global system for mobile communication,GSM)或码分多址(code division multiple access,CDMA)网络、宽带码分多址(widebandcode division multiple access,WCDMA)网络、无线保真(wireless fidelity,WiFi)、蓝牙(bluetooth)、紫蜂协议(Zigbee)、射频识别技术(radio frequency identification,RFID)、远程(Long Range,Lora)无线通信、近距离无线通信(near field communication,NFC)中的任意一种或多种的组合。该有线网络可以包括光纤通信网络或同轴电缆组成的网络等。

在另一种实现中,执行设备210的一个方面或多个方面可以由每个本地设备实现,例如,本地设备301可以为执行设备210提供本地数据或反馈计算结果。

需要注意的,执行设备210的所有功能也可以由本地设备实现。例如,本地设备301实现执行设备210的功能并为自己的用户提供服务,或者为本地设备302的用户提供服务。

通常,机器学习系统可以包括个性化推荐系统,可以基于输入数据和标签,通过梯度下降等优化方法训练机器学习模型的参数,当模型参数收敛之后,可利用该模型来完成未知数据的预测。以个性化推荐系统中的点击率预测为例,其输入数据包括用户特征、物品特征和上下文特征等。如何根据用户的偏好,预测出个性化的推荐列表,对提升推荐系统的用户体验和平台收入有着重要的影响。

例如,在网络应用中,用户和商品之间存在多种交互行为,如点击、喜欢、加购物车或者购买等,犹豫不同类型的行为表达了用户和商品交互时不同的潜在意图,因此可以使用用户多行为信息来捕获用户的真实意图。

一些推荐方案中,可以利用用户行为交互的历史记录,分别学习每个行为的表征,然后利用学习好的表征来建模不同行为之间的高阶关系。而这种方式仅在行为层次建模了用户的多行为信息,对多行为信息利用不够充分,对于处理后的多行为信息的利用,通常仅将目标作为监督,或者均将学习好的不同行为下的用户和商品的表征通过相加、堆叠等方式共同输入,这会导致在学习过程中的梯度矛盾的问题。

如一些已有推荐方案中,基于图神经网络的多行为推荐系统可以通过将用户多行为的历史交互数据“视为特征”来用于多行为数据。它们将用户和商品看作图上的节点,用户和商品之间的交互看作图上的边,并通过信息传递和聚合来捕获异质的交互信息。而这种方案仅通过利用行为级表示进行关系建模来考虑行为级关系。在将多行为数据“视为特征”时,对用户和商品层面的高阶关系建模不足。

又如一些已有的基于多任务学习的推荐方案中,通过设计多任务学习的模块来处理不同行为的协同信号。通过这一范式,多任务学习的多行为推荐系统可以充分利用不同行为的协同信号来监督共享表征的学习。而由于该多任务学习的范式是以共享表征作为输入,将存在由于样本差异而造成的冲突风险,因为不同的样本可能对不同的任务产生不同的偏好。

即已有推荐方案中,仅在行为层次建模了用户多行为信息,对多行为信息的利用不够充分,或者将学习好的不同行为下的用户和商品的表征通过相加、堆叠等方式共同输入,导致在学习过程中的梯度矛盾的问题。因此,本申请提供一种用户多行为推荐方法,提供了压缩交互图的多行为推荐框架,该框架由压缩交互图卷积和多专家解耦输入两个部分组成,分别将用户多行为信息看作“特征”和“标签”来加以利用,从而得到更准确的推荐结果。

示例性地,本申请应用推荐框架可以如图4所示,可以分为训练部分和在线推理部分。其中,在训练部分,训练集中包括输入数据和对应的标签,如在用户商品推荐场景中,该训练集可以包括用户点击、收藏或喜欢的商品以及最终购买的商品。将训练集输入至初始模型,通过梯度下降等优化方法训练机器学习模型的参数,得到推荐模型。在线推理部分中,即可将推荐模型部署于推荐平台,如部署于服务器或者终端中,此处以服务器为例,即可通过服务器来输出针对用户的推荐列表,如在商品推荐场景中,即可在用户终端的主页展示为用户推荐的商品的信息,如商品图标或者链接标题等,或者在用户点击了某个商品后,即可在推荐区域展示为用户推荐的商品的图标或者链接标题等。

在一些应用场景中,推荐流程可以如图5所示,其中可以包括展示列表、日志、离线训练以及线上预测等部分。用户在前端展示列表中进行一系列的行为,如浏览、点击、评论、下载等,产生行为数据,存储于日志中。推荐系统利用包括用户行为日志在内的数据进行离线的模型训练,在训练收敛后产生预测模型,将模型部署在线上服务环境并基于用户的请求访问、商品特征和上下文信息给出推荐结果,然后用户对该推荐结果产生反馈形成用户数据。

其中,在离线训练部分,本申请提供的多行为推荐模型通过用户与商品之间的多行为历史交互来对用户的行为方式和动态兴趣进行建模。可以有效且高效的用户兴趣建模,可以提升推荐模型的准确率和个性化,带来用户体验的极大提升。

为便于理解,首先对本申请提供的推荐模型的结构进行介绍。

本申请提供的推荐模型中,具体可以包括压缩交互图卷积网络(CompressedInteraction Graph Convolution,CIGCN)、多专家解耦输入网络(Multi-Expert withSeparate Input,MESI)或者其结合,下面分别对不同的部署方式进行介绍。

一、CIGCN

该CIGCN可以用于对用户的多种行为信息进行编码,得到多种行为的解耦表征。

其中,CIGCN可以包括多层,分别用于对用户的多种行为的表征进行编码得到多种高阶交互图,如对多种行为的表征进行组合后分别对组合后的表征进行编码,并从多种高阶交互图中筛选出每种行为对应的至少一种高阶交互图,以及通过每种行为对应的至少一种高阶交互图得到多种表征数据。每种行为对应一种表征,从而实现多种行为的解耦表征。随后即可将解耦表征作为推荐网络的输入,即可输出针对用户产生的多行为的推荐信息。

在一种可能的实施方式中,该CIGCN可以包括图注意力(graph attention,GA)网络,所述注意力网络用于通过注意力机制从所述多种高阶交互图中筛选出每种行为对应的至少一种高阶交互图。因此,本申请实施方式中,可以通过GA网络来从多种高阶交互图中筛选出与每种行为更匹配的至少一种高阶交互图,从而可以更准确地挖掘出各个行为之间的关系,提高得到后续的解耦表征的准确性。

在一种可能的实施方式中,GA网络的输入与输出之间可以设置残差连接,从而探索高阶图信息,避免学习过度的过拟合现象。

在一种可能的实施方式中,CIGCN中具体可以包括交互层,该交互层可以用于生成多种高阶关系组合,该多种高阶关系组合即包括用户和多种行为产生的信息的组合,并对多种高阶关系组合进行编码得到多种高阶交互图。本申请实施方式中,还可以设置交互层,从而挖掘用户和多种行为之间的关联关系。

在一种可能的实施方式中,CIGCN还可以包括GCN层,可以用于从至少一种高阶交互图中提取得到,得到用户的多种行为对应的多种表征数据。因此,本申请实施方式中,可以通过GCN来从高阶交互图中提取特征,从而得到每种行为的表征数据。

示例性地,CIGCN的结构可以如图6所示,其中,CIGCN中各层网络的网络数量可以与行为数量相关,如每种行为可以具有相应的交互层中的运算、GA网络以及GCN等。以其中一种行为对应的网络为例,在交互层中,可以首先利用矩阵乘法作为交互算子生成对实例级高阶关系,该高阶关系如用户-用户、用户-商品和商品-商品,并对高阶关系进行显式编码得到高阶交互图。然后利用GA网络的注意力机制选择与当前的行为更有关联性的高阶交互图,如图6中所示出的图注意力(graph attention,GA)网络,从而可以压缩图空间。CIGCN中还设置了GCN,该GCN用于从输入的高阶交互图中提取特征,从而得到解耦的多行为的表征数据。

可选地,GA网络的输入和输出之间还设置残差连接,从而避免出现过拟合的情况。例如,GA的结构可以如图7所示,将至少一帧高阶交互图作为GA网络的输入,并在GA的输入与输出之间设置残差连接,如图7中所示出的对注意力网络的输出与输入进行乘积运算,对注意力网络的输出与输入之间进行融合,从而平滑GA网络的学习结果。

此外,在CIGCN中还可以增加embedding层,可以用于将用户的多种行为产生的数据转换为对应的表征数据。可以理解为将用户行为产生的数据转换为神经网络可识别的表征数据类型。

因此,本申请提供一种CIGCN,显式建模实例级高阶关系。具体而言,本申请利用矩阵乘法作为交互算子生成高阶交互图,并对这些图进行图卷积操作,以探索高阶行为关联,从而得到每种行为更准确的表征数据,提高其作为推荐网络的输入得到的输出结果的准确性。

二、MESI

该MESI的输入可以包括多种行为对应的解耦表征数据。该多专家解耦输入网络包括多个专家网络、至少一个塔任务网络以及至少一个任务感知门,将每种表征数据作为对应的专家网络的输入,该至少一个任务感知门用于以多种表征数据为指导,从多个专家网络输出的多种数据中筛选出每个任务感知门上层的塔任务网络的所需的至少一种数据,至少一个塔任务网络用于通过对应的任务感知门输入的至少一种数据得到推荐信息。本申请提供的MESI中,任务感知门以输入的解耦表征为指导,可以理解为将解耦表征作为专家网络的输入的同时,也将解耦表征视为标签,从而指导任务感知门来筛选出与塔任务网络更匹配的特征,在学习权重的过程中,可以学习到与各个解耦表征更适配的权重,相当于学习到自适应权重,从而解决对网络进行反向更新时的梯度冲突。

具体地,每个塔任务网络分别具有对应的预测任务。例如,该预测任务可以包括预测点击率和预测转化信息,点击率为用户点击目标对象的概率,转化信息包括转化率或者转化时长,转化率为用户点击目标对象后对目标对象进行转化操作的概率,转化时长包括用户点击目标对象后对目标对象进行转化操作后停留的时长。

示例性地,本申请提供的MESI的结构可以参阅图8。示例性地,该MESI中可以包括多个专家网络、多个任务感知门以及多个塔任务网络。MESI的输入包括解耦的多种行为的表征数据,专家网络从输入的表征数据中提取特征,任务感知门对多个专家网络输出的特征进行筛选或者加权融合,从而得到下一层塔任务网络所需的特征,塔任务网络即可基于输入的特征输出对应的预测结果。

通常,专家网络的数量与用户行为的种类相关,如用户行为的种类越多,专家网络也可以设置更多,从而使每种用户行为至少对应一个专家网络,因此针对每种用户行为都可以通过专家网络来提取特征。塔任务网络的数量通常也与需执行的预测任务的种类相关,如每种预测任务可以通过一个或者多个塔任务网络来输出预测结果,当需执行多种预测任务时,即可设置多个塔任务网络来输出预测结果。

例如,MESI的结构可以如图9所示,以用于执行多个任务(图9中以P个任务为例),该多个任务为针对用户进行推荐的相关任务,每个任务分别对应一个或多个塔任务网络。每个塔任务网络的参数通常不相同,该参数可以包括塔任务网络中各个操作的内部参数,如卷积核内的参数,也可以包括各个操作的输出所占的权重参数等。

具体地,一些场景中,该多个任务可以包括预测点击率、预测转化信息等,该转化信息可以包括转化率或者转化时长等信息,该转化率即用户点击过对象之后对该对象进行进一步转化的概率,该转化时长即用户点击过对象后对该对象进行进一步转化后停留的时长。响应地,塔任务网络具体可以用于执行点击率预测、转化率预测或者模板识别等任务等。例如,若该任务包括点击率预测,则该塔任务网络可以用于基于输入的特征来预测点击率,得到点击率预测结果;若该任务包括转化率预测,则该塔专家结构可以用于基于输入的特征来预测转化率,得到转化率预测结果;若该任务是目标识别,则该塔任务网络可以用于基于输入的特征进行目标识别,得到识别出来的目标的信息等,具体可以根据实际应用场景进行调整。

每个塔任务网络的输入端连接对应的任务感知门的输出端,每个任务感知门的输入端连接多个专家网络的输出端,可以用于融合多个专家网络的输出,得到其下一层塔任务网络所需的特征。从而可以使各个专家网络从不同行为表征数据中提取到的特征可以按照适应的比例输入至各个塔任务网络,使塔任务网络可以输出准确的任务输出结果。

因此,本申请实施方式中,使用从用户多行为的异质关系出发来学习解耦的输入。接着通过显式使用解耦的输入来学习任务的感知信息,当知识跨不同任务传输时,多专家解耦输入可以缓解同一输入的潜在梯度冲突,从而使学习过程更加稳定和有效。

三、CIGCN+MESI

其中,CIGCN输出的多种行为的解耦的多种表征数据,可以分别作为MESI中多个专家网络的输入,通过MESI中的塔任务网络输出对应的预测结果。

例如,CIGCN和MESI组合的网络结构可以参阅图10,其具体结构可以参阅前述图6-图9的先关介绍此处不再赘述。

因此,本申请实施方式中,提供的CIGCN在实例粒度建模了用户和商品之间的高阶关联,从而挖掘各个行为之间的关联性。并通过显式使用解耦的输入来学习任务的感知信息,当知识跨不同任务传输时,解耦输入可以缓解同一输入的潜在梯度冲突,从而使学习过程更加稳定和有效。

下面结合前述提供的神经网络的结构,对本申请提供的推荐方法流程进行介绍。

首先,本申请提供一种推荐方法的流程可以参阅图11,如下所述。

1101、获取行为表征集合。

其中,该行为表征集合中包括用户的多种行为的表征。如用户在客户端的显示界面可以进行多种操作,如点击、收藏或者加购物车等行为,均可通过表征数据来表示。

例如,可以通过embedding网络来将用户的多种行为产生的数据转换为表征,可以理解为转换为神经网络可识别或者处理的数据类型。

1102、将行为表征集合作为压缩交互图卷积网络的输入,输出多种表征数据。

随后将行为表征集合中的表征作为CIGCN的输入,输出解耦的多种行为对应的表征数据,每种行为对应至少一种表征数据,从而得到解耦后的多种行为的更高阶的表征数据。

具体地,该CIGCN可以参阅前述图5至图10中的相关描述,此处不再赘述。

1103、通过多种表征数据获取推荐信息。

在得到多种行为中每种行为对应的表征数据后,即可将得到的多种表征数据分别作为推荐网络的输入,输出对应的推荐信息。

该推荐网络可以包括常用的推荐模型,如用户行为和属性用于推荐系统(MBGCN),也可以包括前述的MESI。本申请示例性地,以MESI为例进行示例性介绍,也可以替换为其他推荐模型,具体可以根据实际应用场景确定。

具体地,该MESI可以参阅前述图5至图10中的相关描述,此处不再赘述。

因此,本申请实施方式中,通过CIGCN中的交互层将多行为视为特征,构建多行为的高阶交互图,并通过注意力机制筛选出每种行为更具有关联性的至少一种高阶交互图,从而挖掘出多种行为之间的关联性,得到解耦的多种行为的表征数据。且通过本申请提供的多专家网络且解耦输入MESI,可以基于解耦的行为表征,在任务感知门中以输入的解耦特征为指导来筛选更有效的特征,从而在训练过程中,即可在各种行为的表征的指导下学习到适应性的权重,以缓解不同行为对应的网络之间的梯度冲突。相当于将输入的行为的表征作为标签来进行监督学习,从而学习到与各个行为匹配的权重,解决已有方案中在进行反向更新时的梯度问题。

此外,针对MESI单独部署的方案,本申请还提供一种推荐方法,参阅图12,如下所述。

1201、获取多种表征数据。

其中,该多种表征数据可以包括用户的多种行为产生的数据的表征,该多种表征数据为多种行为对应的解耦的表征。通常可以通过embedding网络层或者其他特征提取网络等输出得到。

例如,该多种表征数据可以由本申请提供的CIGCN得到,或者也可以由一些已有的神经网络输出得到。

1202、将多种表征数据分别作为多专家解耦输入网络的输入,输出推荐信息。

将多种表征数据分别作为MESI中多个专家网络的输入,从而输出针对用户的多种行为的推荐数据。

其中,在MESI中,输入可以包括多种行为对应的解耦表征数据。该多专家解耦输入网络包括多个专家网络、至少一个塔任务网络以及至少一个任务感知门,将每种表征数据作为对应的专家网络的输入,该至少一个任务感知门用于以多种表征数据为指导,从多个专家网络输出的多种数据中筛选出每个任务感知门上层的塔任务网络的所需的至少一种数据,至少一个塔任务网络用于通过对应的任务感知门输入的至少一种数据得到推荐信息。本申请提供的MESI中,任务感知门以输入的解耦表征为指导,可以理解为将解耦表征作为专家网络的输入的同时,也将解耦表征视为标签,从而指导任务感知门来筛选出与塔任务网络更匹配的特征,在学习权重的过程中,可以学习到与各个解耦表征更适配的权重,相当于学习到自适应权重,从而解决对网络进行反向更新时的梯度冲突。

为便于理解,下面示例性地,以一些具体的应用场景为例,对CIGCN和MESI组合的网络结构的效果进行介绍。

在大量的个性化服务场景当中,用户与商品之间会有基于不同类型行为的交互记录,推荐模型将对用户的多行为交互历史进行建模,预测用户的基于目标行为可能产生交互的商品,并将商品排序后展示给用户。可以通过本申请提供的方式来进行点击率预测,并按照预测的点击率进行排序,并在推荐页面按照排序进行展示;或者按照预测的点击率的值进行排序展示;或者对点击率的前几进行排序;或者对各个待推荐的对象进行评分,按照评分值进行排序展示等。本申请提供的方法应用的场景具体例如,在互联网平台中多种场景的推荐,如音乐、文本或者视频的推荐或者用户搜索界面中的推荐,在购物平台中的商品推荐,各个用户终端中的应用中的广告推荐等多种推荐场景。下面示例性地,以一些具体的应用场景为例对本申请提供的方法所应用的具体推荐场景进行介绍。

例如,本申请提供的方法可以应用于APP推荐场景,如图13所示,可以在用户的终端的显示界面中显示推荐的app的图标,以便于用户对推荐的app进行进一步的点击或者下载等操作,使用户可以快速查找所需的app,提高用户体验。

又例如,本申请提供的方法可以应用于商品推荐场景,如图14所示,可以在用户的终端的显示界面中显示推荐的商品的图标,以便于用户对推荐的商品进行进一步的点击、加购或者购买等操作,使用户可以查看所需的商品,提高用户体验。

还例如,本申请提供的方法可以应用于音乐推荐场景,如图15所示,可以在用户的终端的显示界面中显示推荐的音乐的图标,以便于用户对推荐的音乐进行进一步的点击、收藏或者播放等操作,使用户可以查看更偏好的音乐,提高用户体验。

以app推荐场景为例,可以建模用户在应用市场中的多行为交互。在具体场景中,某个用户基于不同行为所交互过的商品组成所有不同行为下的商品集合,如表示为χ=[X

具体地,首先通过Embedding层将用户和商品信息(如ID编号)映射成低维连续表征向量。随后,将用户低维表征x和商品低维表征y作为模型的输入,经过CIGCN处理,得到不同行为的解耦表征,之后将解耦的表征输入MESI,学习不同行为下的感知信息,并将输出用作不同行为的预测。

其中,CIGCN执行的具体流程可以分为以下步骤:

首先利用矩阵乘法作为交互算子生成对实例级高阶关系(包括用户-用户、用户-商品和商品-商品)进行显式编码的高阶交互图。

然后利用节点注意力机制(如何理解)选择最有用的高阶交互图并同时压缩图空间。

随后利用GCN与图上的输入用残差连接起来,以通过学习捕获高阶图信息,随着汇聚后的多阶节点的邻居关系,输出每个用户行为已捕获的用户和行为之间的高阶关系表征。

MESI执行的步骤可以包括:

首先,利用不同的专家网络去提取解耦输入表征的感知信息;

接着,使用单独的输入为每个任务生成任务感知门,以解耦表征为指导进行选择所使用的专家网络的输出信息,以选择对预测此任务有用的专家子集。

最后利用塔结构去计算不同任务下的预测分数并输出,即得到预测的推荐信息。

为便于理解,在多个用户多行为推荐公开数据集上进行了性能比较,如Beibei、Taobao和IJCAI数据集。使用测试指标HR以及NDCG,以一些已有的方案为对比,如基于神经网络的单行为模型:DMF和AutoRec;基于神经网络的多行为模型:NMTR,DIPN和MATN;基于图神经网络的单行为模型:NGCF和LightGCN;基于图神经网络的多行为模型NGCF

表1

显然,在推荐精度上,本申请提供的模型在Hit Rate和NDCG三个指标上都取得了显著提升。

此外,针对本申请提供的模型的训练效率和推理效率与一些已有的方案进行了对比,训练时长对比可以如表2,推理时长对比可以如表3所示。

表2

表3

显然,本申请提供的模型在训练时长和推理时长上均有显著缩短,可以更高效地实现训练和推理。

前述对本申请提供的模型以及方法进行了详细介绍,下面对本申请提供的装置结构进行介绍。

参阅图16,本申请提供的一种推荐装置的结构示意图,包括:

获取模块1601,用于获取行为表征集合,行为表征集合包括用户的多种行为的表征;

转换模块1602,用于将行为表征集合作为压缩交互图卷积网络的输入,输出多种表征数据,多种表征数据与多种行为对应,其中,压缩交互图卷积网络用于对用户的多种行为的表征进行编码得到多种高阶交互图,并从多种高阶交互图中筛选出每种行为对应的至少一种高阶交互图,通过每种行为对应的至少一种高阶交互图得到多种表征数据;

推荐模块1603,用于通过多种表征数据获取推荐信息,推荐信息包括针对用户进行推荐的信息。

在一种可能的实施方式中,压缩交互图卷积网络包括图注意力网络,注意力网络用于通过注意力机制从多种高阶交互图中筛选出每种行为对应的至少一种高阶交互图。

在一种可能的实施方式中,图注意力网络的输入与输出之间还包括残差连接。

在一种可能的实施方式中,压缩交互图卷积网络还包括交互层,交互层用于生成多种高阶关系组合,并对多种高阶关系组合进行编码得到多种高阶交互图,多种高阶关系组合包括用户和多种行为产生的信息的组合。

在一种可能的实施方式中,压缩交互图卷积网络还包括图卷积层,图卷积层用于从对应的至少一种高阶交互图提取特征,得到多种表征数据。

在一种可能的实施方式中,转换模块1602,具体用于将多种表征数据中的每种表征数据作为多专家解耦输入网络的输入,输出推荐信息。

在一种可能的实施方式中,多专家解耦输入网络包括多个专家网络、至少一个塔任务网络以及至少一个任务感知门,多个专家网络用于从输入数据中提取特征,多种表征数据中每种表征数据作为对应的专家网络的输入,至少一个任务感知门用于以多种表征数据为指导,从多个专家网络输出的多种数据中筛选出每个任务感知门上层的塔任务网络的所需的至少一种数据,至少一个塔任务网络用于通过对应的任务感知门输入的至少一种数据得到推荐信息。

在一种可能的实施方式中,至少一个塔任务网络的任务包括预测点击率和预测转化信息,点击率为用户点击目标对象的概率,转化信息包括转化率或者转化时长,转化率为用户点击目标对象后对目标对象进行转化操作的概率,转化时长包括用户点击目标对象后对目标对象进行转化操作后停留的时长。

在一种可能的实施方式中,获取模块1601,具体用于将用户的多种行为产生的数据作为嵌入embedding网络的输入,输出表征集合。

参阅图17,本申请提供的另一种推荐装置的结构示意图,包括:

获取模块1701,用于获取多种表征数据,多种表征数据包括从用户的多种行为产生的数据中提取到的特征;

推荐模块1702,用于将多种表征数据分别作为多专家解耦输入网络的输入,输出推荐信息,其中,多专家解耦输入网络包括多个专家网络、至少一个塔任务网络以及至少一个任务感知门,多种表征数据中每种表征数据作为对应的专家网络的输入,至少一个任务感知门用于以多种表征数据为指导,从多个专家网络输出的多种数据中筛选出每个任务感知门上层的塔任务网络的所需的至少一种数据,至少一个塔任务网络用于通过对应的任务感知门输入的至少一种数据得到推荐信息。

在一种可能的实施方式中,至少一个塔任务网络的任务包括预测点击率和预测转化信息,点击率为用户点击目标对象的概率,转化信息包括转化率或者转化时长,转化率为用户点击目标对象后对目标对象进行转化操作的概率,转化时长包括用户点击目标对象后对目标对象进行转化操作后停留的时长。

请参阅图18,本申请提供的另一种推荐装置的结构示意图,如下所述。

该推荐装置可以包括处理器1801和存储器1802。该处理器1801和存储器1802通过线路互联。其中,存储器1802中存储有程序指令和数据。

存储器1802中存储了前述图11中的步骤对应的程序指令以及数据。

处理器1801用于执行前述图11中任一实施例所示的推荐装置执行的方法步骤。

可选地,该推荐装置还可以包括收发器1803,用于接收或者发送数据。

本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有程序,当其在计算机上运行时,使得计算机执行如前述图11所示实施例描述的方法中的步骤。

可选地,前述的图18中所示的推荐装置为芯片。

请参阅图19,本申请提供的另一种推荐装置的结构示意图,如下所述。

该推荐装置可以包括处理器1901和存储器1902。该处理器1901和存储器1902通过线路互联。其中,存储器1902中存储有程序指令和数据。

存储器1902中存储了前述图12中的步骤对应的程序指令以及数据。

处理器1901用于执行前述图12所示的推荐装置执行的方法步骤。

可选地,该推荐装置还可以包括收发器1903,用于接收或者发送数据。

本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有程序,当其在计算机上运行时,使得计算机执行如前述图12所示实施例描述的方法中的步骤。

可选地,前述的图19中所示的推荐装置为芯片。

本申请实施例还提供了一种推荐装置,该推荐装置也可以称为数字处理芯片或者芯片,芯片包括处理单元和通信接口,处理单元通过通信接口获取程序指令,程序指令被处理单元执行,处理单元用于执行前述图11的方法步骤。

本申请实施例还提供了一种推荐装置,该推荐装置也可以称为数字处理芯片或者芯片,芯片包括处理单元和通信接口,处理单元通过通信接口获取程序指令,程序指令被处理单元执行,处理单元用于执行前述图12的方法步骤。

本申请实施例还提供一种数字处理芯片。该数字处理芯片中集成了用于实现上述处理器1801、处理器1901,或者处理器1801、处理器1901的功能的电路和一个或者多个接口。当该数字处理芯片中集成了存储器时,该数字处理芯片可以完成前述实施例中的任一个或多个实施例的方法步骤。当该数字处理芯片中未集成存储器时,可以通过通信接口与外置的存储器连接。该数字处理芯片根据外置的存储器中存储的程序代码来实现上述实施例中推荐装置或者推荐装置执行的动作。

本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图11-图12所示实施例描述的方法的步骤。

本申请实施例提供的推荐装置或者推荐装置可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使服务器内的芯片执行上述图11-图12所示实施例描述的方法步骤。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。

具体地,前述的处理单元或者处理器可以是中央处理器(central processingunit,CPU)、网络处理器(neural-network processing unit,NPU)、图形处理器(graphicsprocessing unit,GPU)、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)或现场可编程逻辑门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者也可以是任何常规的处理器等。

示例性地,请参阅图20,图20为本申请实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络处理器NPU 200,NPU 200作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路2003,通过控制器2004控制运算电路2003提取存储器中的矩阵数据并进行乘法运算。

在一些实现中,运算电路2003内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路2003是二维脉动阵列。运算电路2003还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路2003是通用的矩阵处理器。

举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器2002中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器2001中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)2008中。

统一存储器2006用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(direct memory access controller,DMAC)2005,DMAC被搬运到权重存储器2002中。输入数据也通过DMAC被搬运到统一存储器2006中。

总线接口单元(bus interface unit,BIU)2010,用于AXI总线与DMAC和取指存储器(instruction fetch buffer,IFB)2009的交互。

总线接口单元2010(bus interface unit,BIU),用于取指存储器2009从外部存储器获取指令,还用于存储单元访问控制器2005从外部存储器获取输入矩阵A或者权重矩阵B的原数据。

DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器2006或将权重数据搬运到权重存储器2002中或将输入数据数据搬运到输入存储器2001中。

向量计算单元2007包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如批归一化(batch normalization),像素级求和,对特征平面进行上采样等。

在一些实现中,向量计算单元2007能将经处理的输出的向量存储到统一存储器2006。例如,向量计算单元2007可以将线性函数和/或非线性函数应用到运算电路2003的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元2007生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路2003的激活输入,例如用于在神经网络中的后续层中的使用。

控制器2004连接的取指存储器(instruction fetch buffer)2009,用于存储控制器2004使用的指令;

统一存储器2006,输入存储器2001,权重存储器2002以及取指存储器2009均为On-Chip存储器。外部存储器私有于该NPU硬件架构。

其中,循环神经网络中各层的运算可以由运算电路2003或向量计算单元2007执行。

其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述图11-图12的方法的程序执行的集成电路。

另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

相关技术
  • 一种基于推荐系统的项目推荐方法、装置及设备
  • 自提柜推荐方法、自提柜推荐装置和电子装置
  • 一种穿搭推荐方法、装置及电子设备
  • 一种对象推荐方法、装置、终端及计算机可读存储介质
  • 一种多媒体数据推荐方法及装置
  • 宠物食品推荐装置及宠物食品推荐方法、补充剂推荐装置、补充剂推荐方法、以及肠龄计算式确定方法及肠龄计算方法
  • 一种推荐方法、推荐装置和用于推荐的装置
技术分类

06120116331212