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

一种推荐模型的训练方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 19:30:30


一种推荐模型的训练方法、装置、电子设备及存储介质

技术领域

本发明涉及模型训练领域,具体而言,涉及一种推荐模型的训练方法、装置、电子设备及存储介质。

背景技术

在搜索精排中,目前都采用多任务建模的方法,比如在电商中点击、收藏、购物车、购买等任务建模,在音视频播放有点击、播放时长、完播率等任务建模。其中播放时长跟其他任务有着比较大的差异,其他任务一般是分类的方法,比如点击、收藏,包括是或者否两种情况,但是播放时长,是对浮点值进行拟合的任务,目前对播放时长建模的方式依然采用回归方法建模,造成学习速率较慢,且模型训练不稳定。

发明内容

本发明的目的在于提供一种推荐模型训练方法、装置、电子设备及存储介质,能够提高模型训练的稳定性。

为了实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请实施例提供了推荐模型的训练方法,所述方法包括:

将待训练数据输入至待训练的推荐模型,得到预测播放时长和预测播放数据,其中,所述待训练数据包括播放数据和播放时长;

分别将所述预测播放时长和与所述预测播放时长对应的真实播放时长进行归一化处理,得到所述预测播放时长对应的第一播放时长和所述真实播放时长对应的第二播放时长;

计算所述第一播放时长与所述第二播放时长的第一损失信息;

计算所述预测播放数据与对应的真实播放数据的第二损失信息;

基于所述第一损失信息和所述第二损失信息,对待训练的推荐模型的参数进行调整,得到更新后的推荐模型;

返回执行计算所述第一播放时长与所述第二播放时长的第一损失信息至所述基于所述第一损失信息和所述第二损失信息,对待训练的推荐模型的参数进行调整,得到更新后的推荐模型,直至最新的第一损失信息和所述第二损失信息收敛。

在可选的实施方式中,将所述预测播放时长对应的真实播放时长进行归一化处理,得到所述真实播放时长对应的第二播放时长的步骤,包括:

计算所述真实播放时长的第一倒数;

计算所述第一倒数与所述真实播放时长的和,作为所述真实播放时长对应的第二播放时长。

在可选的实施方式中,将所述预测播放时长进行归一化处理,得到所述预测播放时长对应的第一播放时长的步骤,包括:

将所述预测播放时长通过第一激活函数处理,得到所述预测播放时长对应的第一播放时长。

在可选的实施方式中,将所述预测播放时长进行归一化处理,得到所述预测播放时长对应的第一播放时长的步骤,包括:

将所述预测播放时长通过第二激活函数得到第一值;

计算所述第一值的第二倒数;

计算所述第二倒数与所述第一值的和,作为所述预测播放时长对应的第一播放时长。

在可选的实施方式中,所述第一损失信息满足以下公式:

第一损失信息=label*log(predict)+(1-label)*log(1-predict);

其中,preict为第一播放时长,label为第二播放时长。

在可选的实施方式中,所述方法还包括:

确定待搜索数据;

将所述待搜索数据输入至训练好的推荐模型,得到所述待搜索数据对应的各推荐数据;

确定每个所述推荐数据的时长和播放数据,其中,所述播放数据包括点击率和收藏率;

将该时长通过所述第二激活函数进行处理,得到该推荐数据对应的播放时长;

输出显示每个所述推荐数据的播放时长和播放数据。

在可选的实施方式中,所述方法还包括:

确定每个所述推荐数据中所述点击率的第一分数和所述收藏率的第二分数;

基于每个所述推荐数据对应的第一分数、第二分数以及播放时长,计算每个所述推荐数据的目标分数;

将各所述推荐数据的目标分数从大到小排序;

将排序后的各所述推荐数据输出显示。

第二方面,本申请实施例提供了一种推荐模型的训练装置,所述装置包括:

确定模块,用于将待训练数据输入至待训练的推荐模型,得到预测播放时长和预测播放数据,其中,所述待训练数据包括播放数据和播放时长;

计算模块,用于分别将所述预测播放时长和与所述预测播放时长对应的真实播放时长进行归一化处理,得到所述预测播放时长对应的第一播放时长和所述真实播放时长对应的第二播放时长;计算所述第一播放时长与所述第二播放时长的第一损失信息;计算所述预测播放数据与对应的真实播放数据的第二损失信息;

调整模块,用于基于所述第一损失信息和所述第二损失信息,对待训练推荐模型的参数进行调整,得到更新后的推荐模型;

执行模块,用于返回执行计算所述第一播放时长与所述第二播放时长的第一损失信息至所述基于所述第一损失信息和所述第二损失信息,对待训练推荐模型的参数进行调整,得到更新后的推荐模型,直至最新的第一损失信息和所述第二损失信息收敛。

第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述推荐模型的训练方法的步骤。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述推荐模型的训练方法的步骤。

本申请具有以下有益效果:

本申请通过将待训练数据输入至待训练的推荐模型,得到预测播放时长和预测播放数据,分别将预测播放时长和与预测播放时长对应的真实播放时长进行归一化处理,得到预测播放时长对应的第一播放时长和真实播放时长对应的第二播放时长,计算第一播放时长与第二播放时长的第一损失信息,计算预测播放数据与对应的真实播放数据的第二损失信息,基于第一损失信息和第二损失信息,对待训练的推荐模型的参数进行调整,得到更新后的推荐模型,返回执行计算第一播放时长与第二播放时长的第一损失信息至基于第一损失信息和第二损失信息,对待训练的推荐模型的参数进行调整,得到更新后的推荐模型,直至最新的第一损失信息和第二损失信息收敛。使得播放时长和播放数据采用一样的训练方法,使得推荐模型训练中目标函数一致,从而使得模型训练更稳定。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的电子设备的方框示意图;

图2为本发明实施例提供的一种推荐模型的训练方法的流程示意图之一;

图3为本发明实施例提供的一种推荐模型的训练方法的流程示意图之二;

图4为本发明实施例提供的一种推荐模型的训练方法的流程示意图之三;

图5为本发明实施例提供的一种推荐模型的训练方法的流程示意图之四;

图6为本发明实施例提供的一种推荐模型的训练方法的流程示意图之五;

图7为本发明实施例提供的一种推荐模型的训练装置的结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。

经过发明人大量研究发现,在搜索精排中,目前都采用多任务建模的方法,比如在电商中点击、收藏、购物车、购买等任务建模,在音视频播放有点击、播放时长、完播率等任务建模。最后需要对多种任务的预估分数进行融合。其中播放时长跟其他任务有着比较大的差异,其他任务一般是分类的方法,比如点击、收藏,包括是或者否两种情况,但是播放时长,是对浮点值进行拟合的任务,目前对播放时长建模的方式依然采用回归方法建模,造成学习速率较慢,且模型训练不稳定。

有鉴于对上述问题的发现,本实施例提供了一种推荐模型训练方法、装置、电子设备及存储介质,能够使得播放时长和播放数据采用一样的优化方法,使得推荐模型训练中目标函数一致,从而使得模型训练更稳定,下面对本实施例提供的方案进行详细阐述。

本实施例提供一种可以对推荐模型进行训练的电子设备。在一种可能的实现方式中,所述电子设备可以为用户终端,例如,电子设备可以是,但不限于,服务器、智能手机、个人电脑(PersonalComputer,PC)、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、移动上网设备(Mobile Internet Device,MID)等。

请参照图1,图1是本申请实施例提供的电子设备100的结构示意图。所述电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

所述电子设备100包括推荐模型的训练装置110、存储器120及处理器130。

所述存储器120及处理器130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述推荐模型的训练装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述电子设备100的操作系统(operating system,OS)中的软件功能模块。所述处理器130用于执行所述存储器120中存储的可执行模块,例如所述推荐模型的训练装置110所包括的软件功能模块及计算机程序等。

其中,所述存储器120可以是,但不限于,随机存取存储器(RandomAccess Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable ProgrammableRead-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable ProgrammableRead-Only Memory,EEPROM)等。其中,存储器120用于存储程序,所述处理器130在接收到执行指令后,执行所述程序。

请参照图2,图2为应用于图1的电子设备100的一种推荐模型的训练方法的流程图,以下将方法包括各个步骤进行详细阐述。

步骤201:将待训练数据输入至待训练的推荐模型,得到预测播放时长和预测播放数据。

其中,待训练数据包括播放数据和播放时长。

步骤202:分别将预测播放时长和与预测播放时长对应的真实播放时长进行归一化处理,得到预测播放时长对应的第一播放时长和真实播放时长对应的第二播放时长。

步骤203:计算第一播放时长与第二播放时长的第一损失信息。

步骤204:计算预测播放数据与对应的真实播放数据的第二损失信息。

步骤205:基于第一损失信息和第二损失信息,对待训练的推荐模型的参数进行调整,得到更新后的推荐模型。

步骤206:返回执行计算第一播放时长与第二播放时长的第一损失信息至基于第一损失信息和第二损失信息,对待训练的推荐模型的参数进行调整,得到更新后的推荐模型,直至最新的第一损失信息和第二损失信息收敛。

待训练数据为未被人工标记的数据,在待训练的推荐模型中输入未标记的待训练数据,由于待训练的推荐模型中的初始值是不准确的,因此基于播放数据和播放时长,待训练的推荐模型输出预测播放数据和播放时长的预测播放时长。

由于基于待训练数据对待训练的推荐模型进行训练时,基于播放数据与播放时长之间存在较大差异,为了避免在对待训练的推荐模型进行训练时,训练不稳定的问题,在基于播放时长对待训练的推荐模型进行训练时,将待训练的播放时长处理后,与播放数据维度一致,从使得模型训练更加稳定。

对播放时长的处理方式有多种,在一示例中,将播放时长输入至待训练的推荐模型,待训练的推荐模型输出预测播放时长,将预测播放时长归一化处理,得到第一播放时长。预测播放时长对应有真实播放时长,将预测播放时长对应的真实播放时长进行归一化处理,得到第二播放时长。

为了使得待训练的推荐模型输出的预测播放时长和真实播放时长的差异减小,在对推荐模型进行训练时,需要基于第一播放时长和第二播放时长,计算第一损失信息。

将播放数据输入至待训练的推荐模型,待训练的推荐模型输出预测播放数据,确定预测播放数据对应的真实播放数据,计算预测播放数据与真实播放数据的第二损失信息。

需要说明的是,播放数据可以为点击或者收藏等。

将计算的第一损失信息和第二损失信息重新输入至待训练的推荐模型中,基于第一损失信息和第二损失信息对推荐模型的参数进行调整,得到更新后的推荐模型。返回执行计算第一播放时长与第二播放时长的第一损失信息,直至最新的第一损失信息和第二损失信息收敛,或者达到训练次数,推荐模型训练完成。

本申请通过将待训练数据输入至待训练的推荐模型,得到预测播放时长和预测播放数据,分别将预测播放时长和与预测播放时长对应的真实播放时长进行归一化处理,得到预测播放时长对应的第一播放时长和真实播放时长对应的第二播放时长,计算第一播放时长与第二播放时长的第一损失信息,计算预测播放数据与对应的真实播放数据的第二损失信息,基于第一损失信息和第二损失信息,对待训练的推荐模型的参数进行调整,得到更新后的推荐模型,返回执行计算第一播放时长与第二播放时长的第一损失信息至基于第一损失信息和第二损失信息,对待训练的推荐模型的参数进行调整,得到更新后的推荐模型,直至最新的第一损失信息和第二损失信息收敛。使得播放时长和播放数据采用一样的训练方法,使得推荐模型训练中目标函数一致,从而使得模型训练更稳定。

对预测播放时长对应的真实播放时长进行归一化处理的实现方式有多种,在一种实现方式中,如图3所示,包括以下步骤:

步骤202-1:计算真实播放时长的第一倒数。

步骤202-2:计算第一倒数与真实播放时长的和,作为真实播放时长对应的第二播放时长。

示例性的,基于以下公式将真实播放时长进行归一化处理:label=Ptime/1+Ptime,Ptime为真实播放时长,label为第二播放时长。

对预测播放时长进行归一化处理的实现方式有多种,在一种实现方式中,如图4所示,包括以下步骤:

步骤202-3:将预测播放时长通过第二激活函数得到第一值。

步骤202-4:计算第一值的第二倒数。

步骤202-5:计算第二倒数与第一值的和,作为预测播放时长对应的第一播放时长。

示例性的,基于以下公式将预测播放时长进行归一化处理:

predict=exp(output)/1+exp(output),其中,output为预测播放时长,exp为第二激活函数,predict为第一播放时长。

在另一种实现方式中,将预测播放时长通过第一激活函数处理,得到预测播放时长对应的第一播放时长。

示例性的,基于以下公式将预测播放时长进行归一化处理:

predict=sigmoid(output),其中,output为预测播放时长,sigmoid为第一激活函数,predict为第一播放时长。

在将预测播放时长和与预测播放时长对应的真实播放时长进行归一化处理后,得到第一播放时长与第二播放时长,基于第一播放时长和第二播放时长计算第一损失信息的实现方式有多种,在一种实现方式中:

基于以下公式计算第一损失信息:

H(preict,label)=label*log(predict)+(1-label)*log(1-predict),H(preict,label)为第一损失信息,preict为第一播放时长,label为第二播放时长。

在基于训练好的推荐模型进行数据推荐,如图5所示,包括以下步骤:

步骤301:确定待搜索数据。

步骤302:将待搜索数据输入至训练好的推荐模型,得到待搜索数据对应的各推荐数据。

步骤303:确定每个推荐数据的时长和播放数据。

其中,播放数据包括点击率和收藏率。

步骤304:将该时长通过第二激活函数进行处理,得到该推荐数据对应的播放时长。

步骤305:输出显示每个推荐数据的播放时长和播放数据。

由于对推荐模型进行训练时,预测播放时长和真实播放时长是进行归一化处理的,因此,在待搜索数据输入至训练好的推荐模型中,输出的推荐数据对应的预测播放时长是经过归一化处理的,因此,需要将推荐数据对应的预测播放时长进行时长还原处理,得到推荐数据的真实时长。

对推荐数据对应的预测播放时长进行还原处理的实现方式有多种,在一种实现方式中:将该时长通过第二激活函数进行处理,得到该推荐数据对应的播放时长。

示例性的,基于以下公式推荐数据的时长进行还原处理:exp(output),其中,exp为第二激活函数,output为推荐数据的时长。

示例性的,在待搜索数据为A,则将A输入至训练好的推荐模型,训练好的推荐模型输出A对应的推荐数据,如B、C、D。其中B、C、D均包含点击率、收藏率以及时长,将B的时长经过第二激活函数的处理,得到B的播放时长,将C的时长经过第二激活函数的处理,得到C的播放时长,将D的时长经过第二激活函数的处理,得到D的播放时长。分别将显示B、C、D的点击率、收藏率以及播放时长。

在基于训练好的推荐模型进行数据推荐,如图6所示,包括以下步骤:

步骤401:确定每个推荐数据中点击率的第一分数和收藏率的第二分数。

步骤402:基于每个推荐数据对应的第一分数、第二分数以及播放时长,计算每个推荐数据的目标分数。

步骤403:将各推荐数据的目标分数从大到小排序。

步骤404:将排序后的各推荐数据输出显示。

示例性的,当推荐数据包括B、C、D时,确定B对应的点击率的第一分数和B对应的收藏率的第二分数,并基于第一分数、第二分数以及播放时长,计算B的目标分数,确定C对应的点击率的第一分数和C对应收藏率的第二分数,基于第一分数、第二分数以及C的播放时长,计算C的目标分数,确定D对应的点击率的第一分数和D对应收藏率的第二分数,基于第一分数、第二分数以及D的播放时长,计算D的目标分数。

在B的目标分数为70、C的目标分数为90、D的目标分数为80时,按照目标分数的大小对推荐数据B、C、D排序,得到C、D、B,将排序后的推荐数据输出显示。

请参照图7,本申请实施例还提供了一种应用于图1所述电子设备100的推荐模型的训练装置110,所述推荐模型的训练装置110包括:

确定模块111,用于将待训练数据输入至待训练的推荐模型,得到预测播放时长和预测播放数据,其中,所述待训练数据包括播放数据和播放时长;

计算模块112,用于分别将所述预测播放时长和与所述预测播放时长对应的真实播放时长进行归一化处理,得到所述预测播放时长对应的第一播放时长和所述真实播放时长对应的第二播放时长;计算所述第一播放时长与所述第二播放时长的第一损失信息;计算所述预测播放数据与对应的真实播放数据的第二损失信息;

调整模块113,用于基于所述第一损失信息和所述第二损失信息,对待训练推荐模型的参数进行调整,得到更新后的推荐模型;

执行模块114,用于返回执行计算所述第一播放时长与所述第二播放时长的第一损失信息至所述基于所述第一损失信息和所述第二损失信息,对待训练推荐模型的参数进行调整,得到更新后的推荐模型,直至最新的第一损失信息和所述第二损失信息收敛。

本申请还提供一种电子设备100,电子设备100包括处理器130以及存储器120。存储器120存储有计算机可执行指令,计算机可执行指令被处理器130执行时,实现该推荐模型的训练方法。

本申请实施例还提供一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序被处理器130执行时,实现该推荐模型的训练方法。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

技术分类

06120115932674