一种推荐模型的训练方法及装置与流程
未命名
08-09
阅读:121
评论:0
1.本公开涉及人工智能技术领域,尤其涉及一种推荐模型的训练方法及装置。
背景技术:
2.推荐系统在当今生活扮演着不可或缺的作用,无论是网络购物,新闻阅读,还是视频观看,都有其身影。为了让推荐系统推的更准,首先要对物品和用户进行充分建模,通过复杂的手段将用户最有可能点击的物品优先推送给用户,以提升用户的满意度和整个系统的效率。现有技术中,一般使用推荐模型来为用户推荐合适的对象(比如商品或服务);例如在商业场景下,推荐模型的输入一般为一批用户特征和商品特征,利用推荐模型对某一个特定商品进行判别用户是否会点击,以购买该商品。该判别结果被作为模型的输出结果与真实的用户点击,购买结果进行损失函数计算,从而指导推荐模型进行优化。推荐模型利用序列推荐的方式在电商和新闻推荐场景中经常出现,具体为通过对整个序列建模去预测下一个用户可能点击的物品。然而,现有的推荐模型在训练过程中只是对用户的历史交互序列进行了处理与编码,但却没有考虑数据本身的质量与意义,导致训练得到的推荐模型结果欠优的问题;这样,会使得利用现有的推荐模型向用户推荐商品或服务的场景下,给用户所推荐的商品或服务并不是用户真正想要的商品或服务,从而导致用户体验较差,且在提高商品或服务的转化率上有一定的局限性。
技术实现要素:
3.有鉴于此,本公开实施例提供了一种推荐模型的训练方法、装置、计算机设备及计算机可读存储介质,以解决现有技术中训练得到的推荐模型结果欠优,导致在利用推荐模型向用户推荐对象的场景下,给用户所推荐的对象并不是用户真正想要的,从而导致用户体验较差的问题。
4.本公开实施例的第一方面,提供了一种推荐模型的训练方法,该方法包括:将交互训练样本中的历史交互序列输入预设的生成器,得到该历史交互序列对应的预测交互序列;其中,该历史交互序列中的全部交互特征信息均为目标用户已执行预设操作的对象对应的交互特征信息;该预测交互序列中的所预测的交互特征信息为该目标用户未执行预设操作的对象对应的交互特征信息;根据该历史交互序列和该预测交互序列,生成训练交互序列;其中,该训练交互序列中的一部分交互特征信息为该历史交互序列中的部分交互特征信息,该训练交互序列中的另一部分交互特征信息为该预测交互序列的全部交互特征信息或者部分交互特征信息;将该训练交互序列输入预设的判别器,得到该训练交互序列中每个交互特征信息对应的预测转化结果;其中,交互特征信息对应的预测转化结果用于表征判别器所预测的交互特征信息对应的对象是否会被该目标用户执行预设操作;根据该历史交互序列对应的预测交互序列、该训练交互序列中每个交互特征信息对应的预测转化结果,以及该训练交互序列中每个交互特征信息对应的真实转化结果,对
该判别器的模型参数进行调整,得到目标推荐模型。
5.本公开实施例的第二方面,提供了一种推荐模型的训练装置,该装置包括:序列预测模块,用于将交互训练样本中的历史交互序列输入预设的生成器,得到该历史交互序列对应的预测交互序列;其中,该历史交互序列中的全部交互特征信息均为目标用户已执行预设操作的对象对应的交互特征信息;该预测交互序列中的所预测的交互特征信息为该目标用户未执行预设操作的对象对应的交互特征信息;序列生成模块,用于根据该历史交互序列和该预测交互序列,生成训练交互序列;其中,该训练交互序列中的一部分交互特征信息为该历史交互序列中的部分交互特征信息,该训练交互序列中的另一部分交互特征信息为该预测交互序列的全部交互特征信息或者部分交互特征信息;结果预测模块,用于将该训练交互序列输入预设的判别器,得到该训练交互序列中每个交互特征信息对应的预测转化结果;其中,交互特征信息对应的预测转化结果用于表征判别器所预测的交互特征信息对应的对象是否会被该目标用户执行预设操作;模型调整模块,用于根据该历史交互序列对应的预测交互序列、该训练交互序列中每个交互特征信息对应的预测转化结果,以及该训练交互序列中每个交互特征信息对应的真实转化结果,对该判别器的模型参数进行调整,得到目标推荐模型。
6.本公开实施例的第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并且可以在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
7.本公开实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
8.本公开实施例与现有技术相比存在的有益效果是:本公开实施例可以先将交互训练样本中的历史交互序列输入预设的生成器,得到该历史交互序列对应的预测交互序列;然后,可以根据该历史交互序列和该预测交互序列,生成训练交互序列;接着,可以将该训练交互序列输入预设的判别器,得到该训练交互序列中每个交互特征信息对应的预测转化结果;最后,可以根据该历史交互序列对应的预测交互序列、该训练交互序列中每个交互特征信息对应的预测转化结果,以及该训练交互序列中每个交互特征信息对应的真实转化结果,对该判别器的模型参数进行调整,得到目标推荐模型。可见,在本实施例中由于利用判别器对生成器产生的预测交互序列进行了二次校验,通过联合优化生成器和判别器,使得目标推荐模型能够充分挖掘数据的潜能,并且,在模型训练过程中通过在历史交互序列中引入预测交互序列得到训练交互序列,使得用于训练目标推荐模型的训练交互序列中引入了一些噪声,起到了数据增强的作用,极大的改善了用于训练目标推荐模型的序列数据质量不高的局限性;这样,本实施例所提供的方法可以极大地提高了目标推荐模型的预测推荐准确度,提升了目标推荐模型在线推荐的性能。
附图说明
9.为了更清楚地说明本公开实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附
图获得其它的附图。
10.图1是本公开实施例的应用场景的场景示意图;图2是本公开实施例提供的推荐模型的训练方法的流程图;图3是本公开实施例提供的目标推荐模型的模型训练流程示意图;图4是本公开实施例提供的推荐模型的训练装置的框图;图5是本公开实施例提供的计算机设备的示意图。
具体实施方式
11.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本公开实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本公开。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本公开的描述。
12.下面将结合附图详细说明根据本公开实施例的一种推荐模型的训练方法和装置。
13.在现有技术中,一般使用推荐模型来为用户推荐合适的对象(比如商品或服务);例如在商业场景下,推荐模型的输入一般为一批用户特征和商品特征,利用推荐模型对某一个特定商品进行判别用户是否会点击,以购买该商品。该判别结果被作为模型的输出结果与真实的用户点击,购买结果进行损失函数计算,从而指导推荐模型进行优化。推荐模型利用序列推荐的方式在电商和新闻推荐场景中经常出现,具体为通过对整个序列建模去预测下一个用户可能点击的物品。然而,现有的推荐模型在训练过程中只是对用户的历史交互序列进行了处理与编码,但却没有考虑数据本身的质量与意义,导致训练得到的推荐模型结果欠优的问题;这样,会使得利用现有的推荐模型向用户推荐商品或服务的场景下,给用户所推荐的商品或服务并不是用户真正想要的商品或服务,从而导致用户体验较差,且在提高商品或服务的转化率上有一定的局限性。
14.为了解决上述问题。本发明提供了一种推荐模型的训练方法,在本方法中,由于本实施例利用判别器对生成器产生的预测交互序列进行了二次校验,通过联合优化生成器和判别器,使得目标推荐模型能够充分挖掘数据的潜能,并且,在模型训练过程中通过在历史交互序列中引入预测交互序列得到训练交互序列,使得用于训练目标推荐模型的训练交互序列中引入了一些噪声,起到了数据增强的作用,极大的改善了用于训练目标推荐模型的序列数据质量不高的局限性;这样,本实施例所提供的方法可以极大地提高了目标推荐模型的预测推荐准确度,提升了目标推荐模型在线推荐的性能。
15.举例说明,本发明实施例可以应用到如图1所示的应用场景。在该场景中,可以包括终端设备1和服务器2。
16.终端设备1可以是硬件,也可以是软件。当终端设备1为硬件时,其可以是具有显示屏且支持与服务器2通信的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等;当终端设备1为软件时,其可以安装在如上该的电子设备中。终端设备1可以实现为多个软件或软件模块,也可以实现为单个软件或软件模块,本公开实施例对此不作限制。进一步地,终端设备1上可以安装有各种应用,例如数据处理应用、即时通信工具、社交平台软件、搜索类应用、购物类应用等。
17.服务器2可以是提供各种服务的服务器,例如,对与其建立通信连接的终端设备发
送的请求进行接收的后台服务器,该后台服务器可以对终端设备发送的请求进行接收和分析等处理,并生成处理结果。服务器2可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者还可以是一个云计算服务中心,本公开实施例对此不作限制。
18.需要说明的是,服务器2可以是硬件,也可以是软件。当服务器2为硬件时,其可以是为终端设备1提供各种服务的各种电子设备。当服务器2为软件时,其可以是为终端设备1提供各种服务的多个软件或软件模块,也可以是为终端设备1提供各种服务的单个软件或软件模块,本公开实施例对此不作限制。
19.终端设备1与服务器2可以通过网络进行通信连接。网络可以是采用同轴电缆、双绞线和光纤连接的有线网络,也可以是无需布线就能实现各种通信设备互联的无线网络,例如,蓝牙(bluetooth)、近场通信(near field communication,nfc)、红外(infrared)等,本公开实施例对此不作限制。
20.具体地,用户可以通过终端设备1输入交互训练样本;终端设备1将交互训练样本向服务器2发送。服务器2存储有预设的生成器和判别器。服务器2可以先将交互训练样本中的历史交互序列输入预设的生成器,得到该历史交互序列对应的预测交互序列;其中,该历史交互序列中的全部交互特征信息均为目标用户已执行预设操作的对象对应的交互特征信息;该预测交互序列中的所预测的交互特征信息为该目标用户未执行预设操作的对象对应的交互特征信息。然后,服务器2可以根据该历史交互序列和该预测交互序列,生成训练交互序列;其中,该训练交互序列中的一部分交互特征信息为该历史交互序列中的部分交互特征信息,该训练交互序列中的另一部分交互特征信息为该预测交互序列的全部交互特征信息或者部分交互特征信息。接着,服务器2可以将该训练交互序列输入预设的判别器,得到该训练交互序列中每个交互特征信息对应的预测转化结果;其中,交互特征信息对应的预测转化结果用于表征判别器所预测的交互特征信息对应的对象是否会被该目标用户执行预设操作。最后,服务器2可以根据该历史交互序列对应的预测交互序列、该训练交互序列中每个交互特征信息对应的预测转化结果,以及该训练交互序列中每个交互特征信息对应的真实转化结果,对该判别器的模型参数进行调整,得到目标推荐模型。这样,由于利用判别器对生成器产生的预测交互序列进行了二次校验,通过联合优化生成器和判别器,使得目标推荐模型能够充分挖掘数据的潜能,并且,在模型训练过程中通过在历史交互序列中引入预测交互序列得到训练交互序列,使得用于训练目标推荐模型的训练交互序列中引入了一些噪声,起到了数据增强的作用,极大的改善了用于训练目标推荐模型的序列数据质量不高的局限性;这样,本实施例所提供的方法可以极大地提高了目标推荐模型的预测推荐准确度,提升了目标推荐模型在线推荐的性。
21.需要说明的是,终端设备1和服务器2以及网络的具体类型、数量和组合可以根据应用场景的实际需求进行调整,本公开实施例对此不作限制。
22.需要注意的是,上述应用场景仅是为了便于理解本公开而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
23.图2是本公开实施例提供的一种推荐模型的训练方法的流程图。图2的一种推荐模型的训练方法可以由图1的终端设备或服务器执行。如图2所示,该推荐模型的训练方法包括:s201:将交互训练样本中的历史交互序列输入预设的生成器,得到该历史交互序
列对应的预测交互序列。
24.在本实施例中,生成器可以理解为用于预测一交互序列对应的预测交互序列的神经网络模型。在一种实现方式中,预设的生成器可以为基于transformer的序列编码器。
25.其中,历史交互序列可以包括若干交互特征信息,可以理解的是,若干交互特征信息按照预设顺序进行排序可以作为历史交互序列,在一种实现方式中,历史交互序列中的多个交互特征信息在历史交互序列中的排序顺序可以为根据交互特征信息所对应的对象的预设操作时间(即交互行为所发生的时间)所确定的,例如,若干交互特征信息可以按照对应的交互时间进行从近到远的排序作为历史交互序列。举例来说,在一段时间内同一个用户在某电子商务网站或应用程序中存在交互行为(例如购买、收藏)的商品,可以按照交互行为的发生时间先后顺序排列后就构成一个关于该用户的交互商品序列(即历史交互序列)。需要说明的是,历史交互序列中的全部交互特征信息均为目标用户已执行预设操作(例如已经购买、已经收藏)的对象(例如商品、视频等)对应的交互特征信息。也就是说,该历史交互序列包括多个交互特征信息;每个交互特征信息均为该目标用户已执行预设操作(即交互行为)的一个对象对应的交互特征信息;其中,历史交互序列中的每个交互特征信息所对应的对象均不相同。
26.预测交互序列可以仅包括预测的交互特征信息,也可以包括历史交互序列中的交互特征信息以及基于历史交互序列所预测得到的交互特征信息。需要说明的是,该预测交互序列中的所预测的交互特征信息为该目标用户未执行预设操作(例如未购买、未收藏等)的对象对应的交互特征信息。
27.需要说明的是,上述提及的对象可以理解为被执行交互行为的对象,交互特征信息可以理解为能够反映用户所交互的对象的属性的特征信息。例如,交互对象为商品或服务时,交互特征信息可以为能够反映商品或服务的价格、单日销售量、产品类型、产品用途等属性的特征。
28.举例来说,如图3所示,假设用户a点击过商品a、b、c、d,则交互训练样本中的历史交互序列可以为【a,b,c,d】,将交互训练样本中的历史交互序列输入预设的生成器,得到该历史交互序列【a,b,c,d】对应的预测交互序列【b,c,d,e】,其中,e为预测的交互特征信息,即预测用户接下来点击的商品可能是商品e。
29.s202:根据该历史交互序列和该预测交互序列,生成训练交互序列。
30.在得到生成器所预测的历史交互序列对应的预测交互序列后,可以根据该历史交互序列和该预测交互序列,生成用于判别器训练的训练交互序列。其中,该训练交互序列中的一部分交互特征信息可以为该历史交互序列中的部分交互特征信息,该训练交互序列中的另一部分交互特征信息可以为该预测交互序列的全部交互特征信息或者部分交互特征信息。例如,如图3所示,可以将历史交互序列和预测交互序列输入数据采样器模块,得到训练交互序列。这样,可以给用于判别器训练的训练交互序列引入了一些噪声,起到了数据增强的作用,极大的改善了序列数据质量不高的局限性。
31.具体地,可以先根据该历史交互序列中的交互特征信息的数量和预设替换比例,确定待替换交互特征信息的目标数量。然后,可以从该预测交互序列中选取该目标数量的交互特征信息作为目标交互特征信息。接着,可以从该历史交互序列中选取该目标数量的交互特征信息作为待替换交互特征信息。最后,可以将该历史交互序列中的待替换交互特
征信息替换为该目标交互特征信息,得到训练交互序列。例如,如图3所示,假设预设替换比例为25%,由于历史交互序列为【a,b,c,d】,预测交互序列为【b,c,d,e】,则可以历史交互序列中的一个交互特征信息d替换为目标交互特征信息中的预测的交互特征信息e,从而得到训练交互序列【b,c,d,e】。
32.s203:将该训练交互序列输入预设的判别器,得到该训练交互序列中每个交互特征信息对应的预测转化结果。
33.在本实施例中,判别器可以理解为用于预测一对象的转化结果的神经网络模型。其中,判别器也可以为和生成器一样,同为基于transformer的序列编码器。可以理解的是,生成器和判别器的网络架构是相同的,而生成器和判别器的模型参数是不同的。例如,如图3所示,将训练交互序列【a,b,c,e】输入预设的判别器,可以得到训练交互序列中各个交互特征信息a、b、c、e各自分别对应的预测转化结果。
34.其中,交互特征信息对应的预测转化结果可以用于表征判别器所预测的交互特征信息对应的对象是否会被该目标用户执行预设操作(例如下单、购买等)。需要说明的是,假设交互对象为商品,则可以基于该用户在与最后一个商品交互后的一段时间内,若用户对交互商品产生了订购或预约等进一步的行为,这类更进一步的用户行为可以称之为转化;在训练模型时,需要针对用户的交互商品的序列进行转化行为收集,获得用户最终是否在某些商品上进行了转化;模型的训练目标就是在以用户的交互商品序列为输入的情况下,进行用户会在哪些商品上产生实际的转化行为,这样,训练后的推荐模型便可在使用中将高转化可能性的商品推送给用户,从而提高用户对于交互商品的转化率。
35.s204:根据该历史交互序列对应的预测交互序列、该训练交互序列中每个交互特征信息对应的预测转化结果,以及该训练交互序列中每个交互特征信息对应的真实转化结果,对该判别器的模型参数进行调整,得到目标推荐模型。
36.需要说明的是,在本实施例中,交互训练样本可以包括历史交互序列、历史交互序列中每个交互特征信息对应的真实转化结果,由于预测交互序列中预测的交互特征信息是预测的,用户尚未对该预测的交互特征信息对应的对象执行预设操作,因此,预测的交互特征信息对应的真实转化结果可以预设为未转化。
37.在得到该训练交互序列中每个交互特征信息对应的预测转化结果后,可以根据该历史交互序列对应的预测交互序列、该训练交互序列中每个交互特征信息对应的预测转化结果,以及该训练交互序列中每个交互特征信息对应的真实转化结果,确定损失值,以便可以利用损失值对该判别器的模型参数进行调整,得到目标推荐模型。
38.本公开实施例的有益效果是:本公开实施例可以先将交互训练样本中的历史交互序列输入预设的生成器,得到该历史交互序列对应的预测交互序列;然后,可以根据该历史交互序列和该预测交互序列,生成训练交互序列;接着,可以将该训练交互序列输入预设的判别器,得到该训练交互序列中每个交互特征信息对应的预测转化结果;最后,可以根据该历史交互序列对应的预测交互序列、该训练交互序列中每个交互特征信息对应的预测转化结果,以及该训练交互序列中每个交互特征信息对应的真实转化结果,对该判别器的模型参数进行调整,得到目标推荐模型。可见,在本实施例中由于利用判别器对生成器产生的预测交互序列进行了二次校验,通过联合优化生成器和判别器,使得目标推荐模型能够充分挖掘数据的潜能,并且,在模型训练过程中通过在历史交互序列中引入预测交互序列得到
训练交互序列,使得用于训练目标推荐模型的训练交互序列中引入了一些噪声,起到了数据增强的作用,极大的改善了用于训练目标推荐模型的序列数据质量不高的局限性;这样,本实施例所提供的方法可以极大地提高了目标推荐模型的预测推荐准确度,提升了目标推荐模型在线推荐的性能。
39.在本实施例的一些实现方式中,该预测交互序列可以包括所预测的交互特征信息以及所预测的交互特征信息对应的交互概率。所预测的交互特征信息对应的交互概率可以理解为所预测的交互特征信息对应的对象被用户执行预设操作的概率;需要说明的是,所预测的交互特征信息对应的交互概率越大,说明所预测的交互特征信息对应的对象被用户执行预设操作的可能性越高,反之,所预测的交互特征信息对应的交互概率越小,说明所预测的交互特征信息对应的对象被用户执行预设操作的可能性越低。
40.在一些实现方式中,s204“根据该历史交互序列对应的预测交互序列、该训练交互序列中每个交互特征信息对应的预测转化结果,以及该训练交互序列中每个交互特征信息对应的真实转化结果,对该判别器的模型参数进行调整,得到目标推荐模型”可以包括以下步骤:s204a:根据所预测的交互特征信息对应的交互概率,确定第一损失值。
41.在本实施例中,针对每一个所预测的交互特征信息,可以先计算所预测的交互特征信息对应的交互概率的对数值;将该交互概率的对数值与预设系数的乘积作为该交互特征信息的第一损失值。接着,可以将所有所预测的交互特征信息的第一损失值的和作为第一损失值。需要说明的是,第一损失值可以理解为生成器的损失值。
42.s204b:根据该训练交互序列中每个交互特征信息对应的预测转化结果,以及该训练交互序列中每个交互特征信息对应的预设的真实转化结果,确定第二损失值。
43.利用交叉熵损失函数、该训练交互序列中每个交互特征信息对应的预测转化结果,以及该训练交互序列中每个交互特征信息对应的预设的真实转化结果,确定该第二损失值。具体地,可以基于交叉熵损失函数(比如二值交叉熵损失函数),根据该训练交互序列中每个交互特征信息对应的预测转化结果,以及该训练交互序列中每个交互特征信息对应的预设的真实转化结果,确定二分类交叉熵损失值;以及,根据该二分类交叉熵损失值,确定第二损失值例如,将该二分类交叉熵损失值作为第二损失值。需要说明的是,第二损失值可以理解为判别器的损失值。
44.s204c:根据该第一损失值和该第二损失值,确定总损失值。
45.在一种实现方式中,可以根据预设的比例的第一损失值和第二损失值的和作为总损失值。例如,可以通过下列公式计算总损失值:;其中,为总损失值,为第一损失值(即生成器基于历史交互序列i的损失值),为预设的常数,为第一损失值(即生成器基于训练交互序列的损失值)。
46.s204d:根据该总损失值对该判别器的模型参数进行调整,得到目标推荐模型。
47.在确定总损失值后,若该总损失值不满足预设条件,则可以根据总损失值对判别器和生成器的模型参数进行调整,得到调整后的判别器和生成器,继续执行s201,直至该总损失值满足预设条件,或者判别器和生成器的训练次数达到预设次数。在总损失值满足预
设条件,或者判别器和生成器的训练次数达到预设次数时,可以将此时的判别器作为目标推荐模型。
48.接下来,将介绍目标推荐模型在使用过程(即推理预测阶段)。在本实施例的一些实现方式中,该方法还包括:将待预测交互序列输入该目标推荐模型,得到该待预测交互序列中待预测对象的预测转化结果。其中,该待预测交互序列包括目标用户对应的历史交互对象对应的交互特征信息和待预测对象对应的交互特征信息,待预测对象可以理解为需要进行转化结果预测的对象。预测转化结果可以反映待预测对象是否会被目标用户执行预设操作(例如下单、购买等)。
49.上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
50.下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
51.图4是本公开实施例提供的推荐模型的训练装置的示意图。如图4所示,该推荐模型的训练装置包括:序列预测模块401,用于将交互训练样本中的历史交互序列输入预设的生成器,得到该历史交互序列对应的预测交互序列;其中,该历史交互序列中的全部交互特征信息均为目标用户已执行预设操作的对象对应的交互特征信息;该预测交互序列中的所预测的交互特征信息为该目标用户未执行预设操作的对象对应的交互特征信息;序列生成模块402,用于根据该历史交互序列和该预测交互序列,生成训练交互序列;其中,该训练交互序列中的一部分交互特征信息为该历史交互序列中的部分交互特征信息,该训练交互序列中的另一部分交互特征信息为该预测交互序列的全部交互特征信息或者部分交互特征信息;结果预测模块403,用于将该训练交互序列输入预设的判别器,得到该训练交互序列中每个交互特征信息对应的预测转化结果;其中,交互特征信息对应的预测转化结果用于表征判别器所预测的交互特征信息对应的对象是否会被该目标用户执行预设操作;模型调整模块404,用于根据该历史交互序列对应的预测交互序列、该训练交互序列中每个交互特征信息对应的预测转化结果,以及该训练交互序列中每个交互特征信息对应的真实转化结果,对该判别器的模型参数进行调整,得到目标推荐模型。
52.可选的,该生成器和该判别器均为基于transformer的序列编码器;其中,该生成器和该判别器的网络架构是相同的,该生成器和该判别器的模型参数是不同的。
53.可选的,该历史交互序列包括多个交互特征信息;每个交互特征信息均为该目标用户已执行预设操作的一个对象对应的交互特征信息,且,每个交互特征信息所对应的对象均不相同;且该多个交互特征信息在该历史交互序列中的排序顺序为根据交互特征信息所对应的对象的预设操作时间所确定的。
54.可选的,该序列生成模块402,用于:根据该历史交互序列中的交互特征信息的数量和预设替换比例,确定待替换交互特征信息的目标数量;从该预测交互序列中选取该目标数量的交互特征信息作为目标交互特征信息;
从该历史交互序列中选取该目标数量的交互特征信息作为待替换交互特征信息;将该历史交互序列中的待替换交互特征信息替换为该目标交互特征信息,得到训练交互序列。
55.可选的,该预测交互序列包括所预测的交互特征信息以及所预测的交互特征信息对应的交互概率;该模型调整模块404,用于:根据所预测的交互特征信息对应的交互概率,确定第一损失值;根据该训练交互序列中每个交互特征信息对应的预测转化结果,以及该训练交互序列中每个交互特征信息对应的预设的真实转化结果,确定第二损失值;根据该第一损失值和该第二损失值,确定总损失值;根据该总损失值对该判别器的模型参数进行调整,得到目标推荐模型。
56.可选的,该模型调整模块404,用于:计算所预测的交互特征信息对应的交互概率的对数值;将该交互概率的对数值与预设系数的乘积作为该第一损失值。
57.可选的,该模型调整模块404,用于:利用交叉熵损失函数、该训练交互序列中每个交互特征信息对应的预测转化结果,以及该训练交互序列中每个交互特征信息对应的预设的真实转化结果,确定该第二损失值。
58.可选的,该装置还包括结果预测模块,用于:将待预测交互序列输入该目标推荐模型,得到该待预测交互序列中待预测对象的预测转化结果;其中,该待预测交互序列包括目标用户对应的历史交互对象对应的交互特征信息和该待预测对象对应的交互特征信息。
59.本公开实施例与现有技术相比存在的有益效果是:本公开实施例提供了一种推荐模型的训练装置,该装置包括:序列预测模块,用于将交互训练样本中的历史交互序列输入预设的生成器,得到该历史交互序列对应的预测交互序列;其中,该历史交互序列中的全部交互特征信息均为目标用户已执行预设操作的对象对应的交互特征信息;该预测交互序列中的所预测的交互特征信息为该目标用户未执行预设操作的对象对应的交互特征信息;序列生成模块,用于根据该历史交互序列和该预测交互序列,生成训练交互序列;其中,该训练交互序列中的一部分交互特征信息为该历史交互序列中的部分交互特征信息,该训练交互序列中的另一部分交互特征信息为该预测交互序列的全部交互特征信息或者部分交互特征信息;结果预测模块,用于将该训练交互序列输入预设的判别器,得到该训练交互序列中每个交互特征信息对应的预测转化结果;其中,交互特征信息对应的预测转化结果用于表征判别器所预测的交互特征信息对应的对象是否会被该目标用户执行预设操作;模型调整模块,用于根据该历史交互序列对应的预测交互序列、该训练交互序列中每个交互特征信息对应的预测转化结果,以及该训练交互序列中每个交互特征信息对应的真实转化结果,对该判别器的模型参数进行调整,得到目标推荐模型。可见,在本实施例中由于利用判别器对生成器产生的预测交互序列进行了二次校验,通过联合优化生成器和判别器,使得目标推荐模型能够充分挖掘数据的潜能,并且,在模型训练过程中通过在历史交互序列中引入预测交互序列得到训练交互序列,使得用于训练目标推荐模型的训练交互序列中引入了一些噪声,起到了数据增强的作用,极大的改善了用于训练目标推荐模型的序列数据质
量不高的局限性;这样,本实施例所提供的方法可以极大地提高了目标推荐模型的预测推荐准确度,提升了目标推荐模型在线推荐的性能。
60.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
61.图5是本公开实施例提供的计算机设备5的示意图。如图5所示,该实施例的计算机设备5包括:处理器501、存储器502以及存储在该存储器502中并且可以在处理器501上运行的计算机程序503。处理器501执行计算机程序503时实现上述各个方法实施例中的步骤。或者,处理器501执行计算机程序503时实现上述各装置实施例中各模块/模块的功能。
62.示例性地,计算机程序503可以被分割成一个或多个模块/模块,一个或多个模块/模块被存储在存储器502中,并由处理器501执行,以完成本公开。一个或多个模块/模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序503在计算机设备5中的执行过程。
63.计算机设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算机设备。计算机设备5可以包括但不仅限于处理器501和存储器502。本领域技术人员可以理解,图5仅仅是计算机设备5的示例,并不构成对计算机设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,计算机设备还可以包括输入输出设备、网络接入设备、总线等。
64.处理器501可以是中央处理模块(central processing unit,cpu),也可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specificintegrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
65.存储器502可以是计算机设备5的内部存储模块,例如,计算机设备5的硬盘或内存。存储器502也可以是计算机设备5的外部存储设备,例如,计算机设备5上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器502还可以既包括计算机设备5的内部存储模块也包括外部存储设备。存储器502用于存储计算机程序以及计算机设备所需的其它程序和数据。存储器502还可以用于暂时地存储已经输出或者将要输出的数据。
66.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能模块、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块、模块完成,即将装置的内部结构划分成不同的功能模块或模块,以完成以上描述的全部或者部分功能。实施例中的各功能模块、模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,各功能模块、模块的具体名称也只是为了便于相互区分,并不用于限制本公开的保护范围。上述系统中模块、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
67.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记
载的部分,可以参见其它实施例的相关描述。
68.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
69.在本公开所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或模块的间接耦合或通讯连接,可以是电性,机械或其它的形式。
70.作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
71.另外,在本公开各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
72.集成的模块/模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
73.以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。
技术特征:
1.一种推荐模型的训练方法,其特征在于,所述方法包括:将交互训练样本中的历史交互序列输入预设的生成器,得到所述历史交互序列对应的预测交互序列;其中,所述历史交互序列中的全部交互特征信息均为目标用户已执行预设操作的对象对应的交互特征信息;所述预测交互序列中的所预测的交互特征信息为所述目标用户未执行预设操作的对象对应的交互特征信息;根据所述历史交互序列和所述预测交互序列,生成训练交互序列;其中,所述训练交互序列中的一部分交互特征信息为所述历史交互序列中的部分交互特征信息,所述训练交互序列中的另一部分交互特征信息为所述预测交互序列的全部交互特征信息或者部分交互特征信息;将所述训练交互序列输入预设的判别器,得到所述训练交互序列中每个交互特征信息对应的预测转化结果;其中,交互特征信息对应的预测转化结果用于表征判别器所预测的交互特征信息对应的对象是否会被所述目标用户执行预设操作;根据所述历史交互序列对应的预测交互序列、所述训练交互序列中每个交互特征信息对应的预测转化结果,以及所述训练交互序列中每个交互特征信息对应的真实转化结果,对所述判别器的模型参数进行调整,得到目标推荐模型。2.根据权利要求1所述的方法,其特征在于,所述生成器和所述判别器均为基于transformer的序列编码器;其中,所述生成器和所述判别器的网络架构是相同的,所述生成器和所述判别器的模型参数是不同的。3.根据权利要求1所述的方法,其特征在于,所述历史交互序列包括多个交互特征信息;每个交互特征信息均为所述目标用户已执行预设操作的一个对象对应的交互特征信息,且,每个交互特征信息所对应的对象均不相同;且所述多个交互特征信息在所述历史交互序列中的排序顺序为根据交互特征信息所对应的对象的预设操作时间所确定的。4.根据权利要求1所述的方法,其特征在于,所述根据所述历史交互序列和所述预测交互序列,生成训练交互序列,包括:根据所述历史交互序列中的交互特征信息的数量和预设替换比例,确定待替换交互特征信息的目标数量;从所述预测交互序列中选取所述目标数量的交互特征信息作为目标交互特征信息;从所述历史交互序列中选取所述目标数量的交互特征信息作为待替换交互特征信息;将所述历史交互序列中的待替换交互特征信息替换为所述目标交互特征信息,得到训练交互序列。5.根据权利要求1所述的方法,其特征在于,所述预测交互序列包括所预测的交互特征信息以及所预测的交互特征信息对应的交互概率;所述根据所述历史交互序列对应的预测交互序列、所述训练交互序列中每个交互特征信息对应的预测转化结果,以及所述训练交互序列中每个交互特征信息对应的真实转化结果,对所述判别器的模型参数进行调整,得到目标推荐模型,包括:根据所预测的交互特征信息对应的交互概率,确定第一损失值;根据所述训练交互序列中每个交互特征信息对应的预测转化结果,以及所述训练交互序列中每个交互特征信息对应的预设的真实转化结果,确定第二损失值;根据所述第一损失值和所述第二损失值,确定总损失值;
根据所述总损失值对所述判别器的模型参数进行调整,得到目标推荐模型。6.根据权利要求5所述的方法,其特征在于,所述根据所预测的交互特征信息对应的交互概率,确定第一损失值,包括:计算所预测的交互特征信息对应的交互概率的对数值;将所述交互概率的对数值与预设系数的乘积作为所述第一损失值。7.根据权利要求5所述的方法,其特征在于,所述根据所述训练交互序列中每个交互特征信息对应的预测转化结果,以及所述训练交互序列中每个交互特征信息对应的预设的真实转化结果,确定第二损失值,包括:利用交叉熵损失函数、所述训练交互序列中每个交互特征信息对应的预测转化结果,以及所述训练交互序列中每个交互特征信息对应的预设的真实转化结果,确定所述第二损失值。8.根据权利要求1-7中任一所述的方法,其特征在于,所述方法还包括:将待预测交互序列输入所述目标推荐模型,得到所述待预测交互序列中待预测对象的预测转化结果;其中,所述待预测交互序列包括目标用户对应的历史交互对象对应的交互特征信息和所述待预测对象对应的交互特征信息。9.一种推荐模型的训练装置,其特征在于,所述装置包括:序列预测模块,用于将交互训练样本中的历史交互序列输入预设的生成器,得到所述历史交互序列对应的预测交互序列;其中,所述历史交互序列中的全部交互特征信息均为目标用户已执行预设操作的对象对应的交互特征信息;所述预测交互序列中的所预测的交互特征信息为所述目标用户未执行预设操作的对象对应的交互特征信息;序列生成模块,用于根据所述历史交互序列和所述预测交互序列,生成训练交互序列;其中,所述训练交互序列中的一部分交互特征信息为所述历史交互序列中的部分交互特征信息,所述训练交互序列中的另一部分交互特征信息为所述预测交互序列的全部交互特征信息或者部分交互特征信息;结果预测模块,用于将所述训练交互序列输入预设的判别器,得到所述训练交互序列中每个交互特征信息对应的预测转化结果;其中,交互特征信息对应的预测转化结果用于表征判别器所预测的交互特征信息对应的对象是否会被所述目标用户执行预设操作;模型调整模块,用于根据所述历史交互序列对应的预测交互序列、所述训练交互序列中每个交互特征信息对应的预测转化结果,以及所述训练交互序列中每个交互特征信息对应的真实转化结果,对所述判别器的模型参数进行调整,得到目标推荐模型。10.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并且可以在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8中任一项所述方法的步骤。11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述方法的步骤。
技术总结
本公开涉及人工智能技术领域,提供了一种推荐模型的训练方法、装置、计算机设备及计算机可读存储介质。该方法通过联合优化生成器和判别器,使得目标推荐模型能够充分挖掘数据的潜能,并且,在模型训练过程中通过在历史交互序列中引入预测交互序列得到训练交互序列,使得用于训练目标推荐模型的训练交互序列中引入了一些噪声,起到了数据增强的作用,极大的改善了用于训练目标推荐模型的序列数据质量不高的局限性;这样,本实施例所提供的方法可以极大地提高了目标推荐模型的预测推荐准确度,提升了目标推荐模型在线推荐的性能。提升了目标推荐模型在线推荐的性能。提升了目标推荐模型在线推荐的性能。
技术研发人员:齐盛 董辉
受保护的技术使用者:深圳须弥云图空间科技有限公司
技术研发日:2023.07.06
技术公布日:2023/8/5
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
