专利名称:推荐模型训练方法、装置、终端设备及存储介质
专利类型:实用新型专利
专利申请号:CN202011382255.0
专利申请(专利权)人:平安科技(深圳)有限公司
权利人地址:广东省深圳市福田区福田街道福安社区益田路5033号平安金融中心23楼
专利发明(设计)人:王健宗,李泽远,朱星华
专利摘要:本申请适用于人工智能技术领域,提供了一种推荐模型训练方法、装置、终端设备及存储介质,该方法包括:根据模型训练指令查询目标推荐模型;根据模型训练标签查询训练参与对象,对训练参与对象进行状态检测,根据状态检测结果对训练参与对象进行筛选;将目标推荐模型发送至训练参与对象进行模型训练,对训练参与对象中模型训练后的模型参数进行参数聚合得到聚合参数,根据聚合参数对目标推荐模型进行参数更新;若参数更新后的目标推荐模型满足收敛条件,则将参数更新后的目标推荐模型输出。本申请通过训练参与对象的状态检测结果进行对象筛选,以去除忙碌状态下的训练参与对象,提高了目标推荐模型训练的准确性。此外,本申请还涉及区块链技术。
主权利要求:
1.一种推荐模型训练方法,其特征在于,包括:
接收模型训练指令,并根据所述模型训练指令查询目标推荐模型;
根据所述模型训练指令中的模型训练标签查询训练参与对象,对查询到的所述训练参与对象进行状态检测,并根据状态检测结果对所述训练参与对象进行筛选,所述模型训练标签用于表征所述目标推荐模型的类型;
将所述目标推荐模型发送至筛选后的所述训练参与对象进行模型训练,并分别获取筛选后的所述训练参与对象对所述目标推荐模型训练后的模型参数;
对获取到的所述模型参数进行参数聚合,得到聚合参数,并根据所述聚合参数对所述目标推荐模型进行参数更新;
若参数更新后的所述目标推荐模型满足收敛条件,则将参数更新后的所述目标推荐模型输出;
所述根据所述模型训练指令中的模型训练标签查询训练参与对象,对查询到的所述训练参与对象进行状态检测,并根据状态检测结果对所述训练参与对象进行筛选,包括:根据所述模型训练指令中的模型训练标签进行对象查询,得到所述训练参与对象,并分别获取所述训练参与对象的使用状态,所述使用状态包括对应所述训练参与对象的空闲时间和空闲内存;
获取所述模型训练指令中预设的模型训练条件,并根据所述模型训练条件和所述训练参与对象的使用状态对所述训练参与对象进行筛选,所述模型训练条件用于判断所述训练参与对象的使用状态是否能参与所述目标推荐模型的训练;
所述根据所述模型训练条件和所述训练参与对象的使用状态对所述训练参与对象进行筛选,包括:若所述训练参与对象的空闲时间小于所述模型训练条件中的预设时间,或所述训练参与对象的空闲内存小于所述模型训练条件中的预设内存,则删除所述训练参与对象;
所述根据所述模型训练指令查询目标推荐模型,包括:
获取所述模型训练指令中的用户信息,所述用户信息包括用户考试成绩或用户课程信息;
计算所述用户信息与不同预设推荐类别之间的匹配得分,所述匹配得分用于表征所述用户信息与所述预设推荐类别之间的匹配程度;
根据最大所述匹配得分对应的所述预设推荐类别进行模型查询,得到所述目标推荐模型。
2.根据权利要求1所述的推荐模型训练方法,其特征在于,所述将所述目标推荐模型发送至筛选后的所述训练参与对象进行模型训练,并分别获取筛选后的所述训练参与对象对所述目标推荐模型训练后的模型参数,包括:获取所述目标推荐模型的初始参数,并将所述初始参数分别发送至筛选后的所述训练参与对象;
分别指示所述训练参与对象根据所述初始参数构建本地模型,并分别指示所述训练参与对象对所述本地模型进行模型训练,直至所述本地模型收敛;
若所述本地模型收敛,则获取收敛后所述本地模型的模型参数。
3.根据权利要求1所述的推荐模型训练方法,其特征在于,所述根据所述聚合参数对所述目标推荐模型进行参数更新之后,还包括:根据更新后的所述目标推荐模型的模型训练标签查询所述训练参与对象,对查询到的所述训练参与对象进行状态检测,并根据状态检测结果对所述训练参与对象进行筛选;
将更新后的所述目标推荐模型发送至筛选后的所述训练参与对象进行模型训练,并分别获取筛选后的所述训练参与对象中的模型参数;
对获取到的所述模型参数进行参数聚合,得到聚合参数,并根据所述聚合参数对更新后的所述目标推荐模型进行参数更新,直至参数更新后的所述目标推荐模型满足收敛条件,则将参数更新后的所述目标推荐模型输出。
4.根据权利要求1所述的推荐模型训练方法,其特征在于,所述根据所述聚合参数对所述目标推荐模型进行参数更新,包括:根据所述聚合参数对所述目标推荐模型中的网络权重进行更新,并根据预设的测试集数据对权重更新后的所述目标推荐模型进行模型测试,得到模型损失值;
若所述模型损失值小于损失阈值,则判定权重更新后的所述目标推荐模型满足所述收敛条件。
5.一种推荐模型训练装置,其特征在于,包括:
模型查询单元,用于接收模型训练指令,并根据所述模型训练指令查询目标推荐模型;
对象筛选单元,用于根据所述模型训练指令中的模型训练标签查询训练参与对象,对查询到的所述训练参与对象进行状态检测,并根据状态检测结果对所述训练参与对象进行筛选,所述模型训练标签用于表征所述目标推荐模型的类型;
模型参数获取单元,用于将所述目标推荐模型发送至筛选后的所述训练参与对象进行模型训练,并分别获取筛选后的所述训练参与对象对所述目标推荐模型训练后的模型参数;
参数聚合单元,用于对获取到的所述模型参数进行参数聚合,得到聚合参数,并根据所述聚合参数对所述目标推荐模型进行参数更新;
模型输出单元,用于若参数更新后的所述目标推荐模型满足收敛条件,则将参数更新后的所述目标推荐模型输出;
所述对象筛选单元,还用于根据所述模型训练指令中的模型训练标签进行对象查询,得到所述训练参与对象,并分别获取所述训练参与对象的使用状态,所述使用状态包括对应所述训练参与对象的空闲时间和空闲内存;获取所述模型训练指令中预设的模型训练条件,并根据所述模型训练条件和所述训练参与对象的使用状态对所述训练参与对象进行筛选,所述模型训练条件用于判断所述训练参与对象的使用状态是否能参与所述目标推荐模型的训练;
所述对象筛选单元,还用于若所述训练参与对象的空闲时间小于所述模型训练条件中的预设时间,或所述训练参与对象的空闲内存小于所述模型训练条件中的预设内存,则删除所述训练参与对象;
所述模型查询单元,还用于获取所述模型训练指令中的用户信息,所述用户信息包括用户考试成绩或用户课程信息;计算所述用户信息与不同预设推荐类别之间的匹配得分,所述匹配得分用于表征所述用户信息与所述预设推荐类别之间的匹配程度;根据最大所述匹配得分对应的所述预设推荐类别进行模型查询,得到所述目标推荐模型。
6.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述方法的步骤。
7.一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述方法的步骤。 说明书 : 推荐模型训练方法、装置、终端设备及存储介质技术领域[0001] 本申请涉及人工智能领域,尤其涉及一种推荐模型训练方法、装置、终端设备及存储介质。背景技术[0002] 近年来,“人工智能”成为媒体和社交的高频词,尤其是在教育领域,人工智能教育机器人一出现就吸引了不少家长的目光,人工智能教育机器人可以和孩子随时随地地自由对话,甚至还能中英双语无障碍翻译。由于现在人工智能教育机器人设备规模已经达到了千万个,面对用户量的暴增,现阶段的教育机器人还存在很多缺陷,如存在用户信息被窃取、接收信息慢、答非所问、操作失灵等问题,降低了用户的体验度,加之现代社会的教育体系越来越注重学生的素质教育,更关注学生的全面发展、个性发展,所以在面对拥有不同的兴趣爱好和性格特征的学生时,人工智能教育机器人如何以一种安全可靠的方式进行模型的快速训练,为每个用户进行个性化的学习计划推荐定制是一个亟待解决的问题。因此,联邦学习技术应运而生。[0003] 联邦学习在进行推荐模型训练的同时,能有效的保障每个用户的隐私,但现有的联邦学习使用过程中,是基于预先设定的训练参与对象对推荐模型进行联邦训练,当预先设定的训练参与对象处于忙碌状态时,不能有效的进行模型训练和模型参数的反馈,进而导致推荐模型的联邦训练效率低下。发明内容[0004] 有鉴于此,本申请实施例提供了一种推荐模型训练方法、装置、终端设备及存储介质,以解决现有技术的推荐模型进行联邦训练过程中,由于预先设定的训练参与对象处于忙碌状态不能有效的进行模型训练和模型参数反馈,所导致的推荐模型的联邦训练效率低下的问题。[0005] 本申请实施例的第一方面提供了一种推荐模型训练方法,包括:[0006] 接收模型训练指令,并根据所述模型训练指令查询目标推荐模型;[0007] 根据所述模型训练指令中的模型训练标签查询训练参与对象,对查询到的所述训练参与对象进行状态检测,并根据状态检测结果对所述训练参与对象进行筛选,所述模型训练标签用于表征所述目标推荐模型的类型;[0008] 将所述目标推荐模型发送至筛选后的所述训练参与对象进行模型训练,并分别获取筛选后的所述训练参与对象中的模型参数;[0009] 对获取到的所述模型参数进行参数聚合,得到聚合参数,并根据所述聚合参数对所述目标推荐模型进行参数更新;[0010] 若参数更新后的所述目标推荐模型满足收敛条件,则将参数更新后的所述目标推荐模型输出。[0011] 进一步地,所述根据所述模型训练指令中的模型训练标签查询训练参与对象,对查询到的所述训练参与对象进行状态检测,并根据状态检测结果对所述训练参与对象进行筛选,包括:[0012] 根据所述模型训练指令中的模型训练标签进行对象查询,得到所述训练参与对象,并分别获取所述训练参与对象的使用状态,所述使用状态包括对应所述训练参与对象的空闲时间和空闲内存;[0013] 获取所述模型训练指令中预设的模型训练条件,并根据所述模型训练条件和所述训练参与对象的使用状态对所述训练参与对象进行筛选,所述模型训练条件用于判断所述训练参与对象的使用状态是否能参与所述目标推荐模型的训练。[0014] 进一步地,所述根据所述模型训练条件和所述训练参与对象的使用状态对所述训练参与对象进行筛选,包括:[0015] 若所述训练参与对象的空闲时间小于所述模型训练条件中的预设时间,或所述训练参与对象的空闲内存小于所述模型训练条件中的预设内存,则删除所述训练参与对象。[0016] 进一步地,所述将所述目标推荐模型发送至筛选后的所述训练参与对象进行模型训练,并分别获取筛选后的所述训练参与对象对所述目标推荐模型训练后的模型参数,包括:[0017] 获取所述目标推荐模型的初始参数,并将所述初始参数分别发送至筛选后的所述训练参与对象;[0018] 分别指示所述训练参与对象根据所述初始参数构建本地模型,并分别指示所述训练参与对象对所述本地模型进行模型训练,直至所述本地模型收敛;[0019] 若所述本地模型收敛,则获取收敛后所述本地模型的模型参数。[0020] 进一步地,所述根据所述聚合参数对所述目标推荐模型进行参数更新之后,还包括:[0021] 根据更新后的所述目标推荐模型的模型训练标签查询训练参与对象,对查询到的所述训练参与对象进行状态检测,并根据状态检测结果对所述训练参与对象进行筛选;[0022] 将更新后的所述目标推荐模型发送至筛选后的所述训练参与对象进行模型训练,并分别获取筛选后的所述训练参与对象中的模型参数;[0023] 对获取到的所述模型参数进行参数聚合,得到聚合参数,并根据所述聚合参数对更新后的所述目标推荐模型进行参数更新,直至参数更新后的所述目标推荐模型满足收敛条件,则将参数更新后的所述目标推荐模型输出。[0024] 进一步地,所述根据所述模型训练指令查询目标推荐模型,包括:[0025] 获取所述模型训练指令中的用户信息,所述用户信息包括用户考试成绩或用户课程信息;[0026] 计算所述用户信息与不同预设推荐类别之间的匹配得分,所述匹配得分用于表征所述用户信息与所述预设推荐类别之间的匹配程度;[0027] 根据最大所述匹配得分对应的所述预设推荐类别进行模型查询,得到所述目标推荐模型。[0028] 进一步地,所述根据所述聚合参数对所述目标推荐模型进行参数更新,包括:[0029] 根据所述聚合参数对所述目标推荐模型中的网络权重进行更新,并根据预设的测试集数据对权重更新后的所述目标推荐模型进行模型测试,得到模型损失值;[0030] 若所述模型损失值小于损失阈值,则判定权重更新后的所述目标推荐模型满足所述收敛条件。[0031] 本申请实施例的第二方面提供了一种推荐模型训练装置,包括:[0032] 模型查询单元,用于接收模型训练指令,并根据所述模型训练指令查询目标推荐模型;[0033] 对象筛选单元,用于根据所述模型训练指令中的模型训练标签查询训练参与对象,对查询到的所述训练参与对象进行状态检测,并根据状态检测结果对所述训练参与对象进行筛选,所述模型训练标签用于表征所述目标推荐模型的类型;[0034] 模型参数获取单元,用于将所述目标推荐模型发送至筛选后的所述训练参与对象进行模型训练,并分别获取筛选后的所述训练参与对象对所述目标推荐模型训练后的模型参数;[0035] 参数聚合单元,用于对获取到的所述模型参数进行参数聚合,得到聚合参数,并根据所述聚合参数对所述目标推荐模型进行参数更新;[0036] 模型输出单元,用于若参数更新后的所述目标推荐模型满足收敛条件,则将参数更新后的所述目标推荐模型输出。[0037] 本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在终端设备上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方案提供的推荐模型训练方法的各步骤。[0038] 本申请实施例的第四方面提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方案提供的推荐模型训练方法的各步骤。[0039] 本申请实施例提供的一种推荐模型训练方法、装置、终端设备及存储介质具有以下有益效果:由于模型训练标签用于表征目标推荐模型的类型,因此,通过根据模型训练指令中的模型训练标签查询训练参与对象,能有效查询到与目标推荐模型的类型相匹配的训练参与对象,进而提高了训练参与对象对目标推荐模型训练的准确性,通过对查询到的训练参与对象进行状态检测,并根据状态检测结果对训练参与对象进行筛选,能有效的去除忙碌状态下的训练参与对象,防止了由于训练参与对象处于忙碌状态不能有效的进行模型训练和模型参数反馈,所导致的目标推荐模型联邦训练效率低下的现象,通过对获取到的模型参数进行参数聚合得到聚合参数,能有效的将不同训练参与对象中模型训练后的模型参数聚合为参数信息,进而方便了对目标推荐模型的参数更新。附图说明[0040] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。[0041] 图1是本申请实施例提供的一种推荐模型训练方法的实现流程图;[0042] 图2是本申请另一实施例提供的一种推荐模型训练方法的实现流程图;[0043] 图3是本申请另一实施例提供的一种推荐模型训练方法的实现流程图;[0044] 图4是本申请实施例提供的一种推荐模型训练装置的结构框图;[0045] 图5是本申请实施例提供的一种终端设备的结构框图。具体实施方式[0046] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。[0047] 本申请实施例所涉及的推荐模型训练方法,可以由控制设备或终端(以下称“移动终端”)执行。[0048] 请参阅图1,图1示出了本申请实施例提供的一种推荐模型训练方法的实现流程图,包括:[0049] 步骤S10,接收模型训练指令,并根据所述模型训练指令查询目标推荐模型。[0050] 其中,该模型训练指令中存储有模型标识,通过将模型训练指令中存储的模型标识与模型查询表进行匹配,以得到该目标推荐模型,该模型查询表中存储有不同模型标识与对应目标推荐模型之间的对应关系。[0051] 可选的,该步骤中,所述根据所述模型训练指令查询目标推荐模型,包括:[0052] 获取所述模型训练指令中的用户信息,其中,该用户信息包括用户考试成绩或用户课程信息,该用户考试成绩包括用户在指定时间内的考试成绩,该考试成绩中的考试类型可以根据需求进行设置,例如,该用户考试成绩包括用户期末考试中的数学成绩、语文成绩、英语成绩或历史成绩等,该用户课程信息包括用户在指定时间内不同类型课程对应的学习时间,例如,该用户课程信息包括用户在上学期中语文课程对应的学习时间、数据课程对应的学习时间或英语课程对应的学习时间等。[0053] 计算所述用户信息与不同预设推荐类别之间的匹配得分,其中,该匹配得分用于表征用户信息与预设推荐类别之间的匹配程度,具体的,该步骤中,通过获取该用户信息的信息标签,并将获取到的信息标签分别与不同预设推荐类别的信息标签进行匹配,以得到该用户信息与不同预设推荐类别之间的匹配得分,该预设推荐类别可以根据需求进行设置,本实施例中的预设推荐类别包括学习计划推荐类别、辅导班报名类别和复习资料购买类别。[0054] 根据最大所述匹配得分对应的所述预设推荐类别进行模型查询,得到所述目标推荐模型,其中,本实施例中预存储有参数查询表,该参数查询表中存储不同预设推荐类别与对应模型参数之间的对应关系,因此,通过将最大匹配得分对应的预设推荐类别与参数查询表进行匹配,并根据查询到的模型参数进行模型构建,得到该目标推荐模型,本实施例中,当最大匹配得分对应的预设推荐类别是学习计划推荐类别时,则对应构建得到的目标推荐模型用于对用户进行学习计划的推荐,当最大匹配得分对应的预设推荐类别是辅导班报名类别时,则对应构建得到的目标推荐模型用于对用户进行辅导班报名的推荐,当最大匹配得分对应的预设推荐类别是复习资料购买类别时,则对应构建得到的目标推荐模型用于对用户进行复习资料购买的推荐。[0055] 步骤S20,根据所述模型训练指令中的模型训练标签查询训练参与对象,对查询到的所述训练参与对象进行状态检测,并根据状态检测结果对所述训练参与对象进行筛选。[0056] 其中,该模型训练标签用于表征该目标推荐模型的类型,通过根据模型训练指令中的模型训练标签查询训练参与对象,能有效查询到与目标推荐模型的类型相匹配的训练参与对象,进而提高了训练参与对象对目标推荐模型训练的准确性。[0057] 可选的,该步骤中,通过检测该训练参与对象的使用状态、剩余内存或空闲时间的大小,以达到对该训练参与对象的状态检测效果,并通过根据状态检测结果对训练参与对象进行筛选,以去除忙碌状态下的训练参与对象,进而提高了后续对目标推荐模型的训练效率。[0058] 例如,当检测到训练参与对象正执行模型训练任务、剩余内存小于预设内存或空闲时间小于预设时间时,判定该训练参与对象处于忙碌状态,并删除忙碌状态下的训练参与对象,防止了由于训练参与对象处于忙碌状态不能有效的进行模型训练和模型参数反馈,所导致的目标推荐模型联邦训练效率低下的现象。[0059] 步骤S30,将所述目标推荐模型发送至筛选后的所述训练参与对象进行模型训练,并分别获取筛选后的所述训练参与对象对所述目标推荐模型训练后的模型参数。[0060] 其中,通过将目标推荐模型发送至筛选后的训练参与对象进行模型训练,使得不同训练参与对象基于自身的数据对同一个目标推荐模型进行模型训练,以达到联邦学习的效果,防止了训练参与对象上数据的泄露。[0061] 具体的,该步骤中,通过分别获取筛选后的训练参与对象对目标推荐模型训练后的模型参数,以得到不同训练参与对象基于自身的数据对目标推荐模型进行模型训练后的模型参数。[0062] 例如,该步骤中,筛选后的训练参与对象包括训练参与对象a1、训练参与对象a2和训练参与对象a3,训练参与对象a1、训练参与对象a2和训练参与对象a3分别对目标检测模型进行模型训练后得到的模型参数为模型参数b1、模型参数b2和模型参数b3。[0063] 可选的,该步骤中,所述将所述目标推荐模型发送至筛选后的所述训练参与对象进行模型训练,并分别获取筛选后的所述训练参与对象对所述目标推荐模型训练后的模型参数,包括:[0064] 获取所述目标推荐模型的初始参数,并将所述初始参数分别发送至筛选后的所述训练参与对象,其中,通过将初始参数分别发送至筛选后的训练参与对象,有效的提高了后续训练参与对象上本地模型构建的准确性。[0065] 分别指示所述训练参与对象根据所述初始参数构建本地模型,并分别指示所述训练参与对象对所述本地模型进行模型训练,直至所述本地模型收敛,其中,在不同训练参与对象中的本地模型与该目标推荐模型的初始参数相同,且不同训练参与对象之间构建的本地模型的模型参数均相同,进而保障了不同训练参与对象分别对相同的本地模型进行模型训练,由于本地模型与该目标推荐模型的初始参数相同,通过分别指示所述训练参与对象对所述本地模型进行模型训练,从而可以得到不同训练参与对象对目标推荐模型进行训练后的模型参数。[0066] 若所述本地模型收敛,则获取收敛后所述本地模型的模型参数。[0067] 步骤S40,对获取到的所述模型参数进行参数聚合,得到聚合参数,并根据所述聚合参数对所述目标推荐模型进行参数更新。[0068] 其中,该参数聚合用于将获取到的不同模型参数聚合为一个模型参数,可选的,该步骤中,可以采用求平均值或中值等方式进行该模型参数的参数聚合,并通过根据聚合参数对目标推荐模型进行参数更新,以基于不同训练参与对象中的数据对目标推荐模型进行模型训练,达到了对该目标推荐模型的联邦训练效果,且防止了训练参与对象数据的泄露。[0069] 可选的,该步骤中,所述根据所述聚合参数对所述目标推荐模型进行参数更新,包括:[0070] 根据所述聚合参数对所述目标推荐模型中的网络权重进行更新,并根据预设的测试集数据对权重更新后的所述目标推荐模型进行模型测试,得到模型损失值,其中,通过根据聚合参数对目标推荐模型中的网络权重进行参数替换,以达到对目标推荐模型更新的效果,并通过根据预设的测试集数据对权重更新后的目标推荐模型进行模型测试,以测试参数更新后目标推荐模型的准确性,该模型损失值是参数更新后目标推荐模型输出的推荐结果与标准结果之间的误差,当该模型损失值越大,则参数更新后的目标推荐模型准确性较低,当该模型损失值越小,则参数更新后的目标推荐模型准确性较高。[0071] 若所述模型损失值小于损失阈值,则判定权重更新后的所述目标推荐模型满足所述收敛条件,其中,该损失阈值可以根据需求进行设置,该损失阈值用于检测参数更新后的目标推荐模型是否收敛,即当模型损失值小于损失阈值,则判定该模型损失值对应的目标推荐模型收敛。[0072] 步骤S50,若参数更新后的所述目标推荐模型满足收敛条件,则将参数更新后的所述目标推荐模型输出。[0073] 本实施例中,由于模型训练标签用于表征目标推荐模型的类型,因此,通过根据模型训练指令中的模型训练标签查询训练参与对象,能有效查询到与目标推荐模型的类型相匹配的训练参与对象,进而提高了训练参与对象对目标推荐模型训练的准确性,通过对查询到的训练参与对象进行状态检测,并根据状态检测结果对训练参与对象进行筛选,能有效的去除忙碌状态下的训练参与对象,防止了由于训练参与对象处于忙碌状态不能有效的进行模型训练和模型参数反馈,所导致的目标推荐模型联邦训练效率低下的现象,通过对获取到的模型参数进行参数聚合得到聚合参数,能有效的将不同训练参与对象中模型训练后的模型参数聚合为参数信息,进而方便了对目标推荐模型的参数更新。[0074] 请参阅图2,图2是本申请另一实施例提供的一种推荐模型训练方法的实现流程图。本实施例提供的推荐模型训练方法是对图1对应的实施例中步骤S30的进一步细化,包括:[0075] 步骤S31,根据所述模型训练指令中的模型训练标签进行对象查询,得到所述训练参与对象,并分别获取所述训练参与对象的使用状态。[0076] 其中,该使用状态包括对应训练参与对象的空闲时间、空闲内存和响应时间,当查询到的对应的训练参与对象时,分别向不同的训练参与对象发送状态查询指令,并接收训练参与对象对该状态查询指令的响应信息。[0077] 该步骤中,根据接收到该响应信息的时间得到该响应时间,并获取该响应信息中存储的空闲时间和空闲内存,基于该响应时间、空闲时间和空闲内存以得到对应训练参与对象的使用状态。[0078] 步骤S32,获取所述模型训练指令中预设的模型训练条件,并根据所述模型训练条件和所述训练参与对象的使用状态对所述训练参与对象进行筛选。[0079] 其中,该模型训练指令中预设的模型训练条件可以根据用户需求进行设置,该模型训练条件用于判断训练参与对象的使用状态是否能参与目标推荐模型的训练。[0080] 具体的,该步骤中,所述根据所述模型训练条件和所述训练参与对象的使用状态对所述训练参与对象进行筛选,包括:[0081] 若所述训练参与对象的空闲时间小于所述模型训练条件中的预设时间,或所述训练参与对象的空闲内存小于所述模型训练条件中的预设内存,则删除所述训练参与对象。[0082] 可选的,该步骤中,若所述训练参与对象的响应时间大于响应阈值,则删除所述训练参与对象。[0083] 本实施例中,通过根据模型训练标签进行对象查询,以获取与目标推荐模型相匹配的训练参与对象,提高了目标推荐模型训练的准确性,通过分别获取训练参与对象的使用状态,并根据模型训练条件和训练参与对象的使用状态对训练参与对象进行筛选,能有效的去除忙碌状态下的训练参与对象,防止了由于训练参与对象处于忙碌状态不能有效的进行模型训练和模型参数反馈,所导致的目标推荐模型联邦训练效率低下的现象。[0084] 请参阅图3,图3是本申请另一实施例提供的一种推荐模型训练方法的实现流程图。本实施例提供的推荐模型训练方法针对图1中步骤S40之后,还包括:[0085] 步骤S60,根据更新后的所述目标推荐模型的模型训练标签查询训练参与对象,对查询到的所述训练参与对象进行状态检测,并根据状态检测结果对所述训练参与对象进行筛选。[0086] 其中,通过根据更新后的目标推荐模型的模型训练标签查询训练参与对象,以重新查询对应的训练参与对象,提高了对更新后的目标推荐模型训练的准确性。[0087] 该步骤中,通过对查询到的训练参与对象进行状态检测,并根据状态检测结果对训练参与对象进行筛选,以防止由于训练参与对象处于忙碌状态不能有效的对更新后的目标推荐模型进行模型训练和模型参数反馈。[0088] 步骤S70,将更新后的所述目标推荐模型发送至筛选后的所述训练参与对象进行模型训练,并分别获取筛选后的所述训练参与对象中的模型参数。[0089] 其中,通过将更新后的目标推荐模型发送至筛选后的训练参与对象进行模型训练,以指示筛选后的训练参与对象基于自身数据分别对更新后的目标推荐模型再次进行模型的训练,以达到对更新后的目标推荐模型的联邦训练效果。[0090] 该步骤中,通过分别获取筛选后的训练参与对象中模型训练后的模型参数,以获取训练参与对象基于自身数据对更新后的目标推荐模型训练得到的模型参数。[0091] 步骤S80,对获取到的所述模型参数进行参数聚合,得到聚合参数,并根据所述聚合参数对更新后的所述目标推荐模型进行参数更新,直至参数更新后的所述目标推荐模型满足收敛条件,则将参数更新后的所述目标推荐模型输出。[0092] 其中,通过对获取到的模型参数进行参数聚合,得到聚合参数,并根据聚合参数对更新后的目标推荐模型进行参数更新,以达到对目标推荐模型迭代更新的效果。[0093] 本实施例中,通过根据更新后的目标推荐模型的模型训练标签查询训练参与对象,以重新查询对应的训练参与对象,提高了对更新后的目标推荐模型训练的准确性,通过分别获取筛选后的训练参与对象中模型训练后的模型参数,以获取训练参与对象基于自身数据对更新后的目标推荐模型训练得到的模型参数,通过对获取到的模型参数进行参数聚合,得到聚合参数,并根据聚合参数对更新后的目标推荐模型进行参数更新,以达到对目标推荐模型迭代更新的效果。[0094] 在本申请的所有实施例中,基于聚合参数对目标推荐模型进行参数更新得到参数更新后的目标推荐模型,具体来说,参数更新后的目标推荐模型由聚合参数对目标推荐模型进行参数更新得到。将参数更新后的目标推荐模型上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得到该参数更新后的目标推荐模型,以便查证参数更新后的目标推荐模型是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。[0095] 请参阅图4,图4是本申请实施例提供的一种推荐模型训练装置100的结构框图。本实施例中该推荐模型训练装置100包括的各单元用于执行图1、图2对应的实施例中的各步骤。具体请参阅图1、图2、图3以及图1、图2、图3所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图4,推荐模型训练装置100包括:模型查询单元10、对象筛选单元11、模型参数获取单元12和参数聚合单元13,其中:[0096] 模型查询单元10,用于接收模型训练指令,并根据所述模型训练指令查询目标推荐模型。[0097] 其中,模型查询单元10还用于:获取所述模型训练指令中的用户信息,所述用户信息包括用户考试成绩或用户课程信息;[0098] 计算所述用户信息与不同预设推荐类别之间的匹配得分,所述匹配得分用于表征所述用户信息与所述预设推荐类别之间的匹配程度;[0099] 根据最大所述匹配得分对应的所述预设推荐类别进行模型查询,得到所述目标推荐模型。[0100] 对象筛选单元11,用于根据所述模型训练指令中的模型训练标签查询训练参与对象,对查询到的所述训练参与对象进行状态检测,并根据状态检测结果对所述训练参与对象进行筛选,所述模型训练标签用于表征所述目标推荐模型的类型。[0101] 其中,该对象筛选单元11还用于:根据所述模型训练指令中的模型训练标签进行对象查询,得到所述训练参与对象,并分别获取所述训练参与对象的使用状态,所述使用状态包括对应所述训练参与对象的空闲时间和空闲内存;[0102] 获取所述模型训练指令中预设的模型训练条件,并根据所述模型训练条件和所述训练参与对象的使用状态对所述训练参与对象进行筛选,所述模型训练条件用于判断所述训练参与对象的使用状态是否能参与所述目标推荐模型的训练。[0103] 可选的,该对象筛选单元11还用于:若所述训练参与对象的空闲时间小于所述模型训练条件中的预设时间,或所述训练参与对象的空闲内存小于所述模型训练条件中的预设内存,则删除所述训练参与对象。[0104] 模型参数获取单元12,用于将所述目标推荐模型发送至筛选后的所述训练参与对象进行模型训练,并分别获取筛选后的所述训练参与对象对所述目标推荐模型训练后的模型参数。[0105] 其中,模型参数获取单元12还用于:获取所述目标推荐模型的初始参数,并将所述初始参数分别发送至筛选后的所述训练参与对象;[0106] 分别指示所述训练参与对象根据所述初始参数构建本地模型,并分别指示所述训练参与对象对所述本地模型进行模型训练,直至所述本地模型收敛;[0107] 若所述本地模型收敛,则获取收敛后所述本地模型的模型参数。[0108] 参数聚合单元13,用于对获取到的所述模型参数进行参数聚合,得到聚合参数,并根据所述聚合参数对所述目标推荐模型进行参数更新。[0109] 其中,参数聚合单元13还用于:根据更新后的所述目标推荐模型的模型训练标签查询训练参与对象,对查询到的所述训练参与对象进行状态检测,并根据状态检测结果对所述训练参与对象进行筛选;[0110] 将更新后的所述目标推荐模型发送至筛选后的所述训练参与对象进行模型训练,并分别获取筛选后的所述训练参与对象中的模型参数;[0111] 对获取到的所述模型参数进行参数聚合,得到聚合参数,并根据所述聚合参数对更新后的所述目标推荐模型进行参数更新,直至参数更新后的所述目标推荐模型满足收敛条件,则将参数更新后的所述目标推荐模型输出。[0112] 可选的,参数聚合单元13还用于:根据所述聚合参数对所述目标推荐模型中的网络权重进行更新,并根据预设的测试集数据对权重更新后的所述目标推荐模型进行模型测试,得到模型损失值;[0113] 若所述模型损失值小于损失阈值,则判定权重更新后的所述目标推荐模型满足所述收敛条件。[0114] 模型输出单元14,用于若参数更新后的所述目标推荐模型满足收敛条件,则将参数更新后的所述目标推荐模型输出。[0115] 本实施例中,由于模型训练标签用于表征目标推荐模型的类型,因此,通过根据模型训练指令中的模型训练标签查询训练参与对象,能有效查询到与目标推荐模型的类型相匹配的训练参与对象,进而提高了训练参与对象对目标推荐模型训练的准确性,通过对查询到的训练参与对象进行状态检测,并根据状态检测结果对训练参与对象进行筛选,能有效的去除忙碌状态下的训练参与对象,防止了由于训练参与对象处于忙碌状态不能有效的进行模型训练和模型参数反馈,所导致的目标推荐模型联邦训练效率低下的现象,通过对获取到的模型参数进行参数聚合得到聚合参数,能有效的将不同训练参与对象中模型训练后的模型参数聚合为参数信息,进而方便了对目标推荐模型的参数更新。[0116] 图5是本申请另一实施例提供的一种终端设备2的结构框图。如图5所示,该实施例的终端设备2包括:处理器20、存储器21以及存储在所述存储器21中并可在所述处理器20上运行的计算机程序22,例如推荐模型训练方法的程序。处理器20执行所述计算机程序23时实现上述各个推荐模型训练方法各实施例中的步骤,例如图1所示的S10至S50,或者图2所示的S31至S32,或者图3所示的S60至S80。或者,所述处理器20执行所述计算机程序22时实现上述图4对应的实施例中各单元的功能,例如,图4所示的单元10至13的功能,具体请参阅图5对应的实施例中的相关描述,此处不赘述。[0117] 示例性的,所述计算机程序22可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器21中,并由所述处理器20执行,以完成本申请。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序22在所述终端设备2中的执行过程。例如,所述计算机程序22可以被分割成模型查询单元10、对象筛选单元11、模型参数获取单元12和参数聚合单元13,各单元具体功能如上所述。[0118] 所述终端设备可包括,但不仅限于,处理器20、存储器21。本领域技术人员可以理解,图5仅仅是终端设备2的示例,并不构成对终端设备2的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。[0119] 所称处理器20可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field‑ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。[0120] 所述存储器21可以是所述终端设备2的内部存储单元,例如终端设备2的硬盘或内存。所述存储器21也可以是所述终端设备2的外部存储设备,例如所述终端设备2上配备的插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)等。进一步地,所述存储器21还可以既包括所述终端设备2的内部存储单元也包括外部存储设备。所述存储器21用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器21还可以用于暂时地存储已经输出或者将要输出的数据。[0121] 以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
专利地区:广东
专利申请日期:2020-12-01
专利公开日期:2024-07-26
专利公告号:CN112446507B