首页> 中国专利> 一种神经网络的训练方法、数据处理方法以及相关设备

一种神经网络的训练方法、数据处理方法以及相关设备

摘要

本申请实施例公开一种神经网络的训练方法、数据处理方法以及相关设备,该方法可用于人工智能领域中,通过生成器输出与目标训练样本对应的目标预测结果,目标训练样本包括目标对象的标识信息,目标预测结果指示目标对象是否会被执行交互操作;通过判别器输出第一概率值和第二概率值,第一概率值指示目标正确结果为真实数据的概率,目标正确结果指示目标对象是否被执行过交互操作,第二概率值指示目标预测结果为真实数据的概率;对判别器和生成器进行对抗训练。生成器的更新目标为挖掘用户真实的点击习惯,从而有利于通过训练生成器以实现对用户内在真实意图的挖掘,有利于提高预测结果的准确率。

著录项

  • 公开/公告号CN113159315A

    专利类型发明专利

  • 公开/公告日2021-07-23

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN202110369441.9

  • 申请日2021-04-06

  • 分类号G06N3/08(20060101);G06N3/04(20060101);

  • 代理机构44285 深圳市深佳知识产权代理事务所(普通合伙);

  • 代理人聂秀娜

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-06-19 11:57:35

说明书

技术领域

本申请涉及人工智能领域,尤其涉及一种神经网络的训练方法、数据处理方法以及相关设备。

背景技术

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

将人工智能技术应用于搜索系统中是人工智能常见的一个应用方式,具体的,在训练过程中,训练设备通过神经网络生成与一个目标对象对应的预测结果,该预测结果指示用户是否会对该目标对象执行点击操作,进而根据与该目标对象对应的实际结果和该预测结果,对神经网络进行训练,直至达到预设条件。

但这种训练方式只是简单的将神经网络作为一个黑盒,而无法挖掘用户行为背后的内在意图。

发明内容

本申请实施例提供了一种神经网络的训练方法、数据处理方法以及相关设备,用于对判别器和生成器进行对抗训练,这种对抗训练的过程中,生成器和判别器的能力越来越强,由于生成器的更新目标是生成的目标预测结果能够被识别为真实数据,也即生成器的更新目标为挖掘用户真实的点击习惯,从而有利于通过训练生成器以实现对用户内在真实意图的挖掘,有利于提高预测结果的准确率。

为解决上述技术问题,本申请实施例提供以下技术方案:

第一方面,本申请实施例提供一种神经网络的训练方法,可用于人工智能领域中,方法包括:训练设备获取目标训练样本以及与目标训练样本对应的目标正确结果,目标训练样本包括至少一个目标对象的标识信息,目标正确结果用于指示至少一个目标对象中每个目标对象是否被执行过交互操作,交互操作包括但不限于点击操作、下载操作、购买操作、播放操作、收藏操作或其他类型的交互操作等。训练设备将目标训练样本输入生成器,以通过生成器输出目标预测结果,目标预测结果用于指示每个目标对象是否会被执行交互操作;训练设备将目标训练样本、目标预测结果和目标正确结果输入判别器,以通过判别器输出第一概率值和第二概率值,判别器和生成器归属于同一目标生成对抗神经网络,第一概率值用于指示目标正确结果为真实数据的概率,第二概率值用于指示目标预测结果为真实数据的概率;训练设备根据第一概率值和第二概率值,对判别器和生成器进行对抗训练,直至满足预设条件,以得到训练后的生成器。其中,对抗训练是指由生成器生成目标预测结果去欺骗判别器,然后判别器去判断目标预测结果和目标正确结果中哪个是基于真实的用户交互行为产生的真实数据,在生成器和判别器的训练的过程中,使得生成器和判别器的能力越来越强,最终达到稳态的过程。预设条件可以为生成器和判别器的训练次数达到预设次数,或者,预测条件可以为生成器和判别器达到稳态的时候。

本实现方式中,在利用生成器生成与目标训练样本对应的目标预测结果后,还会将目标训练样本、目标预测结果和目标正确结果输入判别器,以通过判别器输出第一概率值和第二概率值,判别器和生成器归属于同一目标生成对抗神经网络,第一概率值用于指示目标正确结果为真实数据的概率,第二概率值用于指示目标预测结果为真实数据的概率,进而根据第一概率值和第二概率值,对判别器和生成器进行对抗训练,也即生成器的更新目标是生成的目标预测结果能够骗过判别器,以被识别为真实数据,判别器的更新目标是能够将生成器生成的目标预测结果识别出来;这种对抗训练的过程中,生成器和判别器的能力越来越强,由于生成器的更新目标是生成的目标预测结果能够被识别为真实数据,也即生成器的更新目标为挖掘用户真实的点击习惯,从而有利于通过训练生成器以实现对用户内在真实意图的挖掘,有利于提高预测结果的准确率。

在第一方面的一种可能实现方式中,训练设备根据第一概率值和第二概率值,对判别器和生成器进行对抗训练,包括;训练设备根据第一概率值和第二概率值,生成与判别器对应的第一梯度值,并根据第一梯度值更新判别器的参数,判别器的更新目标包括提高第一概率值的取值和降低第二概率值的取值;训练设备根据第二概率值,生成与生成器对应的第二梯度值,并根据第二梯度值更新生成器的参数,生成器的更新目标包括提高第二概率值的取值。本实现方式中,提供了对目标生成对抗神经网络的一次训练的具体实现方式,提高了本方案的可实现性。

在第一方面的一种可能实现方式中,针对判别器的参数的更新过程,无论N的取值为1,还是N的取值为大于或等于2,训练设备均可以根据N个第一概率值和N个第二概率值,计算第一损失函数的函数值,并根据第一损失函数的函数值直接对判别器的参数进行反向求导,以生成与判别器对应的第一梯度值,根据第一梯度值更新判别器的参数。其中,第一损失函数的更新目标包括提高第一概率值的取值和降低第二概率值的取值。

在第一方面的一种可能实现方式中,针对生成器的参数的更新过程,若N的取值为1,则训练设备可以直接根据一个第二概率值,生成第二损失函数的函数值,并根据第二损失函数的函数值直接对生成器的参数进行反向求导,以生成与判别器对应的第二梯度值,根据第二梯度值更新生成器的参数。第二损失函数的更新目标为提高第二概率值的取值。若N的取值大于或等于2,则训练设备对N个第二概率值进行平均以生成一个平均值,根据生成器生成的N个预测标签和该平均值生成与生成器对应的第二梯度值,根据第二梯度值更新生成器的参数。

在第一方面的一种可能实现方式中,目标训练样本中包括的目标对象的数量为N个,N为大于或等于2的整数,目标正确结果包括与N个目标对象对应的N个正确标签,目标预测结果包括与N个目标对象对应的N个预测标签。训练设备通过生成器输出目标预测结果,包括:训练设备通过生成器执行多次推理操作以生成N个预测标签。本实现方式中,目前生成器的训练过程中,生成器根据用户与前t-1个目标对象之间真实的交互操作,来预测用户是否会跟第t个目标对象进行交互操作。但在推理阶段,生成器是根据生成器预测的用户与前t-1个目标对象之间的交互情况,来预测用户是否会跟第t个目标对象进行交互操作,目前这种单步预测的方式会导致训练后的生成器无法生成最优的结果,每步预测累积的小误差会导致生成器生成的N个预测标签的误差越来越大。本方案中训练阶段模拟推理阶段的方式,也即在训练阶段,生成器需要一次性处理至少两个目标对象,生成器也需要根据生成器预测的用户与前t-1个目标对象之间的交互情况,来预测用户是否会跟第t个目标对象进行交互操作,以提高训练阶段的难度,以使得训练后的生成器能够生成精度更高的预测结果。

在第一方面的一种可能实现方式中,目标对象为应用程序、视频、音乐、新闻、产品链接或广告。本实现方式中,提供了目标对象的多种具体表现形式,扩展了本方案的应用场景,提高了本方案的实现灵活性。

在第一方面的一种可能实现方式中,生成器和判别器均为循环神经网络。本实现方式中,提供了生成器和判别器的具体实现方式,且当目标训练样本中包括至少两个目标对象时,生成器和判别器处理的是序列数据,采用循环神经网络有利于挖掘出不同的目标对象之间的关系,有利于提高生成器和判别器输出的结果的正确率,由于生成器和判别器采用的是对抗训练的方式,判别器输出结果的正确率提高后,有利于进一步提高训练后的生成器输出的预测结果的精度。

第二方面,本申请实施例提供了一种数据处理方法,可用于人工智能领域中,方法包括:执行设备获取待处理样本,待处理样本包括至少一个目标对象的标识信息;将待处理样本输入训练后的生成器,以通过训练后的生成器输出目标预测结果,目标预测结果用于指示每个目标对象是否会被执行交互操作;其中,生成器为对目标生成对抗神经网络进行训练后得到的,目标生成对抗神经网络包括生成器和判别器,在训练阶段,生成器用于根据目标训练样本,生成与目标训练样本对应的预测结果,判别器用于根据目标训练样本、目标训练样本所对应的预测结果和目标训练样本所对应的正确结果,生成第一概率值和第二概率值,第一概率值用于指示目标训练样本所对应的正确结果为真实数据的概率,第二概率值用于指示目标训练样本所对应的预测结果为真实数据的概率,目标训练样本所对应的正确结果来源于目标生成对抗神经网络的训练数据集。

在第一方面的一种可能实现方式中,目标对象为应用程序、视频、音乐、新闻、产品链接或广告。

对于本申请实施例第二方面以及第二方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第二方面中各种可能的实现方式中的描述,此处不再一一赘述。

第三方面,本申请实施例提供了一种神经网络的训练装置,可用于人工智能领域中,神经网络的训练装置包括:获取模块,用于获取目标训练样本以及与目标训练样本对应的目标正确结果,目标训练样本包括至少一个目标对象的标识信息,目标正确结果用于指示至少一个目标对象中每个目标对象是否被执行过交互操作;生成模块,用于将目标训练样本输入生成器,以通过生成器输出目标预测结果,目标预测结果用于指示每个目标对象是否会被执行交互操作;判别模块,用于将目标训练样本、目标预测结果和目标正确结果输入判别器,以通过判别器输出第一概率值和第二概率值,判别器和生成器归属于同一目标生成对抗神经网络,第一概率值用于指示目标正确结果为真实数据的概率,第二概率值用于指示目标预测结果为真实数据的概率;训练模块,用于根据第一概率值和第二概率值,对判别器和生成器进行对抗训练,直至满足预设条件。

本申请实施例的第三方面提供的神经网络的训练装置还可以执行第一方面的各个可能实现方式中训练设备执行的步骤,对于本申请实施例第三方面以及第三方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第一方面中各种可能的实现方式中的描述,此处不再一一赘述。

第四方面,本申请实施例提供了一种数据处理装置,可用于人工智能领域中,数据处理装置包括:获取模块,用于获取待处理样本,待处理样本包括至少一个目标对象的标识信息;生成模块,用于将待处理样本输入训练后的生成器,以通过训练后的生成器输出目标预测结果,目标预测结果用于指示每个目标对象是否会被执行交互操作;其中,生成器为对目标生成对抗神经网络进行训练后得到的,目标生成对抗神经网络包括生成器和判别器,在训练阶段,判别器用于生成第一概率值和第二概率值,第一概率值用于指示生成器生成的预测结果为真实数据的概率,第二概率值用于指示目标预测结果为真实数据的概率,目标正确结果来源于目标生成对抗神经网络的训练数据集,目标正确结果与生成器生成的预测结果对应。

本申请实施例的第四方面提供的数据处理装置还可以执行第二方面的各个可能实现方式中训练设备执行的步骤,对于本申请实施例第四方面以及第四方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第二方面中各种可能的实现方式中的描述,此处不再一一赘述。

第五方面,本申请实施例提供了一种训练设备,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第一方面所述的神经网络的训练方法。

第六方面,本申请实施例提供了一种执行设备,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第二方面所述的数据处理方法。

第七方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述程序在计算机上运行时,使得计算机执行上述第一方面所述的神经网络的训练方法,或者,使得计算机执行上述第二方面所述的数据处理方法。

第八方面,本申请实施例提供了一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行上述第一方面所述的神经网络的训练方法,或者,所述处理电路配置为执行上述第二方面所述的数据处理方法。

第九方面,本申请实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面所述的神经网络的训练方法,或者,使得计算机执行上述第二方面所述的数据处理方法。

第十方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于实现上述各个方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存服务器或通信设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。

附图说明

图1为本申请实施例提供的人工智能主体框架的一种结构示意图;

图2a为本申请实施例提供的神经网络的训练方法得到的生成器的一种应用场景图;

图2b为本申请实施例提供的神经网络的训练方法得到的生成器的另一种应用场景图;

图3为本申请实施例提供的数据处理系统的一种系统架构图;

图4为本申请实施例提供的神经网络的训练方法的一种流程示意图;

图5为本申请实施例中生成器的工作流程的一种流程示意图;

图6为本申请实施例中判别器的工作流程的一种流程示意图;

图7为本申请实施例中判别器的工作流程的另一种流程示意图;

图8为本申请实施例提供的数据处理方法的一种流程示意图;

图9为本申请实施例提供的神经网络的训练装置的一种结构示意图;

图10为本申请实施例提供的数据处理装置的一种结构示意图;

图11为本申请实施例提供的执行设备的一种结构示意图;

图12为本申请实施例提供的训练设备的一种结构示意图;

图13为本申请实施例提供的芯片的一种结构示意图。

具体实施方式

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。

下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

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

(1)基础设施

基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片提供,该智能芯片具体可以采用中央处理器(central processing unit,CPU)、嵌入式神经网络处理器(neural-network processing unit,NPU)、图形处理器(graphics processing unit,GPU)、专用集成电路(application specific integrated circuit,ASIC)或现场可编程门阵列(fieldprogrammable gate array,FPGA)等硬件加速芯片;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。

(2)数据

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

(3)数据处理

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

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

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

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

(4)通用能力

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

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

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

本申请实施例可以应用于各个领域中需要采用到搜索系统的应用场景中,该搜索系统也可以称为推荐系统、搜索引擎、搜索推荐系统等。其中,搜索系统中配置有第一神经网络,当用户通过该搜索系统输入查询请求后,通过该第一神经网络生成待展示列表,待展示列表包括M个目标对象的标识信息,也即通过该第一神经网络对待展示的对象进行推荐。

具体的,在一种应用场景中,请参阅图2a,图2a为本申请实施例提供的神经网络的训练方法得到的生成器的一种应用场景图,本申请实施例提供的生成器可以用于对训练好的第一神经网络的性能进行测试,也即在训练设备利用对第一神经网络进行迭代训练,以得到成熟的第一神经网络,第一神经网络用于从大量的目标对象中选取M个目标对象,该M个目标对象是第一神经网络选取出来要展示给用户的目标对象。则采用本申请实施例提供的生成器可以生成与M个目标对象一一对应的M个预测标签,一个预测标签用于指示一个目标对象是否会被用户执行交互操作,也即在将成熟的第一神经网络上线之前,可以利用本申请实施例提供的生成器对第一神经网络的性能进行测评,以提高用户体验。

在另一种应用场景中,请参阅图2b,图2b为本申请实施例提供的神经网络的训练方法得到的生成器的另一种应用场景图,本申请实施例提供的生成器可以用于辅助第一神经网络的训练过程,第一神经网络的训练数据集合中可能会存在缺失的数据,从而可以利用本申请实施例提供的生成器生成与目标对象对应的预测标签,该预测标签用于指示一个目标对象是否会被用户执行交互操作,以对第一神经网络的训练数据进行补充。

需要说明的是,此处举例仅为方便理解本申请实施例的应用场景,本申请实施例提供的生成器还可以应用于其他应用场景中,此处不做穷举。

在对本申请实施例提供的数据处理方法进行详细介绍之前,先结合图3对本申请实施例提供的数据处理系统进行介绍。请先参阅图3,图3为本申请实施例提供的数据处理系统的一种系统架构图,在图3中,数据处理系统300包括执行设备310、训练设备320、数据库330和数据存储系统340,执行设备310中包括计算模块311。

其中,数据库330中存储有目标训练数据,训练设备320生成目标模型/规则301,并利用数据库330中的目标训练数据对目标模型/规则301进行对抗训练,得到成熟的目标模型/规则301。进一步地,目标模型/规则301具体可以表现为生成对抗神经网络,生成对抗神经网络包括生成器和判别器。

训练设备320得到的成熟的目标模型/规则301可以应用不同的系统或设备中,执行设备310可以调用数据存储系统340中的数据、代码等,也可以将数据、指令等存入数据存储系统340中。数据存储系统340可以置于执行设备310中,也可以为数据存储系统340相对执行设备310是外部存储器。

计算模块311可以通过目标模型/规则301进行数据处理以得到预测标签。具体的,计算模块311可以通过目标模型/规则301对待处理样本进行处理,以通过目标模型/规则301输出目标预测结果,待处理样本包括至少一个目标对象的标识信息,目标预测结果用于指示每个所述目标对象是否会被执行交互操作。由于训练阶段对判别器和生成器进行对抗训练,也即生成器的更新目标是生成的目标预测结果能够骗过判别器,以被识别为真实数据,判别器的更新目标是能够将生成器生成的目标预测结果识别出来;这种对抗训练的过程中,生成器和判别器的能力越来越强,由于生成器的更新目标是生成的目标预测结果能够被识别为真实数据,也即生成器的更新目标为挖掘用户真实的点击习惯,从而有利于通过训练生成器以实现对用户内在真实意图的挖掘,有利于提高预测结果的准确率。

本申请的一些实施例中,请参阅图3,“用户”可以直接与执行设备310交互,也即执行设备310可以直接将目标模型/规则301输出的预测图像展示给“用户”,值得注意的,图3仅是本发明实施例提供的图像处理系统的一种架构示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。例如,在本申请的另一些实施例中,执行设备310和客户设备也可以为分别独立的设备,执行设备310配置有输入/输出(in/out,I/O)接口,执行设备310通过I/O接口与客户设备进行数据交互。

结合上述描述可知,下面开始对本申请实施例提供的数据处理方法的训练阶段和推理阶段的具体实现流程进行描述。

一、训练阶段

本申请实施例中,训练阶段描述的是训练设备320如何利用数据库330中的训练数据集合生成训练后的生成器的过程,具体的,请参阅图4,图4为本申请实施例提供的神经网络的训练方法的一种流程示意图,本申请实施例提供的神经网络的训练方法可以包括:

401、训练设备获取目标训练样本以及与目标训练样本对应的目标正确结果。

本申请实施例中,训练设备中预先存储有用于对目标生成对抗神经网络进行训练的目标训练数据集合,目标训练数据集合中包括多个训练样本以及每个训练样本所对应的正确结果。训练设备可以从目标训练数据集合中获取目标训练样本以及与目标训练样本对应的目标正确结果,目标训练样本为训练数据集合包括的多个训练样本中任意一个训练样本。

其中,一个训练样本中可以包括N个对象的信息,N的取值为大于或等于1的整数;前述对象可以具体表现为应用程序、视频、音乐、新闻、产品链接、广告或其他可能会在搜索系统中展示的对象类型等,一个对象的具体表现形式可以结合实际的应用场景灵活设定,此次不做限定。本申请实施例中,提供了目标对象的多种具体表现形式,扩展了本方案的应用场景,提高了本方案的实现灵活性。

一个对象的信息至少包括该对象的标识信息,该对象的标识信息具体可以表现为字符串的形式,作为示例,例如00000001、GZ000001、ZHg000052等,此处举例仅为方便理解本方案,不用于限定本方案。一个对象的信息还可以包括该对象的类型,对象的类型可以参阅上述描述。

目标生成对抗神经网络包括生成器,生成器(Generator)用于生成与目标训练样本中的N个目标对象对应的目标预测结果,目标对象指的是目标训练样本中包括的对象。目标预测结果用于指示N个目标对象中每个目标对象是否会被用户执行交互操作;对应的,目标正确结果用于指示N个目标对象中每个目标对象是否被用户执行过交互操作。

交互操作包括但不限于点击操作、下载操作、购买操作、播放操作、收藏操作或其他类型的交互操作等,作为示例,例如在目标对象具体表现为应用程序,则该交互操作可以被设定为下载操作;作为另一示例,例如目标对象具体表现为产品链接,则该交互操作可以被设定为购买操作;作为另一示例,例如目标对象具体表现为新闻,则该交互操作可以被设定为点击操作等等,具体交互操作设定为何种类型的操作可以结合实际的应用场景来灵活的选择,此处不做穷举。

进一步地,一个目标预测结果中可以包括与N个对象一一对应的N个预测标签,一个预测标签用于指示一个目标对象是否会被用户执行交互操作;一个目标正确结果中可以包括与N个对象一一对应的N个正确标签,一个正确标签用于指示一个目标对象是否被用户执行过交互操作。

具体的,训练设备在获取目标训练样本之前,需要获取目标训练数据集合,在一种情况下,搜索系统的服务器与训练设备为不同的设备,则配置有搜索系统的客户端可以采集用户与搜索系统中展示的对象之间的交互行为,并将该交互行为发送给搜索系统的服务器,搜索系统的服务器将用户与搜索系统中展示的对象之间的交互行为发送给训练设备,从而训练设备可以得到目标训练数据集合。在另一种情况下,搜索系统的服务器与训练设备为同一设备,则训练设备可以直接获取到配置有搜索系统的客户端发送的用户与搜索系统中展示的对象之间的交互行为,以得到目标训练数据集合。在另一种情况下,训练设备也可以从其他设备处获取到目标训练数据集合,此处不做穷举。

可选地,一个目标训练样本中还可以包括与N个目标对象对应的目标查询请求,也即当用户通过搜索系统输入该目标查询请求时,搜索系统向用户反馈的为该N个目标对象。

为更直观地理解本概念,作为示例,例如用户通过搜索系统输入一个查询请求,则该搜素系统通过第一神经网络得到长度为T的文档序列[d

402、训练设备将目标训练样本输入生成器,以通过生成器输出目标预测结果。

本申请实施例中,训练设备在获取到目标训练样本之后,可以将目标训练样本输入生成器,以通过生成器输出目标预测结果。其中,对于目标预测结果的解释可参阅步骤401中的描述,此处不做赘述。生成器具体可以采用循环神经网络(recurrent neuralnetworks,RNN)或其他类型的神经网络;进一步地,当生成器采用循环神经网络时,生成器包括的特征提取网络中可以有一个或多个门控循环单元(gate recurrent unit,GRU),或者,生成器具体可以表现为长短记忆神经网络(long short-term memory,LSTM),或者,生成器还可以表现为其它类型的循环神经网络等等,此处不做穷举。

具体的,在一种情况下,若N的取值为大于或等于2,且目标训练样本中携带有与N个目标对象对应的目标查询请求,则步骤402可以包括:训练设备通过生成器依次执行N+1次推理操作以生成与N个目标对象一一对应的N个预测标签。作为示例,例如一个预测标签的取值可以为0或1,当预测标签取值为0时,该预测标签指示用户不会对与该预测标签对应的目标对象执行交互操作,当预测标签取值为1时,该预测标签指示用户会对与该预测标签对应的目标对象执行交互操作,应理解,此处举例仅为方便理解本方案,预测标签还可以取其他的数值,此处不做限定。

更具体的,训练设备在得到目标训练样本后,为了将生成器的训练阶段执行过程与生成器的推理阶段的执行过程对齐,第一步(也即当t等于0时),训练设备可以先通过生成器将目标训练样本中携带的查询请求进行嵌入(embedding)处理,以得到查询请求的初始特征信息,查询请求的初始特征信息也可以称为查询请求的第一特征信息,初始特征信息具体可以表现为低维的向量。进而将

第二步(也即当t等于1时),训练设备通过生成器将N个目标对象的标识信息进行嵌入处理,得到与N个目标对象的标识信息对应的第一特征信息,还将与N个目标对象对应的对象类型进行嵌入处理,得到该对象类型所对应的第一特征信息。进而将

第三步(也即当t等于2时),训练设备通过生成器将a

训练设备重复执行第三步的操作,以生成与N个目标对象一一对应的N个预测标签,也即训练设备需要通过生成器对a

h

π

其中,

为更直观地理解本申请实施例中生成器的执行过程,请参阅图5,图5为本申请实施例中生成器的工作流程的一种流程示意图。其中,A1代表目标训练样本中携带的目标查询请求,如图5所示,在第一步(也即t=0)中,训练设备通过生成器中的嵌入层(EmbeddingLayer)对目标查询请求进行嵌入处理以得到v

需要说明的是,以上说明均以目标训练样本中携带有与N个目标对象对应的对象类型为例,在另一种情况中,若目标训练样本中未携带与N个目标对象对应的对象类型,则上述各个步骤中的0

本申请实施例中,目前生成器的训练过程中,生成器根据用户与前t-1个目标对象之间真实的交互操作,来预测用户是否会跟第t个目标对象进行交互操作。但在推理阶段,生成器是根据生成器预测的用户与前t-1个目标对象之间的交互情况,来预测用户是否会跟第t个目标对象进行交互操作,目前这种单步预测的方式会导致训练后的生成器无法生成最优的结果,每步预测累积的小误差会导致生成器生成的N个预测标签的误差越来越大。本方案中训练阶段模拟推理阶段的方式,也即在训练阶段,生成器需要一次性处理至少两个目标对象,生成器也需要根据生成器预测的用户与前t-1个目标对象之间的交互情况,来预测用户是否会跟第t个目标对象进行交互操作,以提高训练阶段的难度,以使得训练后的生成器能够生成精度更高的预测结果。

在另一种情况下,若N的取值为1,且目标训练样本中携带有与该1个目标对象对应的目标查询请求,则步骤402可以包括:训练设备通过生成器依次执行2次推理操作以生成与1个目标对象对应的1个预测标签。前述步骤的具体实现方式可以参阅“N的取值为大于或等于2,且目标训练样本中携带有与N个目标对象对应的目标查询请求”这一情况中,对第一步和第二步的描述,此处不做赘述。

在另一种情况下,若N的取值为大于或等于2,且目标训练样本中未携带有与该1个目标对象对应的目标查询请求,则步骤402可以包括:训练设备通过生成器依次执行N次推理操作以生成与N个目标对象一一对应的N个预测标签。前述步骤的具体实现方式可以参阅“N的取值为大于或等于2,且目标训练样本中携带有与N个目标对象对应的目标查询请求”这一情况中,对第二步至第N+1步的描述(也即t的取值为1至N这N步的具体实现方式)类似,可参阅进行理解,此处不做赘述;区别在于,由于本情况中目标训练样本中未携带有目标查询请求,则需要将“N的取值为大于或等于2,且目标训练样本中携带有与N个目标对象对应的目标查询请求”这一情况中,关于目标查询请求的特征信息的部分删除掉,也即在本情况中,整个生成与N个目标对象对应的N个预测标签的过程中,不会利用到目标查询请求的特征信息。

在另一种情况下,若N的取值为1,且目标训练样本中未携带有与该1个目标对象对应的目标查询请求,则步骤402可以包括:训练设备通过生成器依次执行1次推理操作以生成与1个目标对象对应的1个预测标签。前述步骤的具体实现方式与“N的取值为大于或等于2,且目标训练样本中携带有与N个目标对象对应的目标查询请求”这一情况中对第二步的描述类似,可参阅理解,此处不做赘述;区别在于,由于本情况中目标训练样本中未携带有目标查询请求,则需要将“N的取值为大于或等于2,且目标训练样本中携带有与N个目标对象对应的目标查询请求”这一情况的第二步的描述中,关于目标查询请求的特征信息的部分删除掉,也即在本情况中,整个生成与N个目标对象对应的N个预测标签的过程中,不会利用到目标查询请求的特征信息。

403、训练设备将目标训练样本、目标预测结果和目标正确结果输入判别器,以通过判别器输出第一概率值和第二概率值。

本申请实施例中,目标生成对抗神经网络还包括判别器,训练设备在得到目标训练样本、目标预测结果和目标正确结果之后,可以将目标训练样本、目标预测结果和目标正确结果输入判别器,以通过判别器输出第一概率值和第二概率值。

其中,第一概率值用于指示目标正确结果为真实数据的概率,或者,第一概率值也可以用于指示目标正确结果为伪造数据的概率,或者,第一概率值也可以用于指示目标正确结果为通过生成器生成的数据的概率等,第一概率值还可以从其他角度进行描述,此处不做穷举;进一步地,真实数据指的是基于用户与目标对象之间真实的交互行为得到的数据,伪造数据的概念与真实数据的概念相反。

第二概率值用于指示目标预测结果为真实数据的概率,或者,第二概率值也可以用于指示目标预测结果为伪造数据的概率,或者,第二概率值也可以用于指示目标预测结果为通过生成器生成的数据的概率等,第二概率值也可以从其他角度进行描述,此处不做穷举。

作为示例,第一概率值和第二概率值的取值范围均可以为0-1,此处以第一概率值采用的为目标正确结果为真实数据的概率,第二概率值采用的为目标预测结果为真实数据的概率,则第一概率值的取值越大代表目标正确结果为真实数据的概率越大,第二概率值的取值越大代表目标预测结果为真实数据的概率越大。

目标训练样本和目标预测结果的描述可以参阅上述描述,此处不做赘述。目标正确结果的具体表现形式与目标预测结果的形式类似,区别在于,目标预测结果是由生成器生成的结果,目标正确结果基于用户与目标对象之间的实际交互行为得到的。与生成器类似,判别器具体也可以采用循环神经网络或其他类型的神经网络,对于判别器的具体结构,此处不做赘述。本申请实施例中,提供了生成器和判别器的具体实现方式,且当目标训练样本中包括至少两个目标对象时,生成器和判别器处理的是序列数据,采用循环神经网络有利于挖掘出不同的目标对象之间的关系,有利于提高生成器和判别器输出的结果的正确率,由于生成器和判别器采用的是对抗训练的方式,判别器输出结果的正确率提高后,有利于进一步提高训练后的生成器输出的预测结果的精度。

本申请实施例中,训练设备通过判别器生成与目标正确结果包括的N个预测标签一一对应的N个第一概率值,通过判别器生成与目标预测结果包括的N个正确标签一一对应的N个第二概率值。也即若N的取值为1,则通过步骤403可以得到1个第一概率值和1个第二概率值,若N的取值大于或等于2,则通过步骤403可以得到多个第一概率值和多个第二概率值。

具体的,针对N个第一概率值的生成过程,与步骤402类似,在一种情况下,目标训练样本中携带有与N个目标对象对应的目标查询请求,训练设备在得到目标训练样本后,步骤403可以包括:训练设备通过判别器依次执行N+1次推理操作以生成与目标正确结果包括的N个正确标签一一对应的N个第一概率值。

更具体的,第一步(也即当t等于0时),训练设备可以先通过判别器将目标训练样本中携带的查询请求进行嵌入(embedding)处理,以得到查询请求的第三特征信息,查询请求的第三特征信息为由判别器生成的查询请求的初始特征信息,第三特征信息具体可以表现为低维的向量。进而将

第二步,(也即当t等于1时),训练设备通过判别器对N个目标对象的标识信息进行嵌入处理,得到与N个目标对象的标识信息对应的第三特征信息,将与N个目标对象对应的对象类型进行嵌入处理,得到该对象类型所对应的第三特征信息,对s

若N的取值为1,则目标正确结果中仅包括1个正确标签,训练设备通过上述第一步和第二步就生成了与1个正确标签对应的1个第一概率值。

若N的取值为大于或等于2,则训练设备需要重复执行第二步的操作,以生成与目标训练样本中包括的N个正确标签一一对应的N个第一概率值,也即训练设备需要通过判别器对s

h′

D

其中,

需要说明的是,以上说明均以目标训练样本中携带有与N个目标对象对应的对象类型为例,在另一种情况中,若目标训练样本中未携带与N个目标对象对应的对象类型,则上述各个步骤中的0

在另一种情况中,若目标训练样本中未携带有与该N个目标对象对应的目标查询请求,则步骤403可以包括:训练设备通过判别器依次执行N次推理操作以生成与目标正确结果包括的N个预测标签一一对应的N个第一概率值,前述步骤的具体实现方式可以参阅“目标训练样本中携带有与N个目标对象对应的目标查询请求”这一情况中,对第二步至第N+1步的描述(也即t的取值为1至N这N步的具体实现方式)类似,可参阅进行理解,此处不做赘述;区别在于,由于本情况中目标训练样本中未携带有目标查询请求,则需要将“目标训练样本中携带有与N个目标对象对应的目标查询请求”这一情况中,关于目标查询请求的特征信息的部分删除掉,也即在本情况中,整个生成与N个正确标签一一对应的N个第一概率值的过程中,不会利用到目标查询请求的特征信息。

针对N个第二概率值的生成过程,针对N个第二概率值的生成过程,在一种情况下,目标训练样本中携带有与N个目标对象对应的目标查询请求,步骤403可以包括:训练设备通过判别器依次执行N+1次推理操作以生成与目标预测结果包括的N个预测标签一一对应的N个第二概率值。

在另一种情况下,目标训练样本中未携带与N个目标对象对应的目标查询请求,步骤403可以包括:训练设备通过判别器依次执行N次推理操作以生成与目标预测结果包括的N个预测标签一一对应的N个第二概率值。需要说明的是,训练设备通过判别器生成与N个预测标签一一对应的N个第二概率值的具体实现方式,与训练设备通过判别器生成与N个正确标签一一对应的N个第一概率值的具体实现方式类似,区别在于将“生成N个第一概率值”的步骤中的s

为更直观地理解本申请实施例中生成器的执行过程,请参阅图6和图7,先参阅图6,图6为本申请实施例中判别器的工作流程的一种流程示意图。其中,A1、A2、A3和A4的含义可以参阅图5中的说明,此处不做赘述,区别在于,图6中是通过判别器进行特征提取,也即在图6中,得到A1、A2、A3和A4之后,是利用判别器的嵌入层和特征提取网络以执行特征提取操作,以得到N+1个h′

再参阅图7,图7为本申请实施例中判别器的工作流程的一种流程示意图。其中,训练设备可以从生成器的训练数据集合中获取到与多个目标训练样本对应的多组目标正确结果,并通过生成器生成与多个目标训练样本对应的多组目标预测结果之后(也即执行步骤402多次后),将多个目标训练样本、多组目标正确结果和多组目标预测结果输入至判别器中,以通过判别器执行步骤403,应理解,图7中的示例仅为方便理解本方案,不用于限定本方案。

需要说明的是,训练设备可以在执行步骤402多次后,再执行步骤403多次。

404、训练设备根据第一概率值和第二概率值,对判别器和生成器进行对抗训练,直至满足预设条件,以得到训练后的生成器。

本申请实施例中,训练设备会根据第一概率值和第二概率值,对判别器和生成器进行对抗训练,直至满足预设条件,得到训练后的判别器和训练后的生成器,训练后的生成器将被配置于执行设备上。其中,对抗训练是指由生成器生成目标预测结果去欺骗判别器,然后判别器去判断目标预测结果和目标正确结果中哪个是基于真实的用户交互行为产生的真实数据,在生成器和判别器的训练的过程中,使得生成器和判别器的能力越来越强,最终达到稳态的过程。预设条件可以为生成器和判别器的训练次数达到预设次数,或者,预测条件可以为生成器和判别器达到稳态的时候。

具体的,步骤404可以包括:训练设备根据第一概率值和第二概率值,生成与判别器对应的第一梯度值,并根据第一梯度值更新判别器的参数,判别器的更新目标包括提高第一概率值的取值和降低第二概率值的取值;训练设备根据第二概率值,生成与生成器对应的第二梯度值,并根据第二梯度值更新生成器的参数,生成器的更新目标包括提高第二概率值的取值。作为示例,例如第一概率值和第二概率值的取值均为一个0-1之间的概率值,判别器训练的更新目标为使得第一概率值尽可能趋向于1,使得第二概率值尽可能趋向于0,但生成器训练的更新目标为使得判别器输出的第二概率值尽可能趋向于1。

更具体的,针对判别器的参数的更新过程,无论N的取值为1,还是N的取值为大于或等于2,训练设备均可以根据N个第一概率值和N个第二概率值,计算第一损失函数的函数值,并根据第一损失函数的函数值直接对判别器的参数进行反向求导,以生成与判别器对应的第一梯度值,根据第一梯度值更新判别器的参数。其中,第一损失函数的更新目标包括提高第一概率值的取值和降低第二概率值的取值。为更直观地理解本方案,如下公开了第一梯度值的生成公式的一种示例:

其中,D

针对生成器的参数的更新过程,若N的取值为1,则训练设备可以直接根据一个第二概率值,生成第二损失函数的函数值,并根据第二损失函数的函数值直接对生成器的参数进行反向求导,以生成与判别器对应的第二梯度值,根据第二梯度值更新生成器的参数。第二损失函数的更新目标为提高第二概率值的取值。为更直观地理解本方案,如下公开在N的取值为1的情况下,第一损失函数和第二损失函数的一个示例:

其中,式(8)中部分字母的含义可直接参阅式(7)中的描述,此处不再赘述,

若N的取值大于或等于2,则训练设备对N个第二概率值进行平均以生成一个平均值,根据生成器生成的N个预测标签和该平均值生成与生成器对应的第二梯度值,根据第二梯度值更新生成器的参数。为更直观地理解本方案,如下公开了第二梯度值的生成公式的一种示例:

其中,式(9)中字母的含义可直接参阅上述描述,此处不做赘述,应理解,式(9)中的举例仅为方便理解本方案,不用于限定本方案。

本申请实施例中,提供了对目标生成对抗神经网络的一次训练的具体实现方式,提高了本方案的可实现性。

本申请实施例中,在利用生成器生成与目标训练样本对应的目标预测结果后,还会将目标训练样本、目标预测结果和目标正确结果输入判别器,以通过判别器输出第一概率值和第二概率值,判别器和生成器归属于同一目标生成对抗神经网络,第一概率值用于指示目标正确结果为真实数据的概率,第二概率值用于指示目标预测结果为真实数据的概率,进而根据第一概率值和第二概率值,对判别器和生成器进行对抗训练,也即生成器的更新目标是生成的目标预测结果能够骗过判别器,以被识别为真实数据,判别器的更新目标是能够将生成器生成的目标预测结果识别出来;这种对抗训练的过程中,生成器和判别器的能力越来越强,由于生成器的更新目标是生成的目标预测结果能够被识别为真实数据,也即生成器的更新目标为挖掘用户真实的点击习惯,从而有利于通过训练生成器以实现对用户内在真实意图的挖掘,有利于提高预测结果的准确率。

二、推理阶段

本申请实施例中,推理阶段描述的是执行设备310如何利用目标模型/规则301进行数据处理以生成预测标签的过程,具体的,请参阅图8,图8为本申请实施例提供的数据处理方法的一种流程示意图,本申请实施例提供的数据处理方法可以包括:

801、执行设备获取待处理样本,待处理样本包括至少一个目标对象的标识信息。

本申请实施例中,执行设备需要获取待处理样本,一个待处理样本包括至少一个目标对象的标识信息,待处理样本的概念与图4对应实施例中目标训练样本的概念类似,区别仅在于目标训练样本是生成器的训练阶段采用的概念,待处理样本是训练后的生成器在推理阶段采用的概念,对于待处理样本的理解可参阅图4中对目标训练样本的描述,此处不做赘述。

802、执行设备将待处理样本输入训练后的生成器,以通过训练后的生成器输出目标预测结果,目标预测结果用于指示每个目标对象是否会被执行交互操作。

本申请实施例中,步骤802的具体实现步骤可参阅图4对应实施例中步骤402的描述,此处不做赘述。其中,生成器为对目标生成对抗神经网络进行训练后得到的,目标生成对抗神经网络包括生成器和判别器,在训练阶段,生成器用于根据目标训练样本,生成与目标训练样本对应的预测结果,判别器用于根据目标训练样本、目标训练样本所对应的预测结果和目标训练样本所对应的正确结果,生成第一概率值和第二概率值,第一概率值用于指示目标训练样本所对应的正确结果为真实数据的概率,第二概率值用于指示目标训练样本所对应的预测结果为真实数据的概率,目标训练样本所对应的正确结果来源于目标生成对抗神经网络的训练数据集。进一步地,对于目标预测结果的含义,以及生成器的训练过程均可参阅图4对应实施例中的描述,此处不做赘述。

本申请实施例中,由于推理阶段采用到的生成器是对目标生成对抗神经网络进行训练后得到的,判别器用于生成第一概率值和第二概率值,第一概率值用于指示生成器生成的预测结果为真实数据的概率,第二概率值用于指示目标预测结果为真实数据的概率,也即生成器的更新目标是生成的目标预测结果能够骗过判别器,以被识别为真实数据,判别器的更新目标是能够将生成器生成的目标预测结果识别出来;这种对抗训练的过程中,生成器和判别器的能力越来越强,由于生成器的更新目标是生成的目标预测结果能够被识别为真实数据,也即生成器的更新目标为挖掘用户真实的点击习惯,从而训练后的生成器能够实现对用户内在真实意图的挖掘,有利于提高训练后的生成器预测结果的准确率。

为更直接地理解本申请实施例所带来的有益效果,以下结合实际的实验数据进行说明,此处以在TianGong-ST数据集上进行实验为例,生成器用于预测用户是否会对目标对象执行点击操作,试验结果如下表1所示:

表1

其中,LL的英文全称为Log-likelihood,用于衡量预测结果和真实结果之间的相似程度,LL指标的取值越大,证明预测结果和正确结果之间的相似度越高。PPL的英文全称为Perplexity,PPL指标的取值越小,证明得到的预测结果的准确度越高。NCM和CACM代表目前存在的两种神经网络,通过表1中示出的数据可知,通过本申请实施例提供的方法得到的预测结果和正确结果之间的相似度更高,且准确度更高。

在图1至图8所对应的实施例的基础上,为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关设备。具体参阅图9,图9为本申请实施例提供的神经网络的训练装置的一种结构示意图,神经网络的训练装置900可以包括:获取模块901,用于获取目标训练样本以及与目标训练样本对应的目标正确结果,目标训练样本包括至少一个目标对象的标识信息,目标正确结果用于指示至少一个目标对象中每个目标对象是否被执行过交互操作;生成模块902,用于将目标训练样本输入生成器,以通过生成器输出目标预测结果,目标预测结果用于指示每个目标对象是否会被执行交互操作;判别模块903,用于将目标训练样本、目标预测结果和目标正确结果输入判别器,以通过判别器输出第一概率值和第二概率值,判别器和生成器归属于同一目标生成对抗神经网络,第一概率值用于指示目标正确结果为真实数据的概率,第二概率值用于指示目标预测结果为真实数据的概率;训练模块904,用于根据第一概率值和第二概率值,对判别器和生成器进行对抗训练,直至满足预设条件,以得到训练后的生成器。

在一种可能的设计中,训练模块904,具体用于:根据第一概率值和第二概率值,生成与判别器对应的第一梯度值,并根据第一梯度值更新判别器的参数,判别器的更新目标包括提高第一概率值的取值和降低第二概率值的取值;根据第二概率值,生成与生成器对应的第二梯度值,并根据第二梯度值更新生成器的参数,生成器的更新目标包括提高第二概率值的取值。

在一种可能的设计中,目标训练样本中包括的目标对象的数量为N个,N为大于或等于9的整数,目标正确结果包括与N个目标对象对应的N个正确标签,目标预测结果包括与N个目标对象对应的N个预测标签;生成模块902,具体用于通过生成器执行多次推理操作以生成N个预测标签。

在一种可能的设计中,目标对象为应用程序、视频、音乐、新闻、产品链接或广告。

在一种可能的设计中,生成器和判别器均为循环神经网络。

需要说明的是,神经网络的训练装置900中各模块/单元之间的信息交互、执行过程等内容,与本申请中图4至图7对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

本申请实施例还提供一种数据处理装置,请参阅图10,图10为本申请实施例提供的数据处理装置的一种结构示意图,数据处理装置1000包括:获取模块1001,用于获取待处理样本,待处理样本包括至少一个目标对象的标识信息;生成模块1002,用于将待处理样本输入训练后的生成器,以通过训练后的生成器输出目标预测结果,目标预测结果用于指示每个目标对象是否会被执行交互操作;其中,生成器为对目标生成对抗神经网络进行训练后得到的,目标生成对抗神经网络包括生成器和判别器,在训练阶段,生成器用于根据目标训练样本,生成与目标训练样本对应的预测结果,判别器用于根据目标训练样本、目标训练样本所对应的预测结果和目标训练样本所对应的正确结果,生成第一概率值和第二概率值,第一概率值用于指示目标训练样本所对应的正确结果为真实数据的概率,第二概率值用于指示目标训练样本所对应的预测结果为真实数据的概率,目标训练样本所对应的正确结果来源于目标生成对抗神经网络的训练数据集。

在一种可能的设计中,目标对象为应用程序、视频、音乐、新闻、产品链接或广告。

需要说明的是,数据处理装置1000中各模块/单元之间的信息交互、执行过程等内容,与本申请中图8对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

接下来介绍本申请实施例提供的一种执行设备,请参阅图11,图11为本申请实施例提供的执行设备的一种结构示意图,执行设备1100上可以部署有图10对应实施例中所描述的数据处理装置1000,用于实现图8对应实施例中执行设备的功能。具体的,执行设备1100包括:接收器1101、发射器1102、处理器1103和存储器1104(其中执行设备1100中的处理器1103的数量可以一个或多个,图11中以一个处理器为例),其中,处理器1103可以包括应用处理器11031和通信处理器11032。在本申请的一些实施例中,接收器1101、发射器1102、处理器1103和存储器1104可通过总线或其它方式连接。

存储器1104可以包括只读存储器和随机存取存储器,并向处理器1103提供指令和数据。存储器1104的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器1104存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。

处理器1103控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。

上述本申请实施例揭示的方法可以应用于处理器1103中,或者由处理器1103实现。处理器1103可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1103中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1103可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器1103可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1104,处理器1103读取存储器1104中的信息,结合其硬件完成上述方法的步骤。

接收器1101可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器1102可用于通过第一接口输出数字或字符信息;发射器1102还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器1102还可以包括显示屏等显示设备。

本申请实施例中,处理器1103,用于执行图8对应实施例中的执行设备执行的数据处理方法。需要说明的是,处理器1103中的应用处理器11031执行上述各个步骤的具体方式,与本申请中图8对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图8对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

本申请实施例还提供了一种训练设备,请参阅图12,图12是本申请实施例提供的训练设备一种结构示意图,训练设备1200上可以部署有图9对应实施例中所描述的神经网络的训练装置900,用于实现图4至图7对应实施例中训练设备的功能,具体的,训练设备1200由一个或多个服务器实现,训练设备1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1222(例如,一个或一个以上处理器)和存储器1232,一个或一个以上存储应用程序1242或数据1244的存储介质1230(例如一个或一个以上海量存储设备)。其中,存储器1232和存储介质1230可以是短暂存储或持久存储。存储在存储介质1230的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对训练设备中的一系列指令操作。更进一步地,中央处理器1222可以设置为与存储介质1230通信,在训练设备1200上执行存储介质1230中的一系列指令操作。

训练设备1200还可以包括一个或一个以上电源1226,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1258,和/或,一个或一个以上操作系统1241,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

本申请实施例中,中央处理器1222,用于执行图4至图7对应实施例中的训练设备执行的数据处理方法。需要说明的是,中央处理器1222执行上述各个步骤的具体方式,与本申请中图4至图7对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图4至图7对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图8所示实施例描述的方法中执行设备所执行的步骤,或者,使得计算机执行如前述图4至图7所示实施例描述的方法中训练设备所执行的步骤。

本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述图8所示实施例描述的方法中执行设备所执行的步骤,或者,使得计算机执行如前述图4至图7所示实施例描述的方法中训练设备所执行的步骤。

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

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

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

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

统一存储器1306用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)1305,DMAC被搬运到权重存储器1302中。输入数据也通过DMAC被搬运到统一存储器1306中。

BIU为Bus Interface Unit即,总线接口单元1310,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)1309的交互。

总线接口单元1310(Bus Interface Unit,简称BIU),用于取指存储器1309从外部存储器获取指令,还用于存储单元访问控制器1305从外部存储器获取输入矩阵A或者权重矩阵B的原数据。

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

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

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

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

统一存储器1306,输入存储器1301,权重存储器1302以及取指存储器1309均为On-Chip存储器。外部存储器私有于该NPU硬件架构。

其中,图4至图8示出的生成器和判别器中各层的运算可以由运算电路1303或向量计算单元1307执行。

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

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

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

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

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号