一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

模型参数更新方法、模型参数更新装置和电子设备与流程

2022-05-21 11:47:32 来源:中国专利 TAG:


1.本技术属于人工智能技术领域,具体涉及一种模型参数更新方法、模型参数更新装置和电子设备。


背景技术:

2.目前,多任务模型在推荐领域应用越来越广泛。在广告推荐场景中,广告主的需求十分多样,例如包括:应用程序下载转化,用户注册转化,付费用户转化等。因此,在同一个推荐场景下,训练一个精度高的模型十分有必要,能够大大提升流量带来的收益。
3.在同一个推荐场景下,训练一个模型可以输出多个任务的得分。从而可以节省大量的线上服务器资源以及线下人力的开发运维成本,各个任务数据可以相互迁移补充,能充分利用该场景下丰富的用户行为数据。但是只训练一个模型时,各个任务推荐模型之间可能存在负迁移现象,进而影响各个任务的训练效果,例如:训练用户下载的任务,会影响到用户注册的任务效果,导致训练模型精度下降。
4.常用的解决方案是通过设计模型网络结构,给各个任务分配私有和共享的专用网络来训练任务推荐模型。而在训练过程中有的任务对应的梯度更新大,需要较大的参数更新幅度,有的任务更新慢,需要较小的参数更新幅度,因此,仅仅通过模型结构上的调整,并不能有效解决多任务推荐模型训练时的更新梯度差异过大而造成的负迁移问题。


技术实现要素:

5.本技术实施例的目的是提供一种模型参数更新方法、模型参数更新装置和电子设备,能够解决多任务推荐模型训练时的负迁移问题。
6.第一方面,本技术实施例提供了一种模型参数更新方法,该方法包括:
7.基于多个任务推荐模型分别对应的损失函数值与所述多个任务推荐模型分别对应的优化器,确定目标更新梯度;
8.基于所述目标更新梯度,更新所述多个任务推荐模型中的至少一个任务推荐模型的模型参数。
9.第二方面,本技术实施例提供了一种模型参数更新装置,该装置包括:
10.第一确定模块,用于基于多个任务推荐模型分别对应的损失函数值与所述多个任务推荐模型分别对应的优化器,确定目标更新梯度;
11.第一更新模块,用于基于所述目标更新梯度,更新所述多个任务推荐模型中的至少一个任务推荐模型的模型参数。
12.第三方面,本技术实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
13.第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
14.第五方面,本技术实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
15.在本技术实施例中,通过采用不同优化器输出的更新梯度来确定目标更新梯度,优化了任务推荐模型训练时更新梯度变化的过程,从而可以减小各个任务推荐模型在训练时更新梯度差异而造成的互相影响,进而可以缓解多任务推荐模型之间的负迁移问题;再根据目标更新梯度来更新任务推荐模型的模型参数,可以提升任务推荐模型的训练效果。
附图说明
16.图1是本技术实施例提供的模型参数更新方法的流程示意图;
17.图2是应用本技术实施例提供的模型参数更新方法的流程示意图;
18.图3是应用本技术实施例提供的模型参数更新方法的优化器组合网络示意图;
19.图4是应用本技术实施例提供的模型参数更新方法的mmoe网络结构示意图;
20.图5是本技术实施例提供的模型参数更新装置的结构示意图;
21.图6是本技术实施例提供的电子设备的结构示意图;
22.图7是本技术实施例提供的电子设备的硬件结构示意图。
具体实施方式
23.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本技术保护的范围。
24.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
25.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的模型参数更新方法、模型参数更新装置、电子设备和可读存储介质进行详细地说明。
26.本技术提供的模型参数更新方法的执行主体可以是电子设备、电子设备中的部件、集成电路、或芯片。该电子设备可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)等,非移动电子设备可以为服务器、网络附属存储器(network attached storage,nas)、个人计算机(personal computer,pc)、电视机(television,tv)、柜员机或者自助机等,本技术不作具体限定。
27.下面以电子设备作为执行主体为例对本技术实施例提供的模型参数更新方法进行说明。
28.如图1所示,该模型参数更新方法包括:步骤110和步骤120。
29.步骤110、基于多个任务推荐模型分别对应的损失函数值与多个任务推荐模型分别对应的优化器,确定目标更新梯度;
30.步骤120、基于目标更新梯度,更新多个任务推荐模型中的至少一个任务推荐模型的模型参数。
31.需要说明的是,任务推荐模型中的任务为模型训练过程中学习的目标,例如包括:学习广告推荐中的点击,下载,转化等。任务推荐模型基于任务打分策略,实现为用户提供个性化推荐。负迁移一般是指一种学习对另一种学习起干扰或抑制作用。负迁移在本技术实施例中指的是各个任务之间相互影响,而影响的结果是负向,相互拉低各个任务的推荐效果。
32.可以理解的是,在步骤110之前,即在基于多个任务推荐模型分别对应的损失函数值与多个任务推荐模型分别对应的优化器,确定目标更新梯度之前,还包括:
33.对目标任务对应的待训练样本数据进行预处理,获取目标任务对应的特征向量;
34.将特征向量输入至目标任务推荐模型,确定目标任务推荐模型对应的损失函数值。
35.在本步骤中,采集目标营销场景下目标任务对应的样本数据,并将此样本数据作为目标任务推荐模型的待训练样本数据。通过预处理相关技术对待训练样本数据进行预处理,例如包括:数据清洗、数据筛选、数据分类、数据标准化、数据变换、数据排序等。其中,目标营销场景可以为互联网营销场景或线上营销场景,也可以是基于用户需求生成的营销场景。例如:用户想要获取的结果为某应用程序的广告效果,则营销场景为广告推荐场景。则广告推荐场景下的样本数据可以包括:用户身份标识(identity document,id)、用户属性特征、广告id、广告属性特征以及反应广告效果的用户行为特征等。用户id可以是用户登录目标应用的账户id或安装第一应用的设备识别码等。用户属性特征可以包括用户性别、用户年龄、用户所属城市等,广告属性特征可以包括广告类目、广告时长、广告形式等,用户行为特征包括用户点击广告、用户下载目标应用程序、用户分享广告、用户购买广告产品等。在实际执行中,样本数据示例如下表:
[0036][0037]
可选地,再构造目标任务推荐模型的损失函数。损失函数是人工智能模型中用数学的方法衡量模型预测结果和样本的专有概念,可以衡量模型输出值和真实值之间概率分布的差距,如分类任务中的交叉熵损失函数。在广告推荐中,一般都为分类任务,如是否点击,是否下载,是否付费等。交叉熵损失函数如下:
[0038][0039]
其中,m为类别的数量;y
ic
为符号函数(0或1),如果样本i的真实类别等于c,则y
ic
取1,否则y
ic
取0。p
ic
为观测样本i属于类别c的预测概率;n为样本的数量。
[0040]
可选地,将预处理后的待训练样本数据作为目标任务推荐模型的输入,并通过embedding等技术把输入特征转化为一串特征向量。其中,embedding是一种压缩离散特征维度,泛化特征表达的向量化技术。然后得到任务推荐模型的输出结果,即为模型预测的概率。通过把模型预测的概率和真实样本标签输入到损失函数,可以得到目标任务推荐模型的损失函数值。例如:模型预测输出的概率为0.7,真实样本标签的概率值为1.0,则该条样本的损失函数值为loss=-(1*log 0.7 0*log(1-0.7))=0.1549。损失函数值越接近0越好,等于0说明模型输出值和真实样本标签的概率值完全一样,即说明没有损失值,模型预测效果好。
[0041]
可以理解的是,本技术实施例可以用于确定多个任务推荐模型的损失函数值。例如,在目标营销场景下,不同的任务设置有不同的任务推荐模型。任务a对应的用户是否点击,任务b对应的用户是否下载,任务c对应的用户是否付费。则可以确定任务a对应的任务推荐模型a的损失函数值、任务b对应的任务推荐模型b的损失函数值、任务c对应的任务推荐模型c的损失函数值。
[0042]
本技术实施例提供的模型参数更新方法,通过损失函数来衡量任务推荐模型预测效果的好坏,便于快速进行任务推荐模型的优化。
[0043]
可选地,在步骤110中,根据不同任务和对应的任务推荐模型,采用不同的自适应学习率优化器进行训练。在本技术实施例中的多个任务推荐模型中,可以初始化多个优化器,来减小每个任务推荐模型在训练时的互相影响。其中,优化器是有监督人工智能模型中,必不可少的一个组件,主要用来更新模型参数。人工智能领域中常用的优化器有adam,rmsprop,adadelta,sgd等。
[0044]
例如:在效果广告推荐场景中,对预测用户是否点击的任务初始化优化器adam1,对预测用户是否下载的任务初始化优化器adam2等,各个优化器之间是相互独立的,互不影响。
[0045]
可选地,在步骤120中,基于目标更新梯度,可以对本次训练中所有的任务推荐模型进行模型参数的更新,也可以对多个任务推荐模型中的至少一个任务推荐模型的进行模型参数的更新。
[0046]
假设任务推荐模型为a,则模型参数更新公式为:
[0047][0048]
其中,wn为任务推荐模型a的模型参数之一;lr为学习率,一般数值较小;lossa为任务推荐模型a的损失函数值;为任务推荐模型a的loss值对参数wn的求导,即更新梯度;n为模型训练迭代的步数。以此类推,任务推荐模型b的更新梯度为
[0049]
若上一轮训练中模型参数为wn=(0.1,0.06,0.4,0.7,0.03),优化器确定的更新梯度为lr=0.01,那么通过本轮训
练梯度更新后,得到模型参数w
n 1
为:
[0050][0051]
在实际执行中,采用多个优化器,使得每个任务推荐模型在更新模型参数时,可以依据本任务对应的更新梯度来更新模型参数。在需要同时训练多个任务推荐模型的情况下,考虑到每个优化器输出的更新梯度可能差异较大,不利于多个任务推荐模型的训练,则需要对所有输出的更新梯度进行筛选或组合,以减少更新梯度之间的差异。
[0052]
本技术实施例提供的模型参数更新方法,通过采用不同优化器输出的更新梯度来确定目标更新梯度,优化了任务推荐模型训练时更新梯度变化的过程,从而可以减小各个任务推荐模型在训练时更新梯度差异而造成的互相影响,进而可以缓解多任务推荐模型之间的负迁移问题;再根据目标更新梯度来更新任务推荐模型的模型参数,可以提升任务推荐模型的训练效果。
[0053]
在一个实施例中,基于多个任务推荐模型分别对应的损失函数值与多个任务推荐模型分别对应的优化器,确定目标更新梯度,包括:
[0054]
基于多个任务推荐模型分别对应的损失函数值与多个任务推荐模型分别对应的优化器,确定每个任务推荐模型的更新梯度;
[0055]
在每个任务推荐模型的更新梯度为数值的情况下,基于多个任务推荐模型的数量,确定目标更新梯度;
[0056]
在每个任务推荐模型的更新梯度为向量的情况下,将所有任务推荐模型的更新梯度进行相加,得到目标更新梯度。
[0057]
可选地,每个任务推荐模型的损失函数值均可以输入至对应的优化器中进行更新梯度的计算。可以理解的是,基于损失函数,模型的更新梯度可以表现为数值函数或向量函数。根据输入的样本数据,可以获得更新梯度的计算结果,其中,更新梯度的计算结果可以为数值或者向量。
[0058]
在实际执行中,在每个任务推荐模型的更新梯度为数值的情况下,可以根据多个任务推荐模型的数量,对所有任务推荐模型的更新梯度进行筛选,从而确定目标更新梯度,减少模型计算时间。在每个任务推荐模型的更新梯度为向量的情况下,基于向量运算规则,可以将所有任务推荐模型的更新梯度进行相加,得到目标更新梯度。
[0059]
本技术实施例提供的模型参数更新方法,基于不同表现形式的更新梯度,确定目标更新梯度,可以提高模型的训练效率。
[0060]
在一个实施例中,基于多个任务推荐模型的数量,确定目标更新梯度,包括:
[0061]
在多个任务推荐模型的数量超过目标数量的情况下,将位于目标梯度区间内的更新梯度的平均值确定为目标更新梯度;
[0062]
在所述多个任务推荐模型的数量不超过目标数量的情况下,将所有任务推荐模型的更新梯度的平均值确定为所述目标更新梯度。
[0063]
可选地,每个任务推荐模型的损失函数值均可以输入至对应的优化器中进行更新
梯度的计算。在每个任务推荐模型的更新梯度为数值的情况下,每个优化器在输出更新梯度时,可能存在更新梯度的数值差异较大的问题。例如:任务推荐模型a的更新梯度为正值,任务推荐模型b的更新梯度为负值。任务推荐模型a和任务推荐模型b对应的模型参数的更新趋势相反,不利于损失函数的收敛,会导致模型训练的时间增加。因此,需要对所有输出的更新梯度进行筛选或组合,以减少更新梯度之间的差异。
[0064]
可选地,在多个任务推荐模型的数量超过目标数量的情况下,可以通过设置目标梯度区间来对每个任务推荐模型的更新梯度进行筛选,即可以根据任务推荐模型的数量来确定更新梯度的筛选方式。其中,目标数量可以是预先设置的数值,也可以是默认的数值,还可以目标数量范围中的某个值。目标梯度区间可以是预设的梯度区间,也可以是基于预设筛选规则确定的梯度区间。
[0065]
例如:目标数量可以设置为2,目标梯度区间为0.05~0.07。则在任务推荐模型的数量为3的情况下,将位于0.05~0.07内的更新梯度的平均值确定为目标更新梯度。假设任务推荐模型a的优化器adam a输出某个参数的更新梯度为任务推荐模型b的优化器adam b输出某个参数的更新梯度为任务推荐模型c的优化器adam c输出某个参数的更新梯度为其中,其中,若要同时优化三个任务推荐模型,则可以将位于目标梯度区间内的0.06确定为目标更新梯度。
[0066]
可选地,在多个任务推荐模型的数量不超过目标数量的情况下,为了减少更新梯度之间的差异,可以将所有任务推荐模型的更新梯度的平均值确定为目标更新梯度。
[0067]
例如:目标数量可以设置为3。则在任务推荐模型的数量为2的情况下,将所有任务推荐模型的更新梯度的平均值确定为目标更新梯度。假设任务推荐模型a的优化器adam a输出某个参数的更新梯度为任务推荐模型b的优化器adam b输出某个参数的更新梯度为其中,则目标更新梯度为和的平均值,即为0.02。
[0068]
本技术实施例提供的模型参数更新方法,通过基于任务推荐模型的数量确定目标更新梯度,使得任务推荐模型可以采用更平滑的更新梯度进行模型参数更新,减少模型训练时间,便于提升模型训练效果。
[0069]
在一个实施例中,目标梯度区间为以下任一项:
[0070]
预设的梯度区间;
[0071]
将所有更新梯度中的最大值和最小值剔除后,根据剩余的更新梯度确定的梯度区间。
[0072]
其中,第一种筛选方式为设置预设的目标梯度区间,可以是预先设置的更新梯度范围或者是系统默认的更新梯度范围,可以使得任务推荐模型按照稳定的更新梯度进行训练。
[0073]
第二种筛选方式为将所有更新梯度中的最大值和最小值剔除,根据剩余的更新梯度确定的目标梯度区间。剔除最大值和最小值能够避免因故导致更新梯度出现偏差的问题。基于剩余的更新梯度,可以将剩余的更新梯度的平均值确定为目标更新梯度,也可以在剩余更新梯度中任选一个更新梯度作为目标更新梯度,或者是剩余的更新梯度可以用于对应的任务推荐模型的模型参数更新,被剔除的更新梯度对应的任务推荐模型可以在目标梯度区间内任选一个更新梯度作为目标更新梯度。
[0074]
例如:任务推荐模型a的优化器adam a输出某个参数的更新梯度为任务推荐模型b的优化器adam b输出某个参数的更新梯度为任务推荐模型c的优化器adam c输出某个参数的更新梯度为其中,其中,则可以将最大值和最小值剔除,将任务推荐模型a的某个参数的更新梯度为作为三个任务推荐模型在本轮训练中的目标更新梯度。
[0075]
若在本轮训练中还存在任务推荐模型d的优化器adam d输出某个参数的更新梯度为为则在本轮训练中的目标更新梯度为和的平均值,即为0.04。
[0076]
本技术实施例提供的模型参数更新方法,通过设置目标梯度区间来筛选更新梯度,可以保证不同任务推荐模型的模型参数更新趋势平滑,进而保证模型训练效果。在一个实施例中,在基于目标更新梯度,更新多个任务推荐模型中的至少一个任务推荐模型的模型参数之后,还包括:
[0077]
基于更新后的模型参数,确定更新后的任务推荐模型对应的损失函数值;
[0078]
在更新后的任务推荐模型对应的损失函数值小于目标阈值的情况下,确定训练完成的目标任务推荐模型;
[0079]
将待训练样本数据输入至目标任务推荐模型,得到目标任务推荐模型的模型评估指标;
[0080]
基于目标任务推荐模型的模型评估指标和目标基线模型的模型评估指标,更新目标任务推荐模型对应的优化器的学习率和目标任务推荐模型对应的损失函数权重。
[0081]
可选地,在步骤120之后,通过不同的优化器更新任务推荐模型的模型参数,使得任务推荐模型输出的预测概率分布值越来越接近真实概率分布值,说明模型预测的准确性越来越高。即当更新后的任务推荐模型对应的损失函数值小于目标阈值的情况下,可以固定任务推荐模型的模型参数,获得训练完成的目标任务推荐模型。
[0082]
可选地,将还未参与训练的待训练样本数据,输入到训练好的目标任务推荐模型中,进行离线验证,得到离线验证指标,即模型评估指标。模型评估指标例如可以包括离线的loss值,分类任务中的曲线下面积(area under curve,auc),gauc指标等。将目标任务推荐模型得到的离线验证阶段的模型评估指标已有的目标基线模型的离线指标进行对比。如果离线验证阶段的模型评估指标比目标基线模型的离线指标差,则可以通过调整各个任务推荐模型的学习率和损失函数权重,重新训练模型,直至离线验证阶段的模型评估指标比目标基线模型的离线指标更优。其中,各个任务推荐模型的学习率和损失函数权重可以根据每个任务推荐模型对应的目标任务的数据特点来设置,本技术不作具体限定。
[0083]
如果离线验证阶段的模型评估指标比目标基线模型的离线指标更优,则可以将训练完成的目标任务推荐上线到线上真实环境,在线验证模型预测效果。
[0084]
本技术实施例提供的模型参数更新方法,根据每个任务推荐模型可以根据输入数据的分布特点,自适应调整优化器的学习率,解耦各个任务推荐模型的梯度回传,联合进行模型训练,以达到提升推荐模型的精度的目的,从而带来业务价值的提升。
[0085]
在一个实施例中,如图2所示,本技术实施例提供的模型参数更新方法可以按照如下步骤进行:
[0086]
步骤201、数据预处理。对同一个营销场景下的不同任务对应的样本数据进行处理。
[0087]
步骤202、构造各个任务的损失函数。
[0088]
步骤203、给每个任务对应设置一个自适应学习率优化器,并初始化自适应学习率优化器。根据模型训练的梯度回传情况,自动调节模型参数的更新梯度。
[0089]
步骤204、构建多个优化器组合。利用各个任务推荐模型的相关参数和损失函数进行网络构建,对每个优化器输出的参数更新梯度做筛选,确定目标更新提付,来更新模型参数。如图3所示,输入步骤训练样本,输出各个任务的预测结果,预测过程前向传播(自底向上),梯度更新反向传播(自顶向下),具体步骤如下:
[0090]
步骤2041、确定共享参数层对应的特征向量。共享参数层是各个任务的共享的参数,一般是embedding类特征,各个任务对应的样本数据都可以更新该层的参数。通过拼接各个embedding参数,在共享参数层可以将共享参数转换为特征向量,特征向量例如可以为:(0.1,0.33,0.004,0.5,0.09)。
[0091]
步骤2042、确定各个任务推荐模型的输出结果。任务推荐模型的输入为共享参数层输出的特征向量,经过各个任务对应的任务推荐模型的网络参数堆叠计算,模型的输出为out=sigmoid(wn(w
n-1
(

w2(w1x b1) b2) b
n-1
) bn)。例如,在广告推荐场景下,模型的输出一般为对该样本预测是否点击或者是否付费的概率值,如0.1。
[0092]
步骤2043、计算各个任务分别对应的损失函数值。通过把步骤2042中模型输出的预测概率和真实样本标签输入到损失函数,可以得到各个任务分别对应的loss值。
[0093]
步骤2044、将各个任务分别对应的优化器组合在一起,例如tensorflow中的tf.group,相当于把多个操作合并为一个操作。优化器通过损失函数,计算出任务推荐模型中各个模型参数的更新梯度,然后自上而下对梯度进行传播,更新网络模型的参数,使损失函数值越来越接近0。现有的多任务模型在训练时是只用一个优化器,多个优化器和单个优化器的主要区别是:使用多个优化器,每个任务在更新模型参数时,可以依据自己任务的梯度来更新模型参数,而单个优化器,则在计算梯度时,不同任务之间会相互影响,导致模型精度下降。优化器在模型前向传播时,不会对输入的模型参数做处理,输入即是输出,在反向传播时,优化器会根据各个任务分别对应的loss值来输出各个参数的更新梯度,模型参数层和共享参数层根据梯度来更新模型参数。
[0094]
步骤205、训练得到最终的多任务推荐模型,底层是共享参数层作为输入,模型上层是各个任务的专有参数和输出。多优化器组合的改进,适用于多任务推荐模型改进的mmoe,多任务推荐模型中常用的是mmoe模型结构或cgc模型结构等。以mmoe模型结构为例,底层是共享参数层作为输入,模型中间是各个任务独有的gate结构和共享的expert结构,模型上层是各个任务专有的网络参数和输出。多任务模型各个任务的输入是一样的,如把步骤201中的训练样本,通过embedding等技术把输入转化为一串向量,经过网络中间层的堆叠计算,在输出时,各个任务输出是不一样的,任务a经过专属子网络towera计算得到模型输出概率outputa=0.01,任务b经过专属子网络towerb计算得到模型输出概率outputb=0.8。mmoe模型结构如图4所示。
[0095]
步骤206、把未参与训练的样本数据,输入到训练好的任务推荐模型中,进行离线验证,得到离线验证指标。如离线的loss值,分类任务中的auc,gauc指标等。
[0096]
步骤207、把离线验证指标和基线模型的离线指标进行对比。如果离线验证指标比基线模型的离线指标差,则可以通过调整各个任务的初始化学习率和loss权重,重新训练
任务推荐模型,重复步骤204,步骤205和步骤206。
[0097]
步骤208、把离线验证指标和基线模型的离线指标进行对比,如果离线验证指标优于基线模型的离线指标,则可以将训练好的任务推荐模型上线到线上真实环境,在线验证模型效果。
[0098]
本技术实施例提供的模型参数更新方法,可以在不增加模型复杂度的情况下,更大的缓解多任务推荐模型之间的负迁移现象,提升多个任务推荐模型的精度,提升业务带来的价值。
[0099]
需要说明的是,本技术实施例提供的模型参数更新方法,执行主体可以为模型参数更新装置,或者该模型参数更新装置中的用于执行模型参数更新方法的控制模块。本技术实施例中以模型参数更新装置执行模型参数更新方法为例,说明本技术实施例提供的模型参数更新装置。
[0100]
本技术实施例还提供一种模型参数更新装置。
[0101]
如图5所示,该模型参数更新装置包括:第一确定模块510和第一更新模块520。
[0102]
第一确定模块510,用于基于多个任务推荐模型分别对应的损失函数值与所述多个任务推荐模型分别对应的优化器,确定目标更新梯度;
[0103]
第一更新模块520,用于基于所述目标更新梯度,更新所述多个任务推荐模型中的至少一个任务推荐模型的模型参数。
[0104]
本技术实施例提供的模型参数更新装置,通过采用不同优化器输出的更新梯度来确定目标更新梯度,优化了任务推荐模型训练时更新梯度变化的过程,从而可以减小各个任务推荐模型在训练时更新梯度差异而造成的互相影响,进而可以缓解多任务推荐模型之间的负迁移问题;再根据目标更新梯度来更新任务推荐模型的模型参数,可以提升任务推荐模型的训练效果。
[0105]
在一些实施例中,所述第一确定模块510具体用于:
[0106]
基于所述多个任务推荐模型分别对应的损失函数值与所述多个任务推荐模型分别对应的优化器,确定每个任务推荐模型的更新梯度;
[0107]
在所述每个任务推荐模型的更新梯度为数值的情况下,基于所述多个任务推荐模型的数量,确定所述目标更新梯度;
[0108]
在所述每个任务推荐模型的更新梯度为向量的情况下,将所有任务推荐模型的更新梯度进行相加,得到所述目标更新梯度。
[0109]
在一些实施例中,所述第一确定模块510还具体用于:
[0110]
在所述多个任务推荐模型的数量超过目标数量的情况下,将位于目标梯度区间内的更新梯度的平均值确定为所述目标更新梯度;
[0111]
在所述多个任务推荐模型的数量不超过目标数量的情况下,将所有任务推荐模型的更新梯度的平均值确定为所述目标更新梯度。
[0112]
在一些实施例中,所述模型参数更新装置还包括:
[0113]
第二确定模块(图中未示出),用于基于更新后的模型参数,确定更新后的任务推荐模型对应的损失函数值;
[0114]
第三确定模块(图中未示出),用于在所述更新后的任务推荐模型对应的损失函数值小于目标阈值的情况下,确定训练完成的目标任务推荐模型;
[0115]
模型评估模块(图中未示出),用于将待训练样本数据输入至所述目标任务推荐模型,得到所述目标任务推荐模型的模型评估指标;
[0116]
基于所述目标任务推荐模型的模型评估指标和目标基线模型的模型评估指标,更新所述目标任务推荐模型对应的优化器的学习率和所述目标任务推荐模型对应的损失函数权重。
[0117]
在一些实施例中,所述模型参数更新装置还包括:
[0118]
获取模块(图中未示出),用于对目标任务对应的待训练样本数据进行预处理,获取所述目标任务对应的特征向量;
[0119]
第四确定模块(图中未示出),用于将所述特征向量输入至所述目标任务推荐模型,确定所述目标任务推荐模型对应的损失函数值。
[0120]
在一些实施例中,所述目标梯度区间为以下任一项:
[0121]
预设的梯度区间;
[0122]
将所有更新梯度中的最大值和最小值剔除后,根据剩余的更新梯度确定的梯度区间。
[0123]
本技术实施例中的模型参数更新装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)等,非移动电子设备可以为服务器、网络附属存储器(network attached storage,nas)、个人计算机(personal computer,pc)、电视机(television,tv)、柜员机或者自助机等,本技术实施例不作具体限定。
[0124]
本技术实施例中的模型参数更新装置可以为具有操作系统的装置。该操作系统可以为安卓(android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本技术实施例不作具体限定。
[0125]
本技术实施例提供的模型参数更新装置能够实现图1至图4的方法实施例实现的各个过程,为避免重复,这里不再赘述。
[0126]
可选地,如图6所示,本技术实施例还提供一种电子设备600,包括处理器601,存储器602,存储在存储器602上并可在所述处理器601上运行的程序或指令,该程序或指令被处理器601执行时实现上述模型参数更新方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0127]
需要说明的是,本技术实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
[0128]
图7是本技术实施例提供的电子设备的硬件结构示意图。
[0129]
该电子设备700包括但不限于:射频单元701、网络模块702、音频输出单元703、输入单元704、传感器705、显示单元706、用户输入单元707、接口单元708、存储器709以及处理器710等部件。
[0130]
本领域技术人员可以理解,电子设备700还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器710逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图7中示出的电子设备结构并不构成对电子设备的限
processing unit,gpu)7041和麦克风7042,图形处理器7041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元706可包括显示面板7061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板7061。用户输入单元707包括触控面板7071以及其他输入设备7072。触控面板7071,也称为触摸屏。触控面板7071可包括触摸检测装置和触摸控制器两个部分。其他输入设备7072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器709可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器710可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器710中。
[0149]
本技术实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述模型参数更新方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0150]
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
[0151]
本技术实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述模型参数更新方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0152]
应理解,本技术实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
[0153]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
[0154]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
[0155]
上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多
形式,均属于本技术的保护之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献