CN112597356B - 模型训练方法、个性化数据推荐方法、装置及电子设备 - Google Patents
模型训练方法、个性化数据推荐方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112597356B CN112597356B CN202011402172.3A CN202011402172A CN112597356B CN 112597356 B CN112597356 B CN 112597356B CN 202011402172 A CN202011402172 A CN 202011402172A CN 112597356 B CN112597356 B CN 112597356B
- Authority
- CN
- China
- Prior art keywords
- model
- target
- loss function
- training
- data
- 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.)
- Active
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/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出一种模型训练方法、个性化数据推荐方法、装置及电子设备,属于计算机应用技术领域。其中,该模型训练方法包括:获取第一训练样本集、参考模型及参考模型对应的参考损失函数,其中,参考模型是基于第二训练样本集训练生成的模型;根据参考损失函数,确定参考模型中的各个第一模型参数的权重;基于参考损失函数及参考模型中的各个第一模型参数的权重,构建目标损失函数;基于目标损失函数及第一训练样本集,对参考模型进行训练,以获取目标模型。由此,通过这种模型训练方法,在训练样本不足时,分层次利用多域数据信息,对个性化数据推荐模型进行充分训练,提升了个性化数据推荐的泛化能力和准确性。
Description
技术领域
本申请涉及计算机应用技术领域,尤其涉及一种模型训练方法、个性化数据推荐方法、装置及电子设备。
背景技术
个性化数据推荐系统本质上是要解决用户、内容与环境的匹配问题,从而实现千人千面的推荐效果,提升用户的使用体验。
相关技术中,个性化数据推荐模型通常需要依赖足够量级的数据样本进行训练,才能够达到比较准确的推荐效果。然而在实际业务中,很多场景的用户流量并不充足,导致在很多业务场景中无法获取到足够的训练样本充分训练个性化数据推荐模型,从而导致个性化数据推荐的泛化能力较差、准确性较低。
发明内容
本申请提出的模型训练方法、个性化数据推荐方法、装置、电子设备及存储介质,用于解决相关技术中,在实际业务中,很多场景的用户流量并不充足,导致在很多业务场景中无法获取到足够的训练样本充分训练个性化数据推荐模型,从而导致个性化数据推荐的泛化能力较差、准确性较低的问题。
本申请一方面实施例提出的模型训练方法,包括:获取第一训练样本集、参考模型及所述参考模型对应的参考损失函数,其中,所述参考模型是基于第二训练样本集训练生成的模型;根据所述参考损失函数,确定所述参考模型中的各个第一模型参数的权重;基于所述参考损失函数及所述参考模型中的各个第一模型参数的权重,构建目标损失函数;基于所述目标损失函数及所述第一训练样本集,对所述参考模型进行训练,以获取目标模型。
本申请另一方面实施例提出的个性化数据推荐方法,包括:获取数据推荐请求,其中,所述推荐请求中包括目标用户的数据及当前的业务场景;确定与所述当前的业务场景对应的目标模型,其中,所述目标模型为应用如前所述的模型训练方法生成的;利用所述目标模型,对所述目标用户的数据及各个候选数据进行处理,以获取所述目标用户与每个候选数据的关联度;根据所述目标用户与每个候选数据的关联度,确定待推荐数据。
本申请再一方面实施例提出的模型训练装置,包括:第一获取模块,用于获取第一训练样本集、参考模型及所述参考模型对应的参考损失函数,其中,所述参考模型是基于第二训练样本集训练生成的模型;第一确定模块,用于根据所述参考损失函数,确定所述参考模型中的各个第一模型参数的权重;构建模块,用于基于所述参考损失函数及所述参考模型中的各个第一模型参数的权重,构建目标损失函数;训练模块,用于基于所述目标损失函数及所述第一训练样本集,对所述参考模型进行训练,以获取目标模型。
本申请又一方面实施例提出的个性化数据推荐装置,包括:第二获取模块,用于获取数据推荐请求,其中,所述推荐请求中包括目标用户的数据及当前的业务场景;第二确定模块,用于确定与所述当前的业务场景对应的目标模型,其中,所述目标模型为应用如前所述的模型训练方法生成的;第三获取模块,用于利用所述目标模型,对所述目标用户的数据及各个候选数据进行处理,以获取所述目标用户与每个候选数据的关联度;第三确定模块,用于根据所述目标用户与每个候选数据的关联度,确定待推荐数据。
本申请又一方面实施例提出的电子设备,其包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如前所述的模型训练方法或个性化数据推荐方法。
本申请另一方面实施例提出的计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如前所述的模型训练方法或个性化数据推荐方法。
本申请实施例提供的模型训练方法、个性化数据推荐方法、装置、电子设备及计算机可读存储介质,通过根据已经基于第二训练样本集训练生成的参考模型对应的参考损失函数,确定参考模型中的各个第一模型参数的权重,并基于参考损失函数及参考模型中的各个第一模型参数的权重,构建目标损失函数,进而基于目标损失函数及第一训练样本集,对参考模型进行进一步训练,以获取目标模型。由此,通过在训练样本不足时,分别依次训练模型在多个业务场景中的性能,并在训练模型在一个业务场景中的性能的过程中,仅着重修正对该业务场景的性能较重要的参数,并使得已训练好的参数保持稳定,从而通过分层次的利用多域数据信息,对个性化数据推荐模型进行充分训练,提升了个性化数据推荐的泛化能力和准确性。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例所提供的一种模型训练方法的流程示意图;
图2为本申请实施例所提供的离线训练与在线预测的整体流程示意图;;
图3为本申请实施例所提供的另一种模型训练方法的流程示意图;
图4为本申请实施例所提供的一种个性化数据推荐方法的流程示意图;
图5为本申请实施例所提供的另一种个性化数据推荐方法的流程示意图;
图6为本申请实施例提供的一种模型训练装置的结构示意图;
图7为本申请实施例提供的一种个性化数据推荐装置的结构示意图;
图8为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的要素。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
本申请实施例针对相关技术中,在实际业务中,很多场景的用户流量并不充足,导致在很多业务场景中无法获取到足够的训练样本充分训练个性化数据推荐模型,从而导致个性化数据推荐的泛化能力较差、准确性较低的问题,提出一种模型训练方法。
本申请实施例提供的模型训练方法,通过根据已经基于第二训练样本集训练生成的参考模型对应的参考损失函数,确定参考模型中的各个第一模型参数的权重,并基于参考损失函数及参考模型中的各个第一模型参数的权重,构建目标损失函数,进而基于目标损失函数及第一训练样本集,对参考模型进行进一步训练,以获取目标模型。由此,通过在训练样本不足时,分别依次训练模型在多个业务场景中的性能,并在训练模型在一个业务场景中的性能的过程中,仅着重修正对该业务场景的性能较重要的参数,并使得已训练好的参数保持稳定,从而通过分层次的利用多域数据信息,对个性化数据推荐模型进行充分训练,提升了个性化数据推荐的泛化能力和准确性。
下面参考附图对本申请提供的模型训练方法、个性化数据推荐方法、装置、电子设备、存储介质及计算机程序进行详细描述。
图1为本申请实施例所提供的一种模型训练方法的流程示意图。
如图1所示,该模型训练方法,包括以下步骤:
步骤101,获取第一训练样本集、参考模型及参考模型对应的参考损失函数,其中,参考模型是基于第二训练样本集训练生成的模型。
需要说明的是,在模型训练时,如果在一些业务场景中无法获取到足够的训练样本充分训练模型在多个业务场景中的性,则可以通过持续学习的方式,分层次的利用多域数据信息,依次通过各业务场景中的训练样本训练模型在各业务场景中的性能。也就是说,首先利用一个业务场景中的训练样本对模型进行训练,生成在该业务场景中性能较好的参考模型,之后利用其它业务场景中的训练样本继续对参考模型进行训练,并在训练过程中,仅着重修正对其他业务场景的性能较重要的参数,而尽量保证对已训练好的业务场景的性能较重要的参数不变,从而使得在训练样本不足的情况下,也可以使得模型在多个业务场景中的性能均得到充分训练,泛化能力好。以下将对模型在一个业务场景中的性能进行训练,称为一个训练任务。
其中,第一训练样本集,是指当前对模型的一个训练任务进行训练所需的训练样本,所构成的数据集。需要说明的是,第一训练样本集可以是从该训练任务对应的业务场景的用户使用数据中获取的。
其中,参考模型,是指已经完成一个或多个训练任务所生成的模型。
其中,参考损失函数,是指训练参考模型时所使用的损失函数。
其中,第二训练样本集,是指训练参考模型时所使用的训练样本集。比如,当前的训练任务为任务B,在训练任务B之前已经完成对任务A的训练,生成了模型A;则第一训练样本集为训练任务B所需的训练样本集,参考模型为模型A,参考损失函数为训练任务A时使用的损失函数,第二训练样本集是训练任务A时使用的训练样本集。
在本申请实施例中,可以根据模型具体的应用场景,从该应用场景中的用户使用数据中获取模型训练所需的训练样本,并根据当前具体的训练任务从已获取的训练样本中获取与当前的训练任务对应的训练样本,构成第一训练样本集。
举例来说,模型应用在应用程序A中,则可以获取应用程序A的用户的历史使用数据作为模型的训练样本。若当前的训练任务为模型在应用程序A的B功能中的排序性能,则可以利用用户在B功能的历史使用数据对应的训练样本,构成第一训练样本集。
作为一种可能的实现方式,本申请实施例可以采用如图2所示的Spark计算集群生成训练样本。如图2所示,Spark计算集群包括训练库生成模块、采样模块、特征生成模块。其中,训练库生成模块可以对获取到的原始数据进行有效预处理,以提升模型训练的准确度。具体的,训练库生成模块可以将用户的曝光日志、行为日志、内容正排索引及画像特征日志等历史使用数据,按照用户设备号进行融合,并去除缺失有效单特征的脏数据,以保证每条样本的有效单特性信息无缺失。
之后,采样模块基于训练库生成模块中得到的原始训练库对样本进行正负样本采样,使得正负样本保持在合理的比例上。比如,当模型应用在短视频应用程序中时,可以过滤掉播放时长在一定阈值之下的样本,并根据每个样本的视频时长和观看时长设定正负样本;比如,可以将观看时长与视频时长的比值大于预设阈值的样本,设定为正样本;将观看时长与视频时长的比值小于预设阈值的样本,设定为负样本。实际使用时,可以结合模型的具体类型来综合考量正负样本的设定方案。
之后,特征生成模块可以将采样模块得到的样本信息做进一步提取处理,并结合模型的具体类型选用适当的特征,从而生成离线模型训练所需的训练样本。进而可以在模型训练过程中,根据当前的训练任务,从训练样本中选取与当前的训练任务对应的训练样本,构成第一训练样本集。
在本申请实施例中,可以在当前训练任务之前对模型进行训练生成的模型,作为参考模型,并将训练参考模型时使用的损失函数确定为参考损失函数。
步骤102,根据参考损失函数,确定参考模型中的各个第一模型参数的权重。
其中,第一模型参数,是指参考模型中包含的各模型参数。
其中,第一模型参数的权重,可以反映该第一模型参数对参考模型的重要程度,即可以反映该第一模型参数发生变化时,对参考模型性能的影响程度。比如,第一模型参数的权重越大,可以反映该第一模型参数对参考模型的重要程度越大,即该第一模型参数发生变化时,对参考模型性能的影响程度越大。
可以理解的是,由于参考模型中的各个第一模型参数发生变化时,会导致参考损失函数的取值发生变化,而在某个第一模型参数发生一定幅度的变化时,参考损失函数的变化幅度可以反映该第一模型参数对于参考模型性能的重要程度。因此,在本申请实施例一种可能的实现形式中,上述步骤102可以包括:
确定每个第一模型参数改变预设的值时,参考损失函数的值的变化幅度;
根据参考损失函数的值的变化幅度,确定每个第一模型参数的权重。
在本申请实施例中,若第一模型参数改变预设的值时,参考损失函数的值的变化幅度较大,则可以将该第一模型参数的权重确定为较大的值;反之,则可以将该第一模型参数的权重确定为较小的值。
作为一种可能的实现方式,可以在第一模型参数改变预设的值时,将对应的参考损失函数的值的变化幅度确定为该第一模型参数的权重;或者,还可以将对应的参考损失函数的值的变化幅度归一化至预设区间,并将归一化后的参考损失函数的值的变化幅度,确定为该第一模型参数的权重,从而使得各第一模型参数的权重均处于预设区间内,以提升权重表示的准确性与简化权重表示的复杂度。
比如,预设区间为[1,10],则可以在第一模型参数改变预设的值时,将对应的参考损失函数的值的变化幅度归一化至[1,10]数值范围内,并将归一化后的变化幅度确定为该第一模型参数的权重。
作为另一种可能的实现方式,还可以预设多个数值范围,并根据各第一模型参数改变预设的值时,对应的参考损失函数的值的变化幅度所处的数值范围,确定各第一模型参数的权重。
具体的,可以预设N个数值范围,其中在i小于j时(i、j均为小于或等于N的正整数),第i个预设数值范围的最大值小于第j个预设数值范围的最小值。在第一模型参数改变预设的值,且对于的参考损失函数的值的变化幅度处于第i个预设数值范围时,可以将该第一模型参数的权重确定为i。
需要说明的是,确定第一模型参数的权重的具体方式,可以包括但不限于以上列举的情形。实际使用时,可以根据实际需要及具体的应用场景,选择确定第一模型参数的权重的具体方式,本申请实施例对此不做限定。
步骤103,基于参考损失函数及参考模型中的各个第一模型参数的权重,构建目标损失函数。
其中,目标损失函数,是指利用第一训练样本集对参考模型进行继续训练时所使用的的损失函数。
在本申请实施例中,确定出参考模型中各第一模型参数的权重之后,则可以根据各第一模型参数的权重构建目标损失函数,以根据目标损失函数对参考模型进行继续训练时,可以对参考模型中权重较小的第一模型参数进行继续修正,而尽量保持参考模型中权重较大的第一模型参数不变。
作为一种可能的实现方式,可以在目标损失函数中融入参考模型中的各模型参数与各模型参数的权重,以使在对参考模型的训练过程中,可以参考各模型参数的权重确定对各模型参数的修正幅度。即在本申请实施例一种可能的实现方式中,上述步骤103,可以包括:
根据每个第一模型参数的权重,确定目标损失函数中与每个第一模型参数对应的第二模型参数的关联系数值;
基于每个第二模型参数的关联系数值,利用各个第二模型参数对参考损失函数进行修正,以生成目标损失函数。
其中,第二模型参数,可以是指参考模型中包括的各模型参数。需要说明的是,在第一模型参数用于表示模型参数时,第一模型参数与第二模型参数相同,均表示参考模型中包括的各模型参数;在第一模型参数为模型参数的具体取值时,第一模型参数用于表示利用第二训练样本集对模型训练完成后生成参考模型时,对应的第二模型参数的取值。
其中,第二模型参数的关联系数值,可以用于指示在对参考模型训练过程中是否可以对第二模型参数进行进一步修正。
作为一种可能的实现方式,目标损失函数可以通过公式(1)表示。
其中,L′(θ)为目标损失函数,L(θ)为参考损失函数,θ为第二模型参数,λ为超参数,bi为第i个第二模型参数的关联系数值,θi为第i个第二模型参数,为第i个第二模型参数对应的第一模型参数(即在利用第二训练样本集对模型进行训练生成参考模型时,参考模型中的第i个第二模型参数对应的取值),i为第二模型参数的序号。
在本申请实施例中,第二模型参数的关联系数值可以与相应的第一模型参数的权重呈正相关,即第一模型参数的权重越大,则可以确定对应的第二模型参数的关联系数值越大;反之,则可以确定对应的第二模型参数的关联系数值越小。作为一种可能的实现方式,可以将第二模型参数的二次微分确定为第二模型参数的关联系数值,以使本申请实施例的模型训练方法具备持续学习的能力。
通过公式(1)可以看出,对于关联系数值较小(如bi趋近于0)的第二模型参数θi,被修改时不会造成目标损失函数的值剧烈变化,此时可以根据参考损失函数L(θ)的当前取值,对关联系数值较小的θi进行修正,以使目标损失函数可以取得较小的值,提升模型性能,即关联系数值较小的θi可以在利用第一训练样本集对参考模型进行训练的过程中进一步修正;对于关联系数值较大(如bi趋近于∞)的第二模型参数θi,θi被修改时会造成目标损失函数的值产生较大增幅,此时根据参考损失函数L(θ)的当前取值对各第二模型参数进行修正,以使目标损失函数可以取得较小的值时,可以尽量不修改关联系数值较大的θi,以避免目标损失函数的取值产生较大增幅,而无法使得目标损失函数取得较小的值,并导致模型性能变差,即关联系数值较大的θi在利用第一训练样本集对参考模型进行训练的过程中趋向于不做改变。综上所述,通过目标损失函数L′(θ)利用第一训练样本集对参考模型进行训练的过程中,可以着重修正关联系数值较小的第二模型参数,即对参考模型中已训练任务的性能影响较小的参数;并且可以尽量保持关联系数值较大的第二模型参数不做改变,即对参考模型中已训练任务的性能影响较大的参数。从而实现了在模型训练过程中不仅可以提升当前训练任务的性能,还可以保证已训练完成的训练任务的性能不会下降。
步骤104,基于目标损失函数及第一训练样本集,对参考模型进行训练,以获取目标模型。
在本申请实施例中,由于构造的目标损失函数可以在参考模型的进一步训练过程中,着重修正对参考模型中已训练任务的性能影响较小的参数,以及可以尽量保持关对参考模型中已训练任务的性能影响较大的参数不变,以使模型具备持续学习能力;因此,在确定出目标损失函数之后,可以将第一训练样本集中的各训练样本依次输入参考模型,并根据参考模型的输出数据计算目标损失函数的取值,进而根据目标损失函数的取值对参考模型中的各模型参数进行修正,直至目标损失函数的取值小于预设阈值,则完成对参考模型的训练,并将使得目标损失函数小于预设阈值的模型确定为目标模型。
本申请实施例提供的模型训练方法,通过根据已经基于第二训练样本集训练生成的参考模型对应的参考损失函数,确定参考模型中的各个第一模型参数的权重,并基于参考损失函数及参考模型中的各个第一模型参数的权重,构建目标损失函数,进而基于目标损失函数及第一训练样本集,对参考模型进行进一步训练,以获取目标模型。由此,通过在训练样本不足时,分别依次训练模型在多个业务场景中的性能,并在训练模型在一个业务场景中的性能的过程中,仅着重修正对该业务场景的性能较重要的参数,并使得已训练好的参数保持稳定,从而通过分层次的利用多域数据信息,对个性化数据推荐模型进行充分训练,提升了个性化数据推荐的泛化能力和准确性。
在本申请一种可能的实现形式中,还可以根据实际的业务场景进行模型选型,以使模型性能更加符合实际的业务需求;并且可以在生成目标模型之后,通过校验码对目标模型的时效性进行标识。
下面结合图3,对本申请实施例提供的模型训练方法进行进一步说明。
图3为本申请实施例所提供的另一种模型训练方法的流程示意图。
如图3所示,该模型训练方法,包括以下步骤:
步骤201,获取第一训练样本集与第一训练样本集对应的业务场景。
在本申请实施例中,由于不同的深度学习模型所适用的应用场景有所不同,比如,DeepFM(Deep Factorization Machines,深度因子分解机)模型适合于更好的挖掘用户喜好的预测场景;LSTM(Long Short-Term Memory,长短期记忆)模型适合应用于序列化的预测场景。因此,在本申请实施例中,可以在获取到第一训练样本集之后,根据第一训练样本集的来源确定第一训练样本集对应的业务场景;或者,还可以在模型训练之前,首先确定当前的业务场景,并根据当前的业务场景从预先生成想训练样本库中,获取与当前的业务场景匹配的第一训练样本集,以在模型训练之前,根据第一训练样本集对应的业务场景,进行模型选型。
需要说明的是,第一训练样本集的获取方式可以参照上述实施例的详细描述,此处不再赘述。
步骤202,根据第一训练样本集对应的业务场景,获取参考模型及参考模型对应的参考损失函数。
在本申请实施例中,确定出第一训练样本集对应的业务场景之后,可以根据业务场景进行模型选型,以将模型类型与业务场景相符的模型确定为参考模型,并将利用第二训练样本集训练参考模型时使用的损失函数,确定为参考损失函数。
举例来说,本申请实施例的模型选型、模型训练、模型推送等过程可以由图2中所示的Tensorflow计算集群实现。如图2所示,Tensorflow计算集群包括模型选型模块、模型训练模块、模型固化模块、模型文件推送模块。其中,模型选型模型用于根据业务场景选取合适的参考模型;模型训练模块用于利用第一训练样本集对选取出的参考模型进行进一步训练,以生成目标模型。
步骤203,根据参考损失函数,确定参考模型中的各个第一模型参数的权重。
步骤204,基于参考损失函数及参考模型中的各个第一模型参数的权重,构建目标损失函数。
步骤205,基于目标损失函数及第一训练样本集,对参考模型进行训练,以获取目标模型。
上述步骤203-205的具体实现过程及原理,可以参照上述实施例的详细描述,此处不再赘述。
步骤206,根据目标模型,生成第一校验码。
在本申请实施例中,利用第一训练样本集对参考模型进行进一步训练,以生成目标模型之后,可以将目标模型推送给在线处理系统,以使在线处理系统可以利用最新生成的目标模型进行排序、召回或推荐等处理,进一步提升在线处理系统的处理准确性。因此,为使得在线处理系统可以识别获取到的模型是否为最新模型,可以在生成目标模型之后,可以利用目标模型生成二进制模型文件,并对二进制模型文件内容进行MD5编码,以生成目标模型对应的第一校验码,以便于在线处理系统根据第一校验码校验目标模型的时效性。
举例来说,在通过如图2所示的Tensorflow计算集群中的模型训练模块生成目标模型之后,可以通过将目标模型的模型参数数据与网络结构相融合的方式,利用模型固化模块将目标模型的模型参数通过转换为常量的方式固化在目标模型的网络结构中,生成固化后的二进制模型文件以保证离线训练的目标模型与在线处理系统中的预测模型网络结构的一致性。之后,模型推送模块对二进制模型文件的文件内容进行MD5编码,以生成目标模型对应的第一校验码。
步骤207,将第一校验码及目标模型推送给在线处理系统,以使在线处理系统根据第一校验码对目标模型的时效性进行校验。
在本申请实施例中,根据目标模型生成第一校验码之后,可以将目标模型推送与对应的第一校验码推送给在线处理系统,以使在线处理系统可以根据第一校验码对目标模型的时效性进行校验,以确定是否需要加载目标模型。
作为一种可能的实现方式,如图2中所示的模型推送模块对二进制模型文件的文件内容进行MD5编码,以生成目标模型对应的第一校验码之后,可以通过定时任务按照预设的频次,将目标模型对应的二进制模型文件和第一校验码推送至在线处理系统,至此整个离线训练流程完成。
需要说明的是,实际使用时,将目标模型预第一校验码推送至在线处理系统的预设频次,可以根据实际需要及具体的应用场景确定,本申请实施例对此不做限定。比如,预设的频次可以为1天/次、1小时/次,等等。
本申请实施例提供的模型训练方法,通过根据第一训练样本集对应的业务场景,获取参考模型及参考模型对应的参考损失函数,并根据参考损失函数,确定参考模型中的各个第一模型参数的权重,以及基于参考损失函数及参考模型中的各个第一模型参数的权重,构建目标损失函数,之后基于目标损失函数及第一训练样本集,对参考模型进行训练,以获取目标模型,进而根据目标模型,生成第一校验码,并将第一校验码及目标模型推送给在线处理系统,以使在线处理系统根据第一校验码对目标模型的时效性进行校验。由此,通过根据具体的业务场景进行模型选型,并在模型训练完成之后生成校验码对模型的时效性进行标识,从而不仅在训练样本不足时通过分层次的利用多域数据信息,对个性化数据推荐模型进行充分训练,提升了个性化数据推荐的泛化能力和准确性,而且通过根据业务场景预先进行模型选型,进一步提升了个性化数据推荐的适用性,以及提升了模型更新的时效性。
下面参考附图对本申请提供的个性化数据推荐方法进行详细描述。
图4为本申请实施例所提供的一种个性化数据推荐方法的流程示意图。
如图4所示,该个性化数据推荐方法,包括以下步骤:
步骤301,获取数据推荐请求,其中,推荐请求中包括目标用户的数据及当前的业务场景。
需要说明的是,本申请实施例的个性化数据推荐方法可以由本申请实施例的个性化数据推荐装置执行,本申请实施例的个性化数据推荐装置可以配置在任意具有推荐或排序功能的应用程序的服务器中,以执行本申请实施例的个性化数据推荐方法。
其中,数据推荐请求,可以是在以下一个或多个时机触发生成的:获取到用户打开新页面指令、获取到用户在页面中执行刷新指令、获取到用户的搜索指令、当前时刻为预设的数据推荐时刻等。
其中,目标用户,是指发出当前的数据推荐请求的用户账号(如用户在推荐处理系统中的注册账号、用户的设备号等)。目标用户的数据,可以包括用户的曝光日志、行为日志、内容正排索引及画像特征日志等历史使用数据。
其中,当前的业务场景,可以根据触发当前的数据推荐请求的时机确定。比如,触发当前的数据推荐请求的时机为获取到用户打开新页面指令或刷新页面指令,则可以确定当前的业务场景为挖掘用户喜好预测场景;若触发当前的数据推荐请求的时机为获取到用户的搜索指令,则可以确定当前的业务场景为排序召回场景。
在本申请实施例中,本申请实施例的个性化数据推荐方法可以应用在任意的应用程序中,因此可以在应用程序中任意需要在用户界面中显示新数据的时机触发个性化数据推荐的在线处理流程。
作为一种可能的实现方式,可以根据客户端的用户指令触发个性化数据推荐的在线新华路流程。可选的,客户端在获取到用户打开新页面指令、刷新页面指令、搜索指令时,可以确定当前需要向用户推荐符合用户喜好的内容,或需要召回符合用户搜索指令的内容显示在应用程序的用户界面中,因此可以在获取到用户打开新页面指令、刷新页面指令、搜索指令等用户指令时,根据发出用户指令的用户账号与指令类型,确定目标用户的数据与当前的业务场景,进而根据目标用户的数据与当前的业务场景,生成数据推荐请求并发送至服务器。
作为另一种可能的实现方式,服务器还可以预先设置向客户端推荐数据的频率,从而服务器可以根据预设的推荐频率,在当前时刻为推荐时刻时,确定获取到数据推荐请求,并可以将应用程序中的所有用户账号确定为目标用户,也可以将当前时刻正在登录应用程序的用户账号确定为目标用户,并获取目标用户的数据。并且,可以将当前按照预设的推荐频率进行数据推荐的场景确定为当前的业务场景。
在本申请实施例中,服务器在获取到数据推荐请求后,可以对数据推荐请求进行解析处理,以确定数据推荐请求中包括的目标用户的数据与当前的业务场景。
举例来说,本申请实施例的个性化数据推荐方法的执行主体服务器可以包括图2中所示的在线处理系统,服务器在获取到数据推荐请求之后,若当前的业务场景为应用在推荐系统召回模块中,则在线处理系统中的候选池可以根据数据推荐请求中目标用户的数据(如画像数据),预筛选一部分待推荐的内容,以降低后续通过目标模型筛选推荐数据时的数据处理量;若当前的业务场景为应用在排序模块中,则在线处理系统中的候选池中可以存储各个召回模块的返回内容。并且,在线处理系统中的特征生成模块与Spark集群中的特征生成模块的设计方式相同,可以获取候选池中预筛选或预召回的内容的特征,并与目标用户的数据结合,以生成与Spark集群特征生成模块中一致的样本格式。
步骤302,确定与当前的业务场景对应的目标模型,其中,目标模型为应用如前所述的模型训练方法生成的。
在本申请实施例中,目标模型可以是应用本申请实施例的模型训练方法生成的。由于离线训练流程中生成的目标模型会推送给在线处理系统,因此服务器在获取到数据推荐请求之后,则可以根据当前的业务场景获取适合于当前的业务场景的目标模型,用于实现当前业务场景的数据推荐。
需要说明的是,如图2所示的在线处理系统,还包括Operation扩展模块与Tensorflow静态库模块,用于保证离线训练生成的目标模型在在线处理流程中的正常使用。其中Operation扩展模块将离线模型训练中所有需要用到的算子,在静态库编译前以编译文件的形式加载到在线处理系统中,以保证编译的静态库符合预期并可供在线处理系统使用。Tensorflow静态库模块通过结合离线模型的网络结构,编写相应的编译文件,并将Tensorflow按照静态库的方式完成编译过程,以保证离线模型与在线处理流程的顺利链接。
步骤303,利用目标模型,对目标用户的数据及各个候选数据进行处理,以获取目标用户与每个候选数据的关联度。
其中,候选数据,可以是指根据数据推荐请求获取的、待向目标用户推荐的数据。比如,可以是如图2所示的候选池中根据目标用户的数据预筛选或预召回的数据。
在本申请实施例中,确定出与当前的业务场景对应的目标模型之后,即可以将目标用户的数据与各个候选数据输入目标模型,以使目标模型输出目标用户与每个候选数据的关联度。
举例来说,如图2所示的在线处理系统中的Worker线程,可以通过特征生成模块将目标用户的数据与每个候选数据的特征进行结合,以生成与每个候选数据对应的、与训练样本样式相同的特征数据,进而将与每个候选数据对应的特征数据输入目标模型进行在线预测,以生成目标用户与每个候选数据的关联度。
步骤304,根据目标用户与每个候选数据的关联度,确定待推荐数据。
在本申请实施例中,确定出目标用户与每个候选数据的关联度之后,可以将与目标用户的关联度较大的候选数据,确定为待推荐数据。
作为一种可能的实现方式,可以预设待推荐数据的数量,从而可以将预设数量的关联度最大的候选数据,确定为待推荐数据。
作为另一种可能的实现方式,还可以预设关联度阈值,从而可以将与目标用户的关联度大于关联度阈值的各候选数据,确定为待推荐数据。
作为再一种可能的实现方式,还可以同时预设待推荐数据的数量和关联度阈值,假设预设数量为M,则在与目标用户的关联度大于关联度阈值的候选数据的数量小于M时,可以将与目标用户的关联度大于关联度阈值的候选数据,确定为待推荐数据;在在与目标用户的关联度大于关联度阈值的候选数据的数量大于或等于M时,可以将与目标用户的关联度最大的M个候选数据,确定为待推荐数据。
需要说明的是,确定待推荐数据的方式可以包括但不限于以上列举的情形。实际使用时,可以根据实际需要及具体的应用场景,选取确定待推荐数据的方式,本申请实施例对此不做限定。
本申请实施例提供的个性化数据推荐方法,通过在获取到数据推荐请求时,从按照前述模型训练方法生成的模型中选取与当前的业务场景对应的目标模型,确定目标用户与各个候选数据的关联度,进而根据目标用户与各个候选数据的关联度,从各个候选数据中选取待推荐数据。由此,通过在训练样本不足时,分别依次训练模型在多个业务场景中的性能,并在训练模型在一个业务场景中的性能的过程中,仅着重修正对该业务场景的性能较重要的参数,并使得已训练好的参数保持稳定,从而通过分层次的利用多域数据信息,对个性化数据推荐模型进行充分训练,提升了个性化数据推荐的泛化能力和准确性。
在本申请一种可能的实现形式中,在线处理系统还可以在获取到离线训练模块推送的目标模型时,对目标模型的时效性进行校验,以保证在线处理系统中加载的模型的时效性,进一步提升个性化数据推荐的准确性。
下面结合图5,对本申请实施例提供的个性化数据推荐方法进行进一步说明。
图5为本申请实施例所提供的另一种个性化数据推荐方法的流程示意图。
如图5所示,该个性化数据推荐方法,包括以下步骤:
步骤401,获取数据推荐请求,其中,推荐请求中包括目标用户的数据及当前的业务场景。
上述步骤401的具体实现过程及原理,可以参照上述实施例的详细描述,此处不再赘述。
步骤402,获取模型更新消息,其中,更新消息中包括第一模型的模型文件及第二校验码。
其中,模型更新消息,可以用于指示在线处理系统获取到离线模型训练模块推送的模型。
其中,第一模型,是指离线模型训练模块当前向在线处理系统推送的模型。
其中,第二校验码,是指根据第一模型生成的校验码。
在本申请实施例中,在线处理系统在获取到模型更新消息时,可以确定当前获取到离线模型训练模块推送的已训练完成的模型,从而可以对模型更新消息进行解析处理,以确定离线模型训练模块当前推送的第一模型的模型文件及其对应的第二校验码,以通过第二校验码校验第一模型的时效性。
进一步的,由于不同的业务场景可以训练不同的模型并推送给在线处理系统,因此在模型校验时,可以根据当前的业务场景确定第二模型与第三校验码。即在本申请实施例一种可能的实现形式中,上述模型更新消息中还可以包括第一模型对应的业务场景;相应的,上述步骤402之后,还可以包括:
根据第一模型对应的业务场景,确定对应的已加载的第二模型及第三校验码。
在本申请实施例中,在模型更新消息中包含第一模型对应的业务场景时,还可以根据在线处理系统中已加载的各模型对应的业务场景,将业务场景与模型更新消息中的业务场景相同的模型确定为第二模型,并将其对应的校验码确定为第三校验码;或者将最后一次加载的、业务场景与模型更新消息中的业务场景相同的模型确定为第二模型,并将其对应的校验码确定为第三校验码。
步骤403,在第二校验码与第二模型的第三校验码不同的情况下,加载第一模型的模型文件,其中,第二模型为已加载的模型。
其中,第二模型可以是在线处理系统中已加载的所有模型,也可以是在线处理系统中最新加载的模型,本申请实施例对此不做限定。
其中,第三校验码,是指根据第二模型生成的校验码。
在本申请实施例中,由于离线模型训练模块可以按照预设的频次向在线处理系统推送最新生成的模型,但是在两个推送时刻之间可能并未生成新的模型,从而导致离线模型训练模块可能多次向在线处理系统推送相同的模型。因此,在线处理系统在加载第一模型的模型文件之前,可以首先对第一模型的模型文件的时效性进行校验,以确定第一模型的模型文件是否是未获取到的新的模型文件。
具体的,在线处理系统可以获取系统中已加载的第二模型,并将在第二校验码与第二模型的第三校验码不同时,确定第一模型的模型文件为在线处理系统未加载的新的模型文件,从而可以加载第一模型的模型文件;若第二校验码与任一个第二模型的第三校验码相同,则可以确定第一模型的模型文件为在线处理系统已经加载的模型文件,从而无需再次加载第一模型的模型文件,以避免在线处理系统重复加载过时的模型文件,不仅保证了在线处理系统加载的模型文件的时效性,而且提升了在线处理系统的处理效率。
举例来说,如图2所示,可以通过在线处理系统中的更新线程完成第一模型的校验和加载工作。其中,模型校验模块对离线模型训练模块推送的第一模型进行校验,以保证每次推送的模型文件是基于最新的训练样本进行训练得到的结果。之后,固化加载模块按照一定的时间间隔检测推送至在线处理系统的模型文件,当发现固化后的模型文件更新时,即开始执行加载过程。
步骤404,在第一模型的模型文件完成加载的情况下,将系统中的模型更新标识位置为有效状态。
步骤405,利用第一模型替换第二模型。
在本申请实施例中,在第一模型的模型文件加载完成后,可以将系统中的模型更新标识位置为有效状态,以指示在线处理系统新的模型文件已经加载到内存中,并利用第一模型替换第二模型,从而完成在线处理系统中的模型更新过程。如图2所示,模型更新过程可以由在线处理系统中的模型更新模块完成,并且更新线程和Worker线程可以并行处理,以缩减线上耗时,满足个性化数据推荐低延迟的要求。
步骤406,确定与当前的业务场景对应的目标模型,其中,目标模型为应用如前所述的模型训练方法生成的。
步骤407,利用目标模型,对目标用户的数据及各个候选数据进行处理,以获取目标用户与每个候选数据的关联度。
步骤408,根据目标用户与每个候选数据的关联度,确定待推荐数据。
上述步骤406-408的具体实现过程及原理,可以参照上述实施例的详细描述,此处不再赘述。
本申请实施例提供的个性化数据推荐方法,通过在获取模型更新消息时,对获取到的第一模型的模型文件的时效性进行校验,并在第一模型的第二校验码与已加载的第二模型的第三校验码不同的情况下,加载第一模型的模型文件,以及在第一模型的模型文件完成加载的情况下,将系统中的模型更新标识位置为有效状态,以利用第一模型替换第二模型,选取与当前的业务场景对应的目标模型,确定目标用户与各个候选数据的关联度,进而根据目标用户与各个候选数据的关联度,从各个候选数据中选取待推荐数据。由此,通过在获取到离线模型训练模块推送的模型时,根据模型的校验码校验模型的时效性,以仅加载最新的模型,从而不仅通过分层次的利用多域数据信息,对个性化数据推荐模型进行充分训练,提升了个性化数据推荐的泛化能力和准确性,而且避免了在线处理系统重复加载过时的模型文件,不仅保证了在线处理系统加载的模型文件的时效性,而且提升了在线处理系统的处理效率。
为了实现上述实施例,本申请还提出一种模型训练装置。
图6为本申请实施例提供的一种模型训练装置的结构示意图。
如图6所示,该模型训练装置50,包括:
第一获取模块51,用于获取第一训练样本集、参考模型及参考模型对应的参考损失函数,其中,参考模型是基于第二训练样本集训练生成的模型;
第一确定模块52,用于根据参考损失函数,确定参考模型中的各个第一模型参数的权重;
构建模块53,用于基于参考损失函数及参考模型中的各个第一模型参数的权重,构建目标损失函数;
训练模块54,用于基于目标损失函数及第一训练样本集,对参考模型进行训练,以获取目标模型。
在实际使用时,本申请实施例提供的模型训练装置,可以被配置在任意电子设备中,以执行前述模型训练方法。
本申请实施例提供的模型训练装置,通过根据已经基于第二训练样本集训练生成的参考模型对应的参考损失函数,确定参考模型中的各个第一模型参数的权重,并基于参考损失函数及参考模型中的各个第一模型参数的权重,构建目标损失函数,进而基于目标损失函数及第一训练样本集,对参考模型进行进一步训练,以获取目标模型。由此,通过在训练样本不足时,分别依次训练模型在多个业务场景中的性能,并在训练模型在一个业务场景中的性能的过程中,仅着重修正对该业务场景的性能较重要的参数,并使得已训练好的参数保持稳定,从而通过分层次的利用多域数据信息,对个性化数据推荐模型进行充分训练,提升了个性化数据推荐的泛化能力和准确性。
在本申请一种可能的实现形式中,上述第一确定模块52,包括:
第一确定单元,用于确定每个第一模型参数改变预设的值时,参考损失函数的值的变化幅度;
第二确定单元,用于根据参考损失函数的值的变化幅度,确定每个第一模型参数的权重。
进一步的,在本申请另一种可能的实现形式中,上述构建模块53,包括:
第三确定单元,用于根据每个第一模型参数的权重,确定目标损失函数中与每个第一模型参数对应的第二模型参数的关联系数值;
修正单元,用于基于每个第二模型参数的关联系数值,利用各个第二模型参数对参考损失函数进行修正,以生成目标损失函数。
进一步的,在本申请再一种可能的实现形式中,上述第一获取模块51,包括:
第一获取单元,用于获取第一训练样本集对应的业务场景;
第二获取单元,用于根据第一训练样本集对应的业务场景,获取参考模型及参考模型对应的参考损失函数。
进一步的,在本申请又一种可能的实现形式中,上述模型训练装置50,还包括:
生成模块,用于根据目标模型,生成第一校验码;
推送模块,用于将第一校验码及目标模型推送给在线处理系统,以使在线处理系统根据第一校验码对目标模型的时效性进行校验。
需要说明的是,前述对图1、图3所示的模型训练方法实施例的解释说明也适用于该实施例的模型训练装置50,此处不再赘述。
本申请实施例提供的模型训练装置,通过根据第一训练样本集对应的业务场景,获取参考模型及参考模型对应的参考损失函数,并根据参考损失函数,确定参考模型中的各个第一模型参数的权重,以及基于参考损失函数及参考模型中的各个第一模型参数的权重,构建目标损失函数,之后基于目标损失函数及第一训练样本集,对参考模型进行训练,以获取目标模型,进而根据目标模型,生成第一校验码,并将第一校验码及目标模型推送给在线处理系统,以使在线处理系统根据第一校验码对目标模型的时效性进行校验。由此,通过根据具体的业务场景进行模型选型,并在模型训练完成之后生成校验码对模型的时效性进行标识,从而不仅在训练样本不足时通过分层次的利用多域数据信息,对个性化数据推荐模型进行充分训练,提升了个性化数据推荐的泛化能力和准确性,而且通过根据业务场景预先进行模型选型,进一步提升了个性化数据推荐的适用性,以及提升了模型更新的时效性。
为了实现上述实施例,本申请还提出一种模型训练装置。
图7为本申请实施例提供的一种个性化数据推荐装置的结构示意图。
如图7所示,该个性化数据推荐装置60,包括:
第二获取模块61,用于获取数据推荐请求,其中,推荐请求中包括目标用户的数据及当前的业务场景;
第二确定模块62,用于确定与当前的业务场景对应的目标模型,其中,目标模型为应用如前所述的模型训练方法生成的;
第三获取模块63,用于利用目标模型,对目标用户的数据及各个候选数据进行处理,以获取目标用户与每个候选数据的关联度;
第三确定模块64,用于根据目标用户与每个候选数据的关联度,确定待推荐数据。
在实际使用时,本申请实施例提供的个性化数据推荐装置,可以被配置在任意电子设备中,以执行前述个性化数据推荐方法。
本申请实施例提供的个性化数据推荐装置,通过在获取到数据推荐请求时,从按照前述模型训练方法生成的模型中选取与当前的业务场景对应的目标模型,确定目标用户与各个候选数据的关联度,进而根据目标用户与各个候选数据的关联度,从各个候选数据中选取待推荐数据。由此,通过在训练样本不足时,分别依次训练模型在多个业务场景中的性能,并在训练模型在一个业务场景中的性能的过程中,仅着重修正对该业务场景的性能较重要的参数,并使得已训练好的参数保持稳定,从而通过分层次的利用多域数据信息,对个性化数据推荐模型进行充分训练,提升了个性化数据推荐的泛化能力和准确性。
在本申请一种可能的实现形式中,上述个性化数据推荐装置60,还包括:
第四获取模块,用于获取模型更新消息,其中,更新消息中包括第一模型的模型文件及第二校验码;
加载模块,用于在第二校验码与第二模型的第三校验码不同的情况下,加载第一模型的模型文件,其中,第二模型为已加载的模型。
进一步的,在本申请另一种可能的实现形式中,上述更新消息中还包括第一模型对应的业务场景;相应的,上述个性化数据推荐装置60,还包括:
第四确定模块,用于根据第一模型对应的业务场景,确定对应的已加载的第二模型及第三校验码。
进一步的,在本申请再一种可能的实现形式中,上述个性化数据推荐装置60,还包括:
更新模块,用于在第一模型的模型文件完成加载的情况下,将系统中的模型更新标识位置为有效状态;
替换模块,用于利用第一模型替换第二模型。
需要说明的是,前述对图4、图5所示的模型训练方法实施例的解释说明也适用于该实施例的模型训练装置60,此处不再赘述。
本申请实施例提供的模型训练装置,通过在获取模型更新消息时,对获取到的第一模型的模型文件的时效性进行校验,并在第一模型的第二校验码与已加载的第二模型的第三校验码不同的情况下,加载第一模型的模型文件,以及在第一模型的模型文件完成加载的情况下,将系统中的模型更新标识位置为有效状态,以利用第一模型替换第二模型,选取与当前的业务场景对应的目标模型,确定目标用户与各个候选数据的关联度,进而根据目标用户与各个候选数据的关联度,从各个候选数据中选取待推荐数据。由此,通过在获取到离线模型训练模块推送的模型时,根据模型的校验码校验模型的时效性,以仅加载最新的模型,从而不仅通过分层次的利用多域数据信息,对个性化数据推荐模型进行充分训练,提升了个性化数据推荐的泛化能力和准确性,而且避免了在线处理系统重复加载过时的模型文件,不仅保证了在线处理系统加载的模型文件的时效性,而且提升了在线处理系统的处理效率。
为了实现上述实施例,本申请还提出一种电子设备。
图8为本发明一个实施例的电子设备的结构示意图。
如图8所示,上述电子设备200包括:
存储器210及处理器220,连接不同组件(包括存储器210和处理器220)的总线230,存储器210存储有计算机程序,当处理器220执行所述程序时实现本申请实施例所述的模型训练方法或个性化数据推荐方法。
总线230表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备200典型地包括多种电子设备可读介质。这些介质可以是任何能够被电子设备200访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器210还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)240和/或高速缓存存储器250。电子设备200可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统260可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线230相连。存储器210可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块270的程序/实用工具280,可以存储在例如存储器210中,这样的程序模块270包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块270通常执行本申请所描述的实施例中的功能和/或方法。
电子设备200也可以与一个或多个外部设备290(例如键盘、指向设备、显示器291等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口292进行。并且,电子设备200还可以通过网络适配器293与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器293通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器220通过运行存储在存储器210中的程序,从而执行各种功能应用以及数据处理。
需要说明的是,本实施例的电子设备的实施过程和技术原理参见前述对本申请实施例的模型训练方法或个性化数据推荐方法的解释说明,此处不再赘述。
本申请实施例提供的电子设备,可以执行如前所述的模型训练方法或个性化数据推荐方法,通过根据已经基于第二训练样本集训练生成的参考模型对应的参考损失函数,确定参考模型中的各个第一模型参数的权重,并基于参考损失函数及参考模型中的各个第一模型参数的权重,构建目标损失函数,进而基于目标损失函数及第一训练样本集,对参考模型进行进一步训练,以获取目标模型。由此,通过在训练样本不足时,分别依次训练模型在多个业务场景中的性能,并在训练模型在一个业务场景中的性能的过程中,仅着重修正对该业务场景的性能较重要的参数,并使得已训练好的参数保持稳定,从而通过分层次的利用多域数据信息,对个性化数据推荐模型进行充分训练,提升了个性化数据推荐的泛化能力和准确性。
为了实现上述实施例,本申请还提出一种计算机可读存储介质。
其中,该计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,以实现本申请实施例所述的模型训练方法或个性化数据推荐方法。
为了实现上述实施例,本申请再一方面实施例提供一种计算机程序,该程序被处理器执行时,以实现本申请实施例所述的模型训练方法或个性化数据推荐方法。
一种可选实现形式中,本实施例可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户电子设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (18)
1.一种模型训练方法,其特征在于,包括:
获取第一训练样本集、参考模型及所述参考模型对应的参考损失函数,其中,所述参考模型是基于第二训练样本集训练生成的模型,所述第一训练样本集和所述第二训练样本集属于不同的业务场景,所述第一训练样本集为应用程序的用户在使用第一功能的历史使用数据,所述第二训练样本集为所述应用程序的用户的历史使用数据;
根据所述参考损失函数,确定所述参考模型中的各个第一模型参数的权重,其中,所述第一模型参数的权重反映所述第一模型参数发生变化时,对所述参考模型的性能的影响程度;
基于所述参考损失函数及所述参考模型中的各个第一模型参数的权重,构建目标损失函数;
基于所述目标损失函数及所述第一训练样本集,对所述参考模型进行训练,以获取目标模型;
其中,所述根据所述参考损失函数,确定所述参考模型中的各个第一模型参数的权重,包括:
确定每个第一模型参数改变预设的值时,所述参考损失函数的值的变化幅度;
根据所述参考损失函数的值的变化幅度,确定每个第一模型参数的权重。
2.如权利要求1所述的方法,其特征在于,所述基于所述参考损失函数及所述参考模型中的各个第一模型参数的权重,构建目标损失函数,包括:
根据每个第一模型参数的权重,确定所述目标损失函数中与每个第一模型参数对应的第二模型参数的关联系数值;
基于每个第二模型参数的关联系数值,利用各个第二模型参数对所述参考损失函数进行修正,以生成所述目标损失函数。
3.如权利要求1所述的方法,其特征在于,所述获取第一训练样本、参考模型及所述参考模型对应的参考损失函数,包括:
获取第一训练样本集对应的业务场景;
根据所述第一训练样本集对应的业务场景,获取参考模型及所述参考模型对应的参考损失函数。
4.如权利要求1-3任一所述的方法,其特征在于,在所述获取目标模型之后,还包括:
根据所述目标模型,生成第一校验码;
将所述第一校验码及所述目标模型推送给在线处理系统,以使所述在线处理系统根据所述第一校验码对所述目标模型的时效性进行校验。
5.一种个性化数据推荐方法,其特征在于,包括:
获取数据推荐请求,其中,所述推荐请求中包括目标用户的数据及当前的业务场景;
确定与所述当前的业务场景对应的目标模型,其中,所述目标模型为应用如权利要求1-4任一所述的模型训练方法生成的;
利用所述目标模型,对所述目标用户的数据及各个候选数据进行处理,以获取所述目标用户与每个候选数据的关联度;
根据所述目标用户与每个候选数据的关联度,确定待推荐数据。
6.如权利要求5所述的方法,其特征在于,在所述确定与所述当前的业务场景对应的目标模型之前,还包括:
获取模型更新消息,其中,所述更新消息中包括第一模型的模型文件及第二校验码;
在所述第二校验码与第二模型的第三校验码不同的情况下,加载所述第一模型的模型文件,其中,所述第二模型为已加载的模型。
7.如权利要求6所述的方法,其特征在于,所述更新消息中还包括所述第一模型对应的业务场景,在所述获取模型更新消息之后,还包括:
根据所述第一模型对应的业务场景,确定对应的已加载的第二模型及第三校验码。
8.如权利要求6或7所述的方法,其特征在于,在所述加载所述第一模型的模型文件之后,还包括:
在所述第一模型的模型文件完成加载的情况下,将系统中的模型更新标识位置为有效状态;
利用所述第一模型替换所述第二模型。
9.一种模型训练装置,其特征在于,包括:
第一获取模块,用于获取第一训练样本集、参考模型及所述参考模型对应的参考损失函数,其中,所述参考模型是基于第二训练样本集训练生成的模型,所述第一训练样本集和所述第二训练样本集属于不同的业务场景,所述第一训练样本集为应用程序的用户在使用第一功能的历史使用数据,所述第二训练样本集为所述应用程序的用户的历史使用数据;
第一确定模块,用于根据所述参考损失函数,确定所述参考模型中的各个第一模型参数的权重,其中,所述第一模型参数的权重反映所述第一模型参数发生变化时,对所述参考模型的性能的影响程度;
构建模块,用于基于所述参考损失函数及所述参考模型中的各个第一模型参数的权重,构建目标损失函数;
训练模块,用于基于所述目标损失函数及所述第一训练样本集,对所述参考模型进行训练,以获取目标模型;
所述第一确定模块,包括:
第一确定单元,用于确定每个第一模型参数改变预设的值时,所述参考损失函数的值的变化幅度;
第二确定单元,用于根据所述参考损失函数的值的变化幅度,确定每个第一模型参数的权重。
10.如权利要求9所述的装置,其特征在于,所述构建模块,包括:
第三确定单元,用于根据每个第一模型参数的权重,确定所述目标损失函数中与每个第一模型参数对应的第二模型参数的关联系数值;
修正单元,用于基于每个第二模型参数的关联系数值,利用各个第二模型参数对所述参考损失函数进行修正,以生成所述目标损失函数。
11.如权利要求9所述的装置,其特征在于,所述第一获取模块,包括:
第一获取单元,用于获取第一训练样本集对应的业务场景;
第二获取单元,用于根据所述第一训练样本集对应的业务场景,获取参考模型及所述参考模型对应的参考损失函数。
12.如权利要求9-11任一所述的装置,其特征在于,还包括:
生成模块,用于根据所述目标模型,生成第一校验码;
推送模块,用于将所述第一校验码及所述目标模型推送给在线处理系统,以使所述在线处理系统根据所述第一校验码对所述目标模型的时效性进行校验。
13.一种个性化数据推荐装置,其特征在于,包括:
第二获取模块,用于获取数据推荐请求,其中,所述推荐请求中包括目标用户的数据及当前的业务场景;
第二确定模块,用于确定与所述当前的业务场景对应的目标模型,其中,所述目标模型为应用如权利要求1-4任一所述的模型训练方法生成的;
第三获取模块,用于利用所述目标模型,对所述目标用户的数据及各个候选数据进行处理,以获取所述目标用户与每个候选数据的关联度;
第三确定模块,用于根据所述目标用户与每个候选数据的关联度,确定待推荐数据。
14.如权利要求13所述的装置,其特征在于,还包括:
第四获取模块,用于获取模型更新消息,其中,所述更新消息中包括第一模型的模型文件及第二校验码;
加载模块,用于在所述第二校验码与第二模型的第三校验码不同的情况下,加载所述第一模型的模型文件,其中,所述第二模型为已加载的模型。
15.如权利要求14所述的装置,其特征在于,所述更新消息中还包括所述第一模型对应的业务场景,所述装置,还包括:
第四确定模块,用于根据所述第一模型对应的业务场景,确定对应的已加载的第二模型及第三校验码。
16.如权利要求14或15所述的装置,其特征在于,还包括:
更新模块,用于在所述第一模型的模型文件完成加载的情况下,将系统中的模型更新标识位置为有效状态;
替换模块,用于利用所述第一模型替换所述第二模型。
17.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4中任一所述的模型训练方法或权利要求5-8中任一所述的个性化数据推荐方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-4中任一所述的模型训练方法或权利要求5-8中任一所述的个性化数据推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011402172.3A CN112597356B (zh) | 2020-12-02 | 2020-12-02 | 模型训练方法、个性化数据推荐方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011402172.3A CN112597356B (zh) | 2020-12-02 | 2020-12-02 | 模型训练方法、个性化数据推荐方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112597356A CN112597356A (zh) | 2021-04-02 |
CN112597356B true CN112597356B (zh) | 2023-09-05 |
Family
ID=75188027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011402172.3A Active CN112597356B (zh) | 2020-12-02 | 2020-12-02 | 模型训练方法、个性化数据推荐方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597356B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485848B (zh) * | 2021-09-08 | 2021-12-17 | 深圳思谋信息科技有限公司 | 深度神经网络部署方法、装置、计算机设备和存储介质 |
CN114707041B (zh) * | 2022-04-11 | 2023-12-01 | 中国电信股份有限公司 | 消息推荐方法、装置、计算机可读介质及电子设备 |
CN115497573B (zh) * | 2022-09-02 | 2023-05-19 | 广东省科学院生态环境与土壤研究所 | 一种炭基生物地质催化材料性质预测与制备方法 |
CN115423559B (zh) * | 2022-09-06 | 2024-05-14 | 湖南恒达讯飞科技有限公司 | 一种基于虚拟vr技术的家居产品线上展览展示方法 |
CN117540828B (zh) * | 2024-01-10 | 2024-06-04 | 中国电子科技集团公司第十五研究所 | 作训科目推荐模型训练方法、装置、电子设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108821A (zh) * | 2017-12-29 | 2018-06-01 | 广东欧珀移动通信有限公司 | 模型训练方法及装置 |
CN108875776A (zh) * | 2018-05-02 | 2018-11-23 | 北京三快在线科技有限公司 | 模型训练方法和装置、业务推荐的方法和装置、电子设备 |
EP3506185A1 (en) * | 2017-12-29 | 2019-07-03 | Guangdong Oppo Mobile Telecommunications Corp., Ltd | Method for training model and information recommendation system |
CN111027714A (zh) * | 2019-12-11 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 基于人工智能的对象推荐模型训练方法、推荐方法及装置 |
CN111046959A (zh) * | 2019-12-12 | 2020-04-21 | 上海眼控科技股份有限公司 | 模型训练方法、装置、设备和存储介质 |
CN111582500A (zh) * | 2020-05-07 | 2020-08-25 | 支付宝(杭州)信息技术有限公司 | 一种提高模型训练效果的方法和系统 |
CN111950593A (zh) * | 2020-07-13 | 2020-11-17 | 华为技术有限公司 | 一种推荐模型训练的方法及装置 |
-
2020
- 2020-12-02 CN CN202011402172.3A patent/CN112597356B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108821A (zh) * | 2017-12-29 | 2018-06-01 | 广东欧珀移动通信有限公司 | 模型训练方法及装置 |
EP3506185A1 (en) * | 2017-12-29 | 2019-07-03 | Guangdong Oppo Mobile Telecommunications Corp., Ltd | Method for training model and information recommendation system |
CN108875776A (zh) * | 2018-05-02 | 2018-11-23 | 北京三快在线科技有限公司 | 模型训练方法和装置、业务推荐的方法和装置、电子设备 |
CN111027714A (zh) * | 2019-12-11 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 基于人工智能的对象推荐模型训练方法、推荐方法及装置 |
CN111046959A (zh) * | 2019-12-12 | 2020-04-21 | 上海眼控科技股份有限公司 | 模型训练方法、装置、设备和存储介质 |
CN111582500A (zh) * | 2020-05-07 | 2020-08-25 | 支付宝(杭州)信息技术有限公司 | 一种提高模型训练效果的方法和系统 |
CN111950593A (zh) * | 2020-07-13 | 2020-11-17 | 华为技术有限公司 | 一种推荐模型训练的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112597356A (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112597356B (zh) | 模型训练方法、个性化数据推荐方法、装置及电子设备 | |
CN110612538B (zh) | 生成输入数据项的离散潜在表示 | |
CN107766940B (zh) | 用于生成模型的方法和装置 | |
US10885111B2 (en) | Generating cross-domain data using variational mapping between embedding spaces | |
US11257507B2 (en) | Speech coding using content latent embedding vectors and speaker latent embedding vectors | |
US11562245B2 (en) | Neural network model generation and distribution with client feedback | |
US11488067B2 (en) | Training machine learning models using teacher annealing | |
US11360927B1 (en) | Architecture for predicting network access probability of data files accessible over a computer network | |
WO2021094920A1 (en) | Fusing multimodal data using recurrent neural networks | |
US10885332B2 (en) | Data labeling for deep-learning models | |
CN111340220B (zh) | 用于训练预测模型的方法和装置 | |
CN111046298B (zh) | 推送应用程序的方法、装置、计算机设备和存储介质 | |
CN106407381A (zh) | 一种基于人工智能的推送信息的方法和装置 | |
CN116601644A (zh) | 使用分布式分类账提供可解释的机器学习模型结果 | |
CN112182281B (zh) | 一种音频推荐方法、装置及存储介质 | |
CN110807693A (zh) | 专辑的推荐方法、装置、设备和存储介质 | |
CN114826947A (zh) | 一种基于自动编码器的流量矩阵恢复预测方法及系统 | |
CN110232000B (zh) | 数据存储管理方法及装置 | |
CN116030115B (zh) | 应用于ai的视觉设计图像分析方法及系统 | |
CN105593853A (zh) | 服务器装置、客户端装置、信息处理方法和记录介质 | |
CN114580790A (zh) | 生命周期阶段预测和模型训练方法、装置、介质及设备 | |
CN115017362A (zh) | 数据处理方法、电子设备及存储介质 | |
US11734602B2 (en) | Methods and systems for automated feature generation utilizing formula semantification | |
US20190377566A1 (en) | Alerting an offline user of a predicted computer file update | |
US20230169354A1 (en) | Annotation of a Machine Learning Pipeline with Operational Semantics to Support Distributed Lineage Tracking |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone, 100176 Applicant after: Jingdong Technology Holding Co.,Ltd. Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone, 100176 Applicant before: Jingdong Digital Technology Holding Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |