CN110442804A - 一种对象推荐网络的训练方法、装置、设备及存储介质 - Google Patents
一种对象推荐网络的训练方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110442804A CN110442804A CN201910748285.XA CN201910748285A CN110442804A CN 110442804 A CN110442804 A CN 110442804A CN 201910748285 A CN201910748285 A CN 201910748285A CN 110442804 A CN110442804 A CN 110442804A
- Authority
- CN
- China
- Prior art keywords
- loss
- result
- network
- association data
- user
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种对象推荐网络的训练方法、装置、设备及存储介质,其中方法包括:对初始用户‑对象关联数据进行编码处理,得到编码结果;对编码结果进行解码处理,得到重构用户‑对象关联数据;基于重构用户‑对象关联数据与初始用户‑对象关联数据之间的差异,得到重构损失;通过第一判别器对初始用户‑对象关联数据和编码结果进行判别,得到第一判别结果,并将第一判别结果作为第一判别损失;基于第一判别损失和重构损失,调整对象推荐网络的网络参数。本申请通过利用重构损失以及第一判别损失来调整对象推荐网络的参数,来尽可能的减少对象推荐网络对编码结果的约束,从而提高编码结果的表现力。
Description
技术领域
本申请涉及协同过滤领域,尤其涉及一种对象推荐网络的训练方法、装置、设备及存储介质。
背景技术
对象推荐网络作为解决信息超载的一个非常有潜力的方法,它能够根据用户的信息需求和兴趣给他们推荐个性化信息和产品。而协同过滤技术是推荐系统中最早也是最成功的技术之一。
在众多协同过滤技术中,基于编码-解码的协同过滤技术取得了比较好的效果。基于编码-解码的协同过滤技术的原理是先对原始用户数据进行编码得到用于表示原始用户数据的数据分布的编码结果,然后对该编码结果进行解码,即根据该编码结果重构新用户数据。新用户数据相对于原始用户数据来说,预测出了用户与待推荐物品之间的关联关系,因此基于该新用户数据可以对用户进行推荐。但在实际应用中,基于编码-解码的协同过滤技术的推荐性能并不理想。
发明内容
本申请实施例提供一种对象推荐网络的训练方法,可以通过对对象推荐网络进行训练,来提高对象推荐网络的推荐性能。
第一方面,本申请实施例提供了一种对象推荐网络的训练方法,该方法包括:
对初始用户-对象关联数据进行编码处理,得到编码结果;
对所述编码结果进行解码处理,得到重构用户-对象关联数据;
基于所述重构用户-对象关联数据与所述初始用户-对象关联数据之间的差异,得到重构损失;
通过第一判别器对所述初始用户-对象关联数据和所述编码结果进行判别,得到第一判别结果,并将所述第一判别结果作为第一判别损失;
基于所述第一判别损失和所述重构损失,调整所述对象推荐网络的网络参数。
结合第一方面,在第一方面的第一种实现中,所述基于所述第一判别损失和所述重构损失,调整所述对象推荐网络的网络参数,包括:
将约束强度参数作为所述第一判别损失的权重,对所述重构损失和所述第一判别损失进行加权求和,得到网络损失,其中,所述约束强度参数为大于或等于0且小于1的数值;
基于所述网络损失,调整所述对象推荐网络的网络参数。
结合第一方面的第一种实现,在第一方面的第二种实现中,所述约束强度参数在所述训练中的初始值为0,且数值随着迭代次数的增加而增大,直到到达预设阈值,其中,所述预设阈值为大于0且小于1的数值。
结合第一方面至第一方面的第二种实现,在第一方面的第三种实现中,所述方法还包括:
基于所述编码结果对所述初始用户-对象关联数据求导,得到收缩损失;
所述基于所述第一判别损失和所述重构损失,调整所述对象推荐网络的网络参数,包括:
基于所述第一判别损失、所述重构损失和所述收缩损失,调整所述对象推荐网络的网络参数。
结合第一方面第三种实现,在第一方面的第四种实现中,所述基于所述第一判别损失、所述重构损失和所述收缩损失,调整所述对象推荐网络的网络参数,包括:
基于所述第一判别损失、所述重构损失和所述收缩损失,调整用于所述编码处理的编码模块和用于所述解码处理的解码模块中至少一个单元的参数。
结合第一方面至第一方面的第四种实现,在第一方面的第五种实现中,所述方法还包括:
通过第二判别器对所述重构用户-对象关联数据进行判别,得到第二判别结果;
基于所述第二判别结果的非线性映射结果,得到第二判别损失;
所述基于所述第一判别损失和所述重构损失,调整所述对象推荐网络的网络参数,包括:
基于所述第一判别损失、所述重构损失和所述第二判别损失,调整所述对象推荐网络的网络参数。
结合第一方面的第五种实现,在第一方面的第六种实现中,所述通过第二判别器对所述重构用户-对象关联数据进行判别,得到第二判别结果,包括:
基于所述初始用户-对象关联数据,得到用户特征数据;
以所述用户特征数据作为条件信息,通过第二判别器对所述重构用户-对象关联数据进行判别,得到第二判别结果。
结合第一方面的第五种实现,在第一方面的第七种实现中,所述通过第二判别器对所述重构用户-对象关联数据进行判别,得到第二判别结果,包括:
用掩码过滤掉所述重构用户-对象关联数据中用户-对象之间未交互过的数据,得到过滤结果;
将所述过滤结果输出到所述第二判别器进行判别,得到第二判别结果。
结合第一方面,在第一方面的第八种实现中,通过所述第一判别器对初始用户-商品关联数据和满足高斯分布的随机变量进行判别,得到第三判别结果;
基于所述第一判别结果的非线性映射结果和所述第三判别结果的非线性映射结果,得到第三判别损失;
基于所述第三判别损失,调整所述第一判别器的参数。
结合第一方面,在第一方面的第九种实现中,利用所述第二判别器对所述初始用户-商品关联数据进行判别,得到第四判别结果;
基于所述第二判别结果的非线性映射结果和所述第四判别结果的非线性映射结果,得到第四判别损失;
基于所述第四判别损失,调整所述第二判别器的网络参数。
第二方面,本申请实施例提供了一种对象推荐方法,该方法包括:获取待处理用户-商品关联数据;通过对象推荐网络对所述待处理用户-对象关联数据进行处理,得到对象推荐结果,其中,所述对象推荐结果是根据第一方面中调整了网络参数的对象推荐网络重构生成的。
第三方面,本申请实施例提供了一种对象推荐设备,该对象推荐设备包括用于执行上述第一方面的对象推荐网络的训练方法的单元,该对象推荐设备包括:
编码单元,用于对初始用户-对象关联数据进行编码处理,得到编码结果;
编码模块,用于对所述编码结果进行解码处理,得到重构用户-对象关联数据;
计算单元,用于基于所述重构用户-对象关联数据与所述初始用户-对象关联数据之间的差异,得到重构损失;通过第一判别器对所述初始用户-对象关联数据和所述编码结果进行判别,得到第一判别结果,并将所述第一判别结果作为第一判别损失
训练单元,基于所述第一判别损失和所述重构损失,调整所述对象推荐网络的网络参数。
结合第三方面,在第三方面的第一种实现中,所述训练单元,具体用于:
将约束强度参数作为所述第一判别损失的权重,对所述重构损失和所述第一判别损失进行加权求和,得到网络损失,其中,所述约束强度参数为大于或等于0且小于1的数值;
基于所述网络损失,调整所述对象推荐网络的网络参数。
结合第三方面的第一种实现,在第三方面的第二种实现中,所述约束强度参数在所述训练中的初始值为0,且数值随着迭代次数的增加而增大,直到到达预设阈值,其中,所述预设阈值为大于0且小于1的数值。
结合第三方面至第三方面的第二种实现,在第三方面的第三种实现中:
所述计算单元,还用于基于所述编码结果对所述初始用户-对象关联数据求导,得到收缩损失;
所述训练单元,还用于基于所述第一判别损失、所述重构损失和所述收缩损失,调整所述对象推荐网络的网络参数。
结合第三方面第三种实现,在第三方面的第四种实现中,所述训练单元,具体用于:
基于所述第一判别损失、所述重构损失和所述收缩损失,调整用于所述编码处理的编码模块和用于所述解码处理的解码模块中至少一个单元的参数。
结合第三方面至第三方面的第四种实现,在第三方面的第五种实现中:
所述计算单元,还用于通过第二判别器对所述重构用户-对象关联数据进行判别,得到第二判别结果;基于所述第二判别结果的非线性映射结果,得到第二判别损失;
所述训练单元,还用于基于所述第一判别损失、所述重构损失和所述第二判别损失,调整所述对象推荐网络的网络参数。
结合第三方面的第五种实现,在第三方面的第六种实现中,所述计算单元,具体用于:
基于所述初始用户-对象关联数据,得到用户特征数据;
以所述用户特征数据作为条件信息,通过第二判别器对所述重构用户-对象关联数据进行判别,得到第二判别结果。
结合第三方面的第五种实现,在第三方面的第七种实现中,所述计算单元,具体用于:
用掩码过滤掉所述重构用户-对象关联数据中用户-对象之间未交互过的数据,得到过滤结果;
将所述过滤结果输出到所述第二判别器进行判别,得到第二判别结果。
结合第三方面,在第三方面的第八种实现中:
所述计算单元,还用于通过所述第一判别器对初始用户-商品关联数据和满足高斯分布的随机变量进行判别,得到第三判别结果;基于所述第一判别结果的非线性映射结果和所述第三判别结果的非线性映射结果,得到第三判别损失;
所述训练单元,还用于基于所述第三判别损失,调整所述第一判别器的参数。
结合第三方面,在第三方面的第九种实现中:
所述计算单元,还用于利用所述第二判别器对所述初始用户-商品关联数据进行判别,得到第四判别结果;基于所述第二判别结果的非线性映射结果和所述第四判别结果的非线性映射结果,得到第四判别损失;
所述训练单元,还用于基于所述第四判别损失,调整所述第二判别器的网络参数。
第四方面,本申请实施例提供了一种对象推荐设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,用以执行如第一方面所述的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行,用以执行如第一方面所述的方法。
本申请先对初始用户-对象关联数据进行编码得到编码结果,然后对编码结果进行解码得到重构用户-对象关联数据。再然后通过计算重构损失和第一判别损失,并利用重构损失和第一判别损失对对象推荐网络进行训练,以减少对象推荐网络对编码结果的约束,并提高编码结果的表现力。从而基于新的对象推荐网络处理得到的编码结果能够更加准确的表达出初始用户-对象关联数据的实际分布,并基于该编码结果生成得到准确的重构用户-对象关联数据,以提高基于自编码器的协同过滤技术的推荐性能。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1是本申请实施例提供的一种对象推荐网络的结构示意图;
图2是本申请另一实施例提供的一种对象推荐网络的结构示意图;
图3是本申请实施例提供的一种对象推荐网络的训练方法的示意流程图;
图4是本申请另一实施例提供的一种对象推荐网络的训练方法的示意流程图;
图5是本申请实施例提供的一种对象推荐设备的示意性框图;
图6是本申请实施例提供的一种对象推荐设备的结构性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请主要应用于对象推荐设备,该对象推荐设备可以是传统对象推荐设备、服务器、终端设备或者本申请第三实施例和第四实施例所描述的对象推荐设备,本申请对此不做限制。当对象推荐设备与其他设备进行数据交互的时候,对象推荐设备和其他设备都按照预设格式进行对数据的特性进行记录并传送,并能对接收到的预设格式的数据进行相应的处理和解析等,其中,数据的特性包括时间、地点、类型等。其中,若对象推荐设备为服务器时,对象推荐设备可以提供计算服务,能够响应服务请求并进行处理,具备承担服务并且保障服务的能力。其中,对象推荐设备可以是文件服务器、数据库服务器、应用程序服务器、WEB服务器等。若对象推荐设备为终端设备时,对象推荐设备包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备,本申请对此不作限定。
发明人发现,之所以基于编码-解码的协同过滤技术的推荐性能并不理想,是因为基于编码-解码的协同过滤技术产生的编码结果的表现力不足导致的。由于编码结果不足以准确的表示出原始用户数据的真实后验分布,因此导致后续根据该编码结果重构出的新用户数据也不是很准确,从而导致传统的基于编码-解码的协同过滤技术的推荐性能不理想。为此解决该问题,本申请实施例提供了一种对象推荐网络的训练方法以及一种对象推荐网络。通过实施该对象推荐网络的训练方法,可以减少对象推荐网络对于编码结果的约束力,提高编码结果的表现力,使得编码结果能够更加准确的表达出原始用户数据的真实后验分布。
接下来将结合图1对本申请所提供的对象推荐网络,以及对象推荐网络的训练方法进行详细说明。如图1所示,对象推荐网络包括编码模块和解码模块。对象推荐网络用于根据初始用户-对象关联数据预测得到重构用户-对象关联数据。初始用户-对象关联数据中包含多个数据项,每个数据项代表一个用户和一个物品的关联关系。例如数据项为1代表用户与物品之间存在关联,例如用户购买、收藏和点击了物品等;数据项为空则代表用户与物品之间不存在关联。本申请对用于表示用户和物品之间存在关联的数值不做限定,该数值可以为1,也可以为除了1以外的任意数值。对象推荐网络预测得到的重构用户-对象关联数据相对于初始用户-对象关联数据来说,每个数据项都预测得到预测数据,该预测数据可以与初始用户-对象关联数据中的数据一致,也可以不一致。尤其是初始用户-对象关联数据中原本为空的数据项,重构用户-对象关联数据中对应的数据项的预测数据可以为空,也可以不为空。对于初始用户-对象关联数据中原本为空的数据项,当对应的预测数据为空,表示该数据项对应的用户与物品之间不存在关系,则不向用户推荐该物品;当对应的预测数据不为空,表示该数据项对应的用户与物品之间存在关系,则向用户推荐该物品。因此,对象推荐装置可以基于重构用户-对象关联数据向用户推荐原本与用户不存在关联的物品。需要注意的是,接下来将会描述的重构用户-对象关联数据与重构用户-对象关联数据的区别在于重构用户-对象关联数据是基于训练之后的对象推荐网络得到的,而重构用户-对象关联数据是基于训练之前的对象推荐网络得到的。因此基于重构用户-对象关联数据也可以实现生成待推荐的物品,并向用户推荐的过程,本申请对此不再赘述。
本申请提供的对象推荐网络中的对象推荐网络不仅可以实现传统的自编码器的功能的,而且还通过对对象推荐网络进行训练,使得经过训练后的对象推荐网络编码得到的编码结果具有更好的表现力。因此,本申请中提供的对象推荐网络可以被理解为是一种改良的自编码器。具体的,对象推荐设备在调用该模型实现协同过滤时,先调用对象推荐网络中的编码模块对初始用户-对象关联数据进行编码得到用于表示初始用户-对象关联数据的后验分布的编码结果,然后调用对象推荐网络的解码模块对该编码结果进行解码,得到重构用户-对象关联数据。为了实现对对象推荐网络的训练,本申请计算出了用于表示编码误差量的编码损失,并利用该编码损失对对象推荐网络进行训练。最后调用训练后的对象推荐网络对初始用户-对象关联数据进行处理得到重构用户-对象关联数据,并输出重构用户-对象关联数据,或者基于该重构用户-对象关联数据确定待推荐的物品,并向用户的终端设备推送该待推荐的物品的信息。更具体的,如图1所示,对象推荐网络中除了对象推荐网络,还包括第一判别模块,该第一判别模块用于判别编码结果的真假性。在计算编码损失时,计算相对于用于表示初始用户-对象关联数据的先验分布的预设变量的信息损失量,命名为重构损失;并计算第一判别模块判别编码结果为真时的信息损失量,命名为第一判别损失。然后将重构损失和第一判别损失的加权和作为编码损失。
需要说明的是,本申请通过引入第一判别模块,在对象推荐网络的基础上引入了生成式对抗网络(GAN,Generative Adversarial Networks),使得第一判别模块与对象推荐网络之间形成一种对抗机制。第一判别模块可以对对象推荐网络编码得到的编码结果的真假性进行判断,并根据判断的结果对对象推荐网络进行训练,使得训练后的对象推荐网络编码出的编码结果更加符合第一判别模块的判断标准。反过来,对象推荐网络将已知为真的编码结果输入到第一判别模块中,第一判别模块对该编码结果的真假进行判别,然后根据第一判别模块的判别的误差对第一判别模块进行训练。对象推荐网络和第一判别模块的训练可以循环进行,例如对象推荐网络进行一次训练,对象推荐网络进行一次训练,本申请对循环的周期不做限定。可以看出,对象推荐网络和第一判别模块通过对抗机制来逐步升级。通过该对抗机制,对象推荐网络对初始用户-对象关联数据编码得到的编码结果更具有表现力,也更加准确。
还需要说明的是,本申请中的对象推荐网络中的对象推荐网络可以是传统的自编码器(AE,Autoencoders),也可以是传统的变分自编码器(VAE,VariationalAutoencoders),还可以是结合了如图1所示的随机失信(Dropout)层和黑盒推理模型的自编码器。而上述第一判别模块可以是传统的判别器(Discriminator)。
参见图3,是本申请实施例提供一种对象推荐网络的训练方法的示意流程图,如图3所示的对象推荐网络的训练方法可包括:
301:对初始用户-对象关联数据进行编码处理,得到编码结果。
在本申请实施例中,对象推荐设备先调用对象推荐网络中的对象推荐网络的编码模块对初始用户-对象关联数据进行编码得到编码结果,编码结果用于表示初始用户-对象关联数据的后验分布。编码实质上也可以理解为一种降维,对初始用户-对象关联数据进行降维之后得到的编码结果可以表示初始用户-对象关联数据的数据特征。初始用户-对象关联数据用于表示用户和物品的关联情况。在初始用户-对象关联数据中,每个数据项对应于一个用户和一个物品,数据项中的数据用于表示用户与物品之间的关联情况。初始用户-对象关联数据中非空的数据项表示对应的用户与物品存在关联;初始用户-对象关联数据中为空的数据项表示对应的用户与物品不存在关联。
需要说明的是,可以采用编码器(Encoder)来实现上述编码模块的功能。编码器为一种用于实现对初始用户-对象关联数据进行编码的深度学习神经网络,本申请对编码器的具体神经网络架构不做限定。且编码器可以通过训练变得更加准确,训练之后的编码器可以对初始用户-对象关联数据编码得到表现力更强的编码结果。
在一种可实施的方式中,上述调用对象推荐网络的编码模块对初始用户-对象关联数据进行编码得到编码结果指的是:随机选取出初始用户-对象关联数据中的部分数据项;然后将初始用户-对象关联数据中的部分数据项重置为空,得到重置后的初始用户-对象关联数据;最后对重置后的初始用户-对象关联数据进行编码得到编码结果。
在本申请实施例中,先对初始用户-对象关联数据进行随时失活,使得初始用户-对象关联数据中的部分数据项被重置为空,然后对重置后的初始用户-对象关联数据进行编码。具体的,在随机选取出部分数据项;然后将被选中的数据项重置为空,得到重置后的初始用户-对象关联数据;最后对重置后的初始用户-对象关联数据进行编码,得到用于表示初始用户-对象关联数据的后验分布的编码结果。
在一种可实施的方式中,可以采用随机失活(Dropout)层来实现上述随机失活的过程,随机失活层用于将初始用户-对象关联数据中的数据项随机重置为空。还可以采用为黑盒推理模型Zφ(x,ε)的编码器来实现上述编码的过程,黑盒推理模型为任意表达推理模型。需要说明的是,随机失活可以提高模型的鲁棒性,防止过拟合,使得模型可以用于大规模、高维和稀疏性的推荐数据。黑盒推理模型有利于推断模型的表现力,从而提高编码结果的表现力。
302:对上述编码结果进行解码处理,得到重构用户-对象关联数据。
本申请实施例中,在得到上述编码结果之后,协同设备调用对象推荐网络的解码模块对上述编码结果进行解码,以重构得到重构用户-对象关联数据。重构用户-对象关联数据包括初始用户-对象关联数据中为空的数据项对应的预测数据,也即是,对应于初始用户-对象关联数据中为空的数据项,重构之后得到的重构用户-对象关联数据中的数据项预测出了新的数据。该新的数据可以为空,也可以不为空。需要注意的是,初始用户-对象关联数据中不为空的数据项在重构之后也可能变为空。因为初始用户-对象关联数据在编码解码的过程中会存在一定的信息损失,因此编码结果会因为过于依赖于编码模块而受到较大约束,从而表现力不足,无法准确的表示出初始用户-对象关联数据的后验分布。编码结果表现力不足会进一步导致根据编码结果生成的重构用户-对象关联数据与初始用户-对象关联数据相比重构损失严重,无法对初始用户-对象关联数据中待预测的数据项进行准确预测,甚至于无法恢复出初始用户-对象关联数据中原本不为空的数据项。
需要说明的是,可以采用解码器(Decoder)来实现上述解码模块的功能。编码器为一种用于实现对编码结果进行编码的深度学习神经网络,本申请对解码器的具体神经网络架构不做限定。且解码器可以通过训练变得更加准确,训练之后的解码器可以重构出更加准确的重构用户-对象关联数据。
303:基于上述重构用户-对象关联数据与上述初始用户-对象关联数据之间的差异,得到重构损失。
在本申请实施例中,基于上述重构用户-对象关联数据与上述初始用户-对象关联数据之间的差异,计算重构损失。具体的,重构损失可以利用以下公式计算得到:
其中,θ表示解码模块的参数、φ表示编码模块的参数、x~pD(x)表示x符合重构用户-对象关联数据pD(x)中的数据分布、ε~N(0,I)表示ε符合高斯噪声分布、pθ(x|zφ)表示在已知编码结果zφ的情况下重构得到重构用户-对象关联数据pD(x)的概率。
304:通过第一判别器对上述初始用户-对象关联数据和所述编码结果进行判别,得到第一判别结果,并将该第一判别结果作为第一判别损失。
在本申请实施例中,如图1所示的对象推荐网络除了上述编码模块和解码模块以外,还包含第一判别模块,该第一判别模块可以采用判别器(Discriminator)来实现对应的功能。具体的,对象推荐网络通过第一判别器对上述初始用户-对象关联数据和所述编码结果进行判别,得到第一判别结果,并将该第一判别结果作为第一判别损失。其中,第一判别损失可以利用以下公式计算得到:
其中,T*(x,zφ)代表将初始用户-对象关联数据和所述编码结果作为数据对,输入到第一判别器,使得第一判别器对该数据对进行判别,输出得到第一判别结果。
需要说明的是,判别器为一种用于实现对编码结果的真假性进行判别的深度学习神经网络,本申请对判别器的具体神经网络架构不做限定。且判别器可以通过训练变得更加准确,训练之后的编码器可以对编码结果的真假性判别得更加准确。
305:基于上述第一判别损失和重构损失,调整对象推荐网络的网络参数。
本申请实施例基于上述步骤中生成的第一判别损失和重构损失的总和,来调整对象推荐网络的网络参数,以实现对象推荐网络的训练。需要说明的是,上述用于对判别器和对象推荐网络等进行等进行训练的方法包括但不限于例如反向传播(back-propagation)算法等用于对深度学习神经网络进行优化的优化函数,本申请实施例对此不做限定。根据本次训练中得到的信息损失量的大小利用反向传播算法调整网络中的参数,以使得在下次训练中得到的信息损失量小于本次训练中得到的信息损失量。对于其他利用损失量对任意编码器、解码器和判别器进行训练的优化函数和优化过程可以参照上述内容,此后不再赘述。
在一种可实施的方式中,上述基于上述第一判别损失和重构损失,调整对象推荐网络的网络参数指的是,对上述第一判别损失和重构损失进行总和,得到网络损失,然后基于该网络损失,调整推荐网络的网络参数。其中,对上述第一判别损失和重构损失进行总和得到的网络损失,可以表示如下:
在一种可实施的方式中,上述基于上述第一判别损失和重构损失,调整对象推荐网络的网络参数,指的是:将约束强度参数α作为第一判别损失的权重,对重构损失和第一判别损失进行加权求和,得到网络损失,其中,约束强度参数α为大于或等于0且小于1的数值;基于网络损失,调整对象推荐网络的网络参数。其中,在本实施例中的网络损失可以表示如下:
在本申请实施例中,通过将约束强度参数作为第一判别损失的权重,来控制第一判别损失的大小,从而控制对象推荐网络的训练速度。约束强度参数越大,对象推荐网络的训练速度越慢;约束强度参数越小,对象推荐网络的训练速度越快。
在一种可实施的方式中,约束强度参数可以是退火参数。具体的,约束强度参数在对象推荐网络得训练中的初始值为0,且数值随着迭代次数的增加而增大,直到到达预设阈值。其中,迭代次数指的是对象推荐网络的训练次数,预设阈值为大于0且小于1的数值。简而言之,随着迭代次数的增多,约束强度参数逐渐上调,对象推荐网络的训练速度也下降,直到约束强度参数达到预设阈值,对象推荐网络训练速度达到平稳。
在一种可实施的方式中,可以利用重构损失、第一判别损失和收缩损失对上述对象推荐网络进行训练。具体的,基于编码结果对初始用户-对象关联数据求导,得到收缩损失;基于第一判别损失、重构损失和收缩损失,调整对象推荐网络的网络参数。
本申请实施例利用了编码损失和收缩损失一起对对象推荐网络进行训练,可以进一步的提高编码结果的表现力。需要注意的是,本申请采用收缩损失对上述对象推荐网络进行训练,主要还是为了通过惩罚编码结果对输入的敏感性,使得其局部空间收缩,从而对输入的扰动不再那么敏感。总的来说,本申请实施例通过采用收缩函数来对对象推荐网络进行编码,来进一步提高模型的鲁棒性以及泛化能力。其中,第一判别损失、重构损失和收缩损失可以通过以下公式计算得到:
其中,公式中的为第一判别损失和重构损失;为收缩损失。其中,λ表示用于控制收缩函数的惩罚强度的可调参数、Jqφ(X)表示初始用户-对象关联数据雅克比矩阵,表示初始用户-对象关联数据雅克比矩阵的F范数。
在一种可实施的方式中,上述基于第一判别损失、重构损失和收缩损失,调整对象推荐网络的网络参数,指的是:基于第一判别损失、重构损失和收缩损失,调整用于编码处理的编码模块和用于解码处理的解码模块中至少一个单元的参数。
在本申请实施例中,上述对对象推荐网络的网络参数进行调整时,可以利用上述第一判别损失、重构损失和收缩损失单独对编码模块(例如编码器)的参数进行调整,以对该编码模块进行训练;也可以利用上述第一判别损失、重构损失和收缩损失单独对解码模块(例如解码器)的参数进行调整,以对该解码模块进行训练;还可以利用上述第一判别损失、重构损失和收缩损失同时编码模块(例如编码器)和对解码模块(例如解码器)的参数进行调整,以对该编码模块和解码模块进行训练。
在一种可实施的方式中,还可以利用重构损失、第一判别损失和第二判别损失对上述对象推荐网络进行训练。具体的,对象推荐网络还包括第二判别模块。对象推荐网络通过第二判别器对上述重构用户-对象关联数据进行判别,得到第二判别结果;基于该第二判别结果的非线性映射结果,得到第二判别损失;基于第一判别损失、重构损失和第二判别损失,调整对象推荐网络的网络参数。
在本申请实施例中,利用第二判别模块对上述重构用户-对象关联数据进行判别得到第二判别结果。然后采用利用sigmoid函数等激励函数对第二判别结果进行非线性映射处理,以得到第二判别结果的非线性映射结果,并将该非线性映射结果作为第二判别损失。其中,第二判别模块的功能通过判别器实现。
在一种可实施的方式中,上述通过第二判别器对所述重构用户-对象关联数据进行判别,得到第二判别结果,指的是:基于初始用户-对象关联数据,得到用户特征数据;以用户特征数据作为条件信息,通过第二判别器对重构用户-对象关联数据进行判别,得到第二判别结果。其中,用户特征数据用于区分开不同的用户,使得第二判别器在以用户特征数据为条件信息对重构用户-对象关联数据进行判别的时候,判别的更加准确。
在一种可实施的方式中,上述通过第二判别器对重构用户-对象关联数据进行判别,得到第二判别结果,指的是:用掩码过滤掉重构用户-对象关联数据中用户-对象之间未交互过的数据,得到过滤结果;将过滤结果输出到第二判别器进行判别,得到第二判别结果。其中,对重构用户-对象关联数据进行过滤指的是,对照初始用户-对象关联数据中为空的数据项,将重构用户-对象关联数据中对应的数据项中的数据重置为空。
需要说明的是,第二判别模块对重构用户-对象关联数据进行判别之前,先对重构用户-对象关联数据进行掩膜(Mask)处理。Mask处理指的是,按照初始用户-对象关联数据中为空的数据项,将重构用户-对象关联数据中对应的数据项也重置为空。这是因为第二判别器在判别新关联为真假的时候,是以原来的初始用户-对象关联数据为基准的。最理想的情况是,对应于原来的初始用户-对象关联数据中不为空的数据项,重构用户-对象关联数据与原来的初始用户-对象关联数据完全一致。也就是说,通过解码完全重构出了原来的初始用户-对象关联数据,还对原来的初始用户-对象关联数据中为空的数据项进行了数据预测,这样的情况可以认为是没有重构损失的。因此第二判别模块在判别重构用户-对象关联数据的真假之前,先对重构用户-对象关联数据进行Make处理,使得重构用户-对象关联数据只留下对应于原来的初始用户-对象关联数据中不为空的数据项的数据。
其中,上述第一判别损失、重构损失和第二判别损失可以表示为以下公式:
其中,为第一判别损失和重构损失,为第二判别损失。第二判别损失中的表示重构用户-对象关联数据符合初始用户-对象关联数据的后验数据分布pθ(x|z),zc~qζ(zc|x)表示用户特征数据zc符合初始用户-对象关联数据的先验数据分布qζ(zc|x),β为控制第二判别损失函数的训练强度的可调参数,σ为激励函数的参数,为第二判别器的判别表达式,表示将初始用户-对象关联数据与重构用户-对象关联数据进行点乘,以过滤掉重构用户-对象关联数据中用户-对象之间未交互过的数据。
本申请实施例利用了第二判别损失对对象推荐网络进行训练,可以进一步的提高编码结果的表现力。需要注意的是,本申请采用第二判别损失对上述对象推荐网络进行训练,主要是为了进一步采用对抗训练来减少模型中的重构损失。类似于第一判别模块与对象推荐网络之间的关系,第二判别模块与第二对象推荐网络之间也可以理解为一种对抗机制。第二对象推荐网络可以对对象推荐网络输出的重构用户-对象关联数据的真假性进行判断,从而得到判断重构用户-对象关联数据为真时的信息损失量,并利用该信息损失量对对象推荐网络进行训练。反过来,训练之后的对象推荐网络可以将重新处理输出的重构用户-对象关联数据作为已知的真信息输入到第二判别模块,第二判别模块根据判断该重构用户-对象关联数据为真的判别误差对第二判别模块进行训练。总的来说,本申请实施例通过采用第二判别损失来对对象推荐网络进行训练,来进一步减少模型的重构损失,提高对象推荐网络重构的关联模块的准确度。
在一种可实施的方式中,还可以利用重构损失、第一判别损失、收缩损失和第二判别损失对上述对象推荐网络中的参数进行调整,以对对象推荐网络进行训练。具体的,重构损失、第一判别损失、收缩损失和第二判别损失可以用以下公式表示:
本权要描述了利用重构损失、第一判别损失、第二判别损失以及收缩损失对对象推荐网络进行训练的方法,可以进一步的提高编码结果的表现力。需要注意的是,本申请采用第二判别损失对上述对象推荐网络进行训练,主要是为了进一步采用对抗训练来减少模型中的重构损失。类似于第一判别模块与对象推荐网络之间的关系,第二判别模块与第二对象推荐网络之间也可以理解为一种对抗机制。
在一种可实施的方式中,本申请实施例还可以对上述第一判别模块进行训练。具体的,对象推荐网络通过第一判别器对初始用户-商品关联数据和满足高斯分布的随机变量进行判别,得到第三判别结果;基于第一判别结果的非线性映射结果和第三判别结果的非线性映射结果,得到第三判别损失;基于所述第三判别损失,调整所述第一判别器的参数。
在本申请实施例中,将初始用户-商品关联数据和满足高斯分布的随机变量作为数据对输入到第一判别器,使得第一判别器判别得到第三判别结果,然后利用激励函数对分别对上述第一判别结果和上述第三判别结果分别进行非线性映射处理,得到包含有第一判别结果的非线性映射结果和第三判别结果的非线性映射结果的第三判别损失,并利用第三判别损失对第一判别器的参数进行调整,以对第一判别器的参数进行训练。其中第三判别损失可以表示为:
其中,公式中的为第一判别结果的非线性映射结果,为第三判别结果的非线性映射结果。其中,ψ表示第一判别器的网络参数。
在一种可实施的方式中,本申请实施例还可以对上述第二判别模块进行训练。具体的,对象推荐网络利用第二判别器对初始用户-商品关联数据进行判别,得到第四判别结果;基于第二判别结果的非线性映射结果和第四判别结果的非线性映射结果,得到第四判别损失;基于第四判别损失,调整第二判别器的网络参数。
在本申请实施例中,将初始用户-商品关联数据输入到第一判别器,使得第一判别器判别得到第四判别结果,然后利用激励函数对分别对上述第二判别结果和上述第四判别结果分别进行非线性映射处理,得到包含有第二判别结果的非线性映射结果和第四判别结果的非线性映射结果的第四判别损失,并利用第四判别损失对第二判别器的参数进行调整,以对第二判别器的参数进行训练。其中第四判别损失可以表示为:
其中,公式中的为第二判别结果的非线性映射结果,为第四判别结果的非线性映射结果。其中参数τ和ξ表示第二判别器中的网络参数。
在一种可选的方式中:调用训练后的对象推荐网络对上述初始用户-对象关联数据进行处理得到重构用户-对象关联数据,并根据该重构用户-对象关联数据生成待推荐的物品。
在本申请实施例中,在对对象推荐网络进行训练之后,利用训练之后的对象推荐网络重新对初始用户-对象关联数据进行处理,得到重构用户-对象关联数据。然后确定出重构用户-对象关联数据中相对于初始用户-对象关联数据中为空的数据项预测得到的预测数据。该预测数据可能不为空,也可能为空,将不为空的预测数据所指示的用户和物品提取出来作为目标用户和目标物品,并该目标物品作为待推荐的物品,最后将该目标物品推送给目标用户的终端,以完成物品推荐。
本申请先调用对象推荐网络的编码模块对初始用户-对象关联数据进行编码得到编码结果,然后调用对象推荐网络的解码模块对编码结果进行解码得到重构用户-对象关联数据。再然后通过计算重构损失和第一判别损失,并利用重构损失和第一判别损失对对象推荐网络进行训练,以减少对象推荐网络对编码结果的约束,并提高编码结果的表现力。从而基于新的对象推荐网络处理得到的编码结果能够更加准确的表达出初始用户-对象关联数据的实际分布,并基于该编码结果生成得到准确的重构用户-对象关联数据,以提高基于自编码器的协同过滤技术的推荐性能。
参见图4,是本申请实施例提供另一种对象推荐网络的训练方法的示意流程图,如图4所示对象推荐网络的训练方法可包括:
401:对初始用户-对象关联数据进行编码处理,得到编码结果。
在本申请实施例中,调用对象推荐网络的编码模块对初始用户-对象关联数据进行编码得到编码结果。具体的,对象推荐设备通过编码模块中的随机失活(Dropout)层将初始用户-对象关联数据中的部分数据项重置为空,得到重置后的初始用户-对象关联数据,然后利用黑盒推理模型对重置后的初始用户-对象关联数据进行编码得到编码结果。
402:对编码结果进行解码处理,得到重构用户-对象关联数据。
403:基于重构用户-对象关联数据与初始用户-对象关联数据之间的差异,得到重构损失。
404:通过第一判别器对初始用户-对象关联数据和编码结果进行判别,得到第一判别结果,并将第一判别结果作为第一判别损失。
405:基于编码结果对初始用户-对象关联数据求导,得到收缩损失。
406:通过第二判别器对重构用户-对象关联数据进行判别,得到第二判别结果。
407:基于上述第一判别损失、重构损失、第二判别损失和收缩损失,调整上述对象推荐网络的网络参数。
在本申请实施例中,利用上述计算得到第一判别损失、重构损失、第二判别损失和收缩损失,来对上述对象推荐网络进行训练。其中,第一判别损失、重构损失、第二判别损失和收缩损失可以通过以下公式计算得到:
408:调用训练后的对象推荐网络对所述初始用户-对象关联数据进行处理得到重构用户-对象关联数据,并根据重构用户-对象关联数据生成待推荐的物品。
409:计算第三判别损失,并利用第三判别损失对第一判别模块进行训练。
在本申请实施例中,通过计算第三判别损失,来对第一判别模块进行训练。其中,第三判别损失可以通过以下公式计算得到:
410:计算第四判别损失,并利用第四判别损失对第二判别模块进行训练。
在本申请实施例中,通过计算第四判别损失,来对第二判别模块进行训练。其中,第四判别损失可以通过以下公式计算得到:
需要说明的是,上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本申请实施例还提供一种对象推荐设备,该对象推荐设备包含用于执行前述任一项的对象推荐网络的训练方法的单元。具体地,参见图5,是本申请实施例提供的一种对象推荐设备的示意框图。本实施例的对象推荐设备包括:编码模块510、解码模块520、计算单元530、训练单元540以及预测单元550。具体的:
编码单元510,用于对初始用户-对象关联数据进行编码处理,得到编码结果;
编码模块520,用于对所述编码结果进行解码处理,得到重构用户-对象关联数据;
计算单元530,用于基于所述重构用户-对象关联数据与所述初始用户-对象关联数据之间的差异,得到重构损失;通过第一判别器对所述初始用户-对象关联数据和所述编码结果进行判别,得到第一判别结果,并将所述第一判别结果作为第一判别损失
训练单元540,基于所述第一判别损失和所述重构损失,调整所述对象推荐网络的网络参数。
在一种可实施的方式中,所述训练单元540,具体用于:将约束强度参数作为所述第一判别损失的权重,对所述重构损失和所述第一判别损失进行加权求和,得到网络损失,其中,所述约束强度参数为大于或等于0且小于1的数值;基于所述网络损失,调整所述对象推荐网络的网络参数。
在一种可实施的方式中,所述约束强度参数在所述训练中的初始值为0,且数值随着迭代次数的增加而增大,直到到达预设阈值,其中,所述预设阈值为大于0且小于1的数值。
在一种可实施的方式中,所述计算单元530,还用于基于所述编码结果对所述初始用户-对象关联数据求导,得到收缩损失;所述训练单元,还用于基于所述第一判别损失、所述重构损失和所述收缩损失,调整所述对象推荐网络的网络参数。
在一种可实施的方式中,所述训练单元540,具体用于:基于所述第一判别损失、所述重构损失和所述收缩损失,调整用于所述编码处理的编码模块和用于所述解码处理的解码模块中至少一个单元的参数。
在一种可实施的方式中,所述计算单元530,还用于通过第二判别器对所述重构用户-对象关联数据进行判别,得到第二判别结果;基于所述第二判别结果的非线性映射结果,得到第二判别损失;所述训练单元540,还用于基于所述第一判别损失、所述重构损失和所述第二判别损失,调整所述对象推荐网络的网络参数。
在一种可实施的方式中,所述计算单元530,具体用于:基于所述初始用户-对象关联数据,得到用户特征数据;以所述用户特征数据作为条件信息,通过第二判别器对所述重构用户-对象关联数据进行判别,得到第二判别结果。
在一种可实施的方式中,所述计算单元530,具体用于:用掩码过滤掉所述重构用户-对象关联数据中用户-对象之间未交互过的数据,得到过滤结果;将所述过滤结果输出到所述第二判别器进行判别,得到第二判别结果。
在一种可实施的方式中,所述计算单元530,还用于通过所述第一判别器对初始用户-商品关联数据和满足高斯分布的随机变量进行判别,得到第三判别结果;基于所述第一判别结果的非线性映射结果和所述第三判别结果的非线性映射结果,得到第三判别损失;所述训练单元540,还用于基于所述第三判别损失,调整所述第一判别器的参数。
在一种可实施的方式中,所述计算单元530,还用于利用所述第二判别器对所述初始用户-商品关联数据进行判别,得到第四判别结果;基于所述第二判别结果的非线性映射结果和所述第四判别结果的非线性映射结果,得到第四判别损失;所述训练单元540,还用于基于所述第四判别损失,调整所述第二判别器的网络参数。
参见图6,是本申请另一实施例提供的一种对象推荐设备示意框图。如图所示的本实施例中的对象推荐设备可以包括:处理器610和存储器620。上述处理器610和存储器620通过总线630连接。具体的:
处理器610用于执行编码单元510的功能,用于对初始用户-对象关联数据进行编码处理,得到编码结果;还用于执行编码模块520的功能,用于对所述编码结果进行解码处理,得到重构用户-对象关联数据;还用于执行计算单元530的功能,用于基于所述重构用户-对象关联数据与所述初始用户-对象关联数据之间的差异,得到重构损失;通过第一判别器对所述初始用户-对象关联数据和所述编码结果进行判别,得到第一判别结果,并将所述第一判别结果作为第一判别损失;还用于执行训练单元540的功能,基于所述第一判别损失和所述重构损失,调整所述对象推荐网络的网络参数。
在一种可实施的方式中,处理器610,具体用于:将约束强度参数作为所述第一判别损失的权重,对所述重构损失和所述第一判别损失进行加权求和,得到网络损失,其中,所述约束强度参数为大于或等于0且小于1的数值;基于所述网络损失,调整所述对象推荐网络的网络参数。
在一种可实施的方式中,所述约束强度参数在所述训练中的初始值为0,且数值随着迭代次数的增加而增大,直到到达预设阈值,其中,所述预设阈值为大于0且小于1的数值。
在一种可实施的方式中,处理器610,还用于基于所述编码结果对所述初始用户-对象关联数据求导,得到收缩损失;所述训练单元,还用于基于所述第一判别损失、所述重构损失和所述收缩损失,调整所述对象推荐网络的网络参数。
在一种可实施的方式中,处理器610,具体用于:基于所述第一判别损失、所述重构损失和所述收缩损失,调整用于所述编码处理的编码模块和用于所述解码处理的解码模块中至少一个单元的参数。
在一种可实施的方式中,处理器610,还用于通过第二判别器对所述重构用户-对象关联数据进行判别,得到第二判别结果;基于所述第二判别结果的非线性映射结果,得到第二判别损失;还用于基于所述第一判别损失、所述重构损失和所述第二判别损失,调整所述对象推荐网络的网络参数。
在一种可实施的方式中,处理器610,具体用于:基于所述初始用户-对象关联数据,得到用户特征数据;以所述用户特征数据作为条件信息,通过第二判别器对所述重构用户-对象关联数据进行判别,得到第二判别结果。
在一种可实施的方式中,处理器610,具体用于:用掩码过滤掉所述重构用户-对象关联数据中用户-对象之间未交互过的数据,得到过滤结果;将所述过滤结果输出到所述第二判别器进行判别,得到第二判别结果。
在一种可实施的方式中,处理器610,还用于通过所述第一判别器对初始用户-商品关联数据和满足高斯分布的随机变量进行判别,得到第三判别结果;基于所述第一判别结果的非线性映射结果和所述第三判别结果的非线性映射结果,得到第三判别损失;还用于基于所述第三判别损失,调整所述第一判别器的参数。
在一种可实施的方式中,处理器610,还用于利用所述第二判别器对所述初始用户-商品关联数据进行判别,得到第四判别结果;基于所述第二判别结果的非线性映射结果和所述第四判别结果的非线性映射结果,得到第四判别损失;还用于基于所述第四判别损失,调整所述第二判别器的网络参数。
应当理解,在本申请实施例中,所称处理器610可以是中央处理单元(CentralProcessing Unit,CPU),该处理器610还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器620可以包括只读存储器和随机存取存储器,并向处理器610提供指令和数据。存储器620的一部分还可以包括非易失性随机存取存储器。例如,存储器620还可以存储设备类型的信息。
计算机可读存储介质可以是前述任一实施例的对象推荐设备的内部存储单元,例如对象推荐设备的硬盘或内存。计算机可读存储介质也可以是对象推荐设备的外部存储设备,例如对象推荐设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,计算机可读存储介质还可以既包括对象推荐设备的内部存储单元也包括外部存储设备。计算机可读存储介质用于存储计算机程序以及对象推荐设备所需的其他程序和数据。计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
具体实现中,本申请实施例中所描述的处理器610可执行本申请实施例提供的对象推荐网络的训练方法的第二实施例和第三实施例中所描述的实现方式,也可执行本申请实施例所描述的对象推荐设备的实现方式,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同对象推荐网络的训练方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的对象推荐设备和单元的具体工作过程,可以参考前述对象推荐网络的训练方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的对象推荐设备和对象推荐网络的训练方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,对象推荐设备,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种对象推荐网络的训练方法,其特征在于,所述方法包括:
对初始用户-对象关联数据进行编码处理,得到编码结果;
对所述编码结果进行解码处理,得到重构用户-对象关联数据;
基于所述重构用户-对象关联数据与所述初始用户-对象关联数据之间的差异,得到重构损失;
通过第一判别器对所述初始用户-对象关联数据和所述编码结果进行判别,得到第一判别结果,并将所述第一判别结果作为第一判别损失;
基于所述第一判别损失和所述重构损失,调整所述对象推荐网络的网络参数。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一判别损失和所述重构损失,调整所述对象推荐网络的网络参数,包括:
将约束强度参数作为所述第一判别损失的权重,对所述重构损失和所述第一判别损失进行加权求和,得到网络损失,其中,所述约束强度参数为大于或等于0且小于1的数值;
基于所述网络损失,调整所述对象推荐网络的网络参数。
3.根据权利要求1至2中任一项所述的方法,其特征在于,所述方法还包括:
基于所述编码结果对所述初始用户-对象关联数据求导,得到收缩损失;
所述基于所述第一判别损失和所述重构损失,调整所述对象推荐网络的网络参数,包括:
基于所述第一判别损失、所述重构损失和所述收缩损失,调整所述对象推荐网络的网络参数。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
通过第二判别器对所述重构用户-对象关联数据进行判别,得到第二判别结果;
基于所述第二判别结果的非线性映射结果,得到第二判别损失;
所述基于所述第一判别损失和所述重构损失,调整所述对象推荐网络的网络参数,包括:
基于所述第一判别损失、所述重构损失和所述第二判别损失,调整所述对象推荐网络的网络参数。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述第一判别器对初始用户-商品关联数据和满足高斯分布的随机变量进行判别,得到第三判别结果;
基于所述第一判别结果的非线性映射结果和所述第三判别结果的非线性映射结果,得到第三判别损失;
基于所述第三判别损失,调整所述第一判别器的参数。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
利用所述第二判别器对所述初始用户-商品关联数据进行判别,得到第四判别结果;
基于所述第二判别结果的非线性映射结果和所述第四判别结果的非线性映射结果,得到第四判别损失;
基于所述第四判别损失,调整所述第二判别器的网络参数。
7.一种对象推荐方法,其特征在于,包括:
获取待处理用户-商品关联数据;
通过对象推荐网络对所述待处理用户-对象关联数据进行处理,得到对象推荐结果,其中,所述对象推荐结果是根据权利要求1中调整了网络参数的对象推荐网络重构生成的。
8.一种对象推荐装置,其特征在于,包括:
编码单元,用于对初始用户-对象关联数据进行编码处理,得到编码结果;
编码模块,用于对所述编码结果进行解码处理,得到重构用户-对象关联数据;
计算单元,用于基于所述重构用户-对象关联数据与所述初始用户-对象关联数据之间的差异,得到重构损失;通过第一判别器对所述初始用户-对象关联数据和所述编码结果进行判别,得到第一判别结果,并将所述第一判别结果作为第一判别损失
训练单元,基于所述第一判别损失和所述重构损失,调整所述对象推荐网络的网络参数。
9.一种对象推荐设备,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,用以执行如权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行,用以执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910748285.XA CN110442804A (zh) | 2019-08-13 | 2019-08-13 | 一种对象推荐网络的训练方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910748285.XA CN110442804A (zh) | 2019-08-13 | 2019-08-13 | 一种对象推荐网络的训练方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110442804A true CN110442804A (zh) | 2019-11-12 |
Family
ID=68435306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910748285.XA Pending CN110442804A (zh) | 2019-08-13 | 2019-08-13 | 一种对象推荐网络的训练方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442804A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113205183A (zh) * | 2021-04-23 | 2021-08-03 | 北京达佳互联信息技术有限公司 | 物品推荐网络训练方法、装置、电子设备及存储介质 |
WO2021169451A1 (zh) * | 2020-09-28 | 2021-09-02 | 平安科技(深圳)有限公司 | 基于对抗学习的内容推荐方法、装置和计算机设备 |
CN113362403A (zh) * | 2021-07-20 | 2021-09-07 | 支付宝(杭州)信息技术有限公司 | 图像处理模型的训练方法及装置 |
CN113422950A (zh) * | 2021-05-31 | 2021-09-21 | 北京达佳互联信息技术有限公司 | 图像数据处理模型的训练方法和训练装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304359A (zh) * | 2018-02-06 | 2018-07-20 | 中国传媒大学 | 无监督学习统一特征提取器构建方法 |
CN108595493A (zh) * | 2018-03-15 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 媒体内容的推送方法和装置、存储介质、电子装置 |
CN108846124A (zh) * | 2018-06-29 | 2018-11-20 | 北京百度网讯科技有限公司 | 训练方法、装置、计算机设备和可读存储介质 |
CN109299716A (zh) * | 2018-08-07 | 2019-02-01 | 北京市商汤科技开发有限公司 | 神经网络的训练方法、图像分割方法、装置、设备及介质 |
CN109345302A (zh) * | 2018-09-27 | 2019-02-15 | 腾讯科技(深圳)有限公司 | 机器学习模型训练方法、装置、存储介质和计算机设备 |
CN109360069A (zh) * | 2018-10-29 | 2019-02-19 | 郑州大学 | 一种基于成对对抗训练的推荐模型 |
CN109509056A (zh) * | 2018-10-16 | 2019-03-22 | 平安科技(深圳)有限公司 | 基于对抗网络的商品推荐方法、电子装置及存储介质 |
CN109753608A (zh) * | 2019-01-11 | 2019-05-14 | 腾讯科技(深圳)有限公司 | 确定用户标签的方法、自编码网络的训练方法及装置 |
CN110009013A (zh) * | 2019-03-21 | 2019-07-12 | 腾讯科技(深圳)有限公司 | 编码器训练及表征信息提取方法和装置 |
CN110019163A (zh) * | 2017-12-05 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 对象特征的预测、推荐的方法、系统、设备和存储介质 |
CN110020592A (zh) * | 2019-02-03 | 2019-07-16 | 平安科技(深圳)有限公司 | 物体检测模型训练方法、装置、计算机设备及存储介质 |
-
2019
- 2019-08-13 CN CN201910748285.XA patent/CN110442804A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019163A (zh) * | 2017-12-05 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 对象特征的预测、推荐的方法、系统、设备和存储介质 |
CN108304359A (zh) * | 2018-02-06 | 2018-07-20 | 中国传媒大学 | 无监督学习统一特征提取器构建方法 |
CN108595493A (zh) * | 2018-03-15 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 媒体内容的推送方法和装置、存储介质、电子装置 |
CN108846124A (zh) * | 2018-06-29 | 2018-11-20 | 北京百度网讯科技有限公司 | 训练方法、装置、计算机设备和可读存储介质 |
CN109299716A (zh) * | 2018-08-07 | 2019-02-01 | 北京市商汤科技开发有限公司 | 神经网络的训练方法、图像分割方法、装置、设备及介质 |
CN109345302A (zh) * | 2018-09-27 | 2019-02-15 | 腾讯科技(深圳)有限公司 | 机器学习模型训练方法、装置、存储介质和计算机设备 |
CN109509056A (zh) * | 2018-10-16 | 2019-03-22 | 平安科技(深圳)有限公司 | 基于对抗网络的商品推荐方法、电子装置及存储介质 |
CN109360069A (zh) * | 2018-10-29 | 2019-02-19 | 郑州大学 | 一种基于成对对抗训练的推荐模型 |
CN109753608A (zh) * | 2019-01-11 | 2019-05-14 | 腾讯科技(深圳)有限公司 | 确定用户标签的方法、自编码网络的训练方法及装置 |
CN110020592A (zh) * | 2019-02-03 | 2019-07-16 | 平安科技(深圳)有限公司 | 物体检测模型训练方法、装置、计算机设备及存储介质 |
CN110009013A (zh) * | 2019-03-21 | 2019-07-12 | 腾讯科技(深圳)有限公司 | 编码器训练及表征信息提取方法和装置 |
Non-Patent Citations (1)
Title |
---|
IAN J. GOODFELLOW等: "Generative Adversarial Nets", 《ARXIV》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021169451A1 (zh) * | 2020-09-28 | 2021-09-02 | 平安科技(深圳)有限公司 | 基于对抗学习的内容推荐方法、装置和计算机设备 |
CN113205183A (zh) * | 2021-04-23 | 2021-08-03 | 北京达佳互联信息技术有限公司 | 物品推荐网络训练方法、装置、电子设备及存储介质 |
CN113205183B (zh) * | 2021-04-23 | 2024-05-14 | 北京达佳互联信息技术有限公司 | 物品推荐网络训练方法、装置、电子设备及存储介质 |
CN113422950A (zh) * | 2021-05-31 | 2021-09-21 | 北京达佳互联信息技术有限公司 | 图像数据处理模型的训练方法和训练装置 |
CN113362403A (zh) * | 2021-07-20 | 2021-09-07 | 支付宝(杭州)信息技术有限公司 | 图像处理模型的训练方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442804A (zh) | 一种对象推荐网络的训练方法、装置、设备及存储介质 | |
Zhu et al. | Forecasting carbon price using a multi‐objective least squares support vector machine with mixture kernels | |
CN113905391B (zh) | 集成学习网络流量预测方法、系统、设备、终端、介质 | |
CN111352965B (zh) | 序列挖掘模型的训练方法、序列数据的处理方法及设备 | |
CN107992486A (zh) | 一种信息处理方法及相关产品 | |
CN107911491A (zh) | 信息推荐方法、装置及存储介质、服务器和移动终端 | |
CN109657890A (zh) | 一种转账欺诈的风险确定方法及装置 | |
CN111831675A (zh) | 一种仓储模型训练方法、装置、计算机设备及存储介质 | |
WO2021103675A1 (zh) | 神经网络的训练及人脸检测方法、装置、设备和存储介质 | |
CN111597326A (zh) | 生成商品描述文本的方法及装置 | |
CN112365033B (zh) | 一种风电功率区间预测方法、系统及存储介质 | |
CN113724010A (zh) | 客户流失预测方法及装置 | |
CN108111399A (zh) | 消息处理的方法、装置、终端及存储介质 | |
CN114417172A (zh) | 一种深度兴趣进化推荐方法、装置、设备和存储介质 | |
CN109242089B (zh) | 递进监督深度学习神经网络训练方法、系统、介质和设备 | |
CN113791909A (zh) | 服务器容量调整方法、装置、计算机设备及存储介质 | |
CN115809374B (zh) | 纠正推荐系统主流偏差的方法、系统、设备及存储介质 | |
CN111445032B (zh) | 利用业务决策模型进行决策处理的方法及装置 | |
CN113128911A (zh) | 数据资源价值的在线评估方法及装置 | |
Luan et al. | LRP‐based network pruning and policy distillation of robust and non‐robust DRL agents for embedded systems | |
CN117056695A (zh) | 交易数据预测方法、预测模型的训练方法、装置及设备 | |
CN117709497A (zh) | 对象信息预测方法、装置、计算机设备和存储介质 | |
CN114707633A (zh) | 特征提取方法、装置、电子设备和存储介质 | |
CN114358692A (zh) | 配送时长调整方法、装置及电子设备 | |
CN114429244A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191112 |