CN111582500A - 一种提高模型训练效果的方法和*** - Google Patents
一种提高模型训练效果的方法和*** Download PDFInfo
- Publication number
- CN111582500A CN111582500A CN202010375851.XA CN202010375851A CN111582500A CN 111582500 A CN111582500 A CN 111582500A CN 202010375851 A CN202010375851 A CN 202010375851A CN 111582500 A CN111582500 A CN 111582500A
- Authority
- CN
- China
- Prior art keywords
- model
- processing result
- training
- teacher
- loss function
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Image Analysis (AREA)
Abstract
本说明书实施例公开了一种提高模型训练效果的方法和***,包括:获取多个训练样本,训练样本包括训练样本数据和样本标签;将训练样本输入学生模型和至少一个老师模型,分别得到第一处理结果和至少一个第二处理结果;老师模型来自老师模型集合;动态确定至少一个老师模型中每一个对训练样本的重要性,并基于重要性对至少一个第二处理结果进行计算,确定融合处理结果;基于第一处理结果、样本标签和融合处理结果确定学生模型的第一损失函数;基于第一损失函数对学生模型的参数进行更新,并将参数更新后的学生模型加入老师模型集合作为一个新的老师模型;迭代多次完成学生模型的训练;学生模型训练后用于处理语音、图像或者文本数据。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种提高模型训练效果的方法和***。
背景技术
随着机器学习技术的发展,机器学习技术被广泛应用于多种应用场景中,如人脸识别、自然语言处理、数据挖掘、智能客服对话等应用场景。机器学习技术可以是指通过机器学习模型学习样本数据的内在规律和特征,使得训练的机器学习模型可以具有分析学习能力,能够识别文字、图像和语音等的技术。随着机器学习技术被广泛应用,用户对机器学习模型的能力要求也越来越高。
因此,有必要提供一种能够提高模型训练效果的方法。
发明内容
本说明书实施例的一个方面提供一种提高模型训练效果的方法,所述方法包括:获取多个训练样本,其中,所述训练样本包括训练样本数据和样本标签;将所述训练样本输入学生模型,得到第一处理结果,以及将所述训练样本输入至少一个老师模型,得到至少一个第二处理结果;所述老师模型来自老师模型集合;动态确定所述至少一个老师模型中每一个对所述训练样本的重要性,并基于所述重要性对所述至少一个第二处理结果进行计算,确定融合处理结果;基于所述第一处理结果、所述样本标签和所述融合处理结果确定所述学生模型的第一损失函数;基于所述第一损失函数对所述学生模型的参数进行更新,并将参数更新后的所述学生模型加入所述老师模型集合作为一个新的老师模型;迭代多次完成所述学生模型的训练;所述学生模型训练后用于处理语音、图像或者文本数据。
本说明书实施例的一个方面提供一种提高模型训练效果的***,所述***包括:获取模块,用于获取多个训练样本,其中,所述训练样本包括训练样本数据和样本标签;处理模块,用于将所述训练样本输入学生模型,得到第一处理结果,以及将所述训练样本输入至少一个老师模型,得到至少一个第二处理结果;所述老师模型来自老师模型集合;确定模块,动态确定所述至少一个老师模型中每一个对所述训练样本的重要性,并基于所述重要性对所述至少一个第二处理结果进行计算,确定融合处理结果;基于所述第一处理结果、所述样本标签和所述融合处理结果确定所述学生模型的第一损失函数;参数更新模块,用于基于所述第一损失函数对所述学生模型的参数进行更新,并将参数更新后的所述学生模型加入所述老师模型集合作为一个新的老师模型;迭代模块,用于迭代多次完成所述学生模型的训练;所述学生模型训练后用于处理语音、图像或者文本数据。
本说明书实施例的一个方面提供一种提高模型训练效果的装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现如上所述的方法。
附图说明
本说明书将以示例性实施例的方式进一步描述,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书的一些实施例所示的提高模型训练效果的***的示例性应用场景示意图;
图2是根据本说明书的一些实施例所示的提高模型训练效果方法的示例性流程图;
图3是根据本说明书的一些实施例所示的确定老师模型对训练样本的重要性的示例性流程图;
图4是根据本说明书的一些实施例所示的确定学生模型的第一损失函数的示例性示意图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本说明书中所使用的“***”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的***所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本说明书的一些实施例所示的提高模型训练效果的***的示例性应用场景示意图。
提高模型训练效果的***100可以通过实施本说明书披露的方法和/或过程,使得模型的训练过程更加平稳,解决训练震荡的问题,使得训练的模型可以达到更好的效果。
在一些实施例中,可以通过该***100训练任意模型。例如,可以用于训练智能客服领域的意图识别模型,该意图识别模型可以基于用户输入的问题获取用户的意图,即用户想要咨询哪个方面的内容,进一步的,智能客服机器人根据识别的意图为用户提供答案。又例如,可以用于训练图像识别领域的人脸识别模型,该人脸识别模型可以对用户的人脸进行识别,以通过人脸图像完成对用户身份的验证。又例如,可以用于训练语音处理领域的语音识别模型,该语音识别模型可以对用户的语音进行识别,获取用户语音文本,并对语音文本进行分析。
如图1所示,提高模型训练效果***100可以包括处理设备110、网络120、用户终端130和存储设备140。
在一些实施例中,处理设备110可以通过网络120访问存储于与数据库140和/或用户端130中的信息和/或资料。例如,处理设备可以通过网络120从存储设备140中获取训练样本、老师模型。又例如,处理设备110可以基于网络120从用户终端获取用户输入的数据,示例的,对于智能客服领域,获取的是用户输入的问题。
在一些实施例中,处理设备110可以用于处理与数据处理相关的信息和/或数据。在一些实施例中,处理设备110可用于处理与模型训练相关联的信息和/或数据来执行在本说明书中揭示的一个或者多个功能。例如,处理设备110可以将训练样本输入学生模型,得到第一处理结果,以及将训练样本输入至少一个老师模型,得到至少一个第二处理结果。又例如,处理设备110可以基于至少一个第二处理结果,确定融合处理结果。又例如,处理设备110可以基于第一处理结果、样本标签和融合处理结果确定学生模型的第一损失函数。又例如,处理设备110可以基于第一损失函数对学生模型的参数进行更新。在一些实施例中,处理设备110可用于处理与模型执行相关联的信息和/或数据来执行在本说明书中揭示的一个或者多个功能。例如,处理设备110可以将从用户终端130获取的数据输入训练好的学生模型中,得到输出的结果,示例的,对于智能客服领域,输出的是用户的意图。
在一些实施例中,处理设备110可以包括一个或多个处理引擎(例如,单核心处理引擎或多核心处理器)。仅作为范例,处理设备110可以包括中央处理器(CPU)、特定应用集成电路(ASIC)、专用指令集处理器(ASIP)、图像处理器(GPU)、微处理器等中的一种或多种组合。
在一些实施例中,网络120可促进数据和/或信息的交换,数据或信息可以包括用户端130输入的数据、数据库140中存储的训练样本、处理设备110训练得到的学生模型的参数、老师模型等。在一些实施例中,***100中的一个或多个组件(例如,处理设备110、用户端130、数据库140)可通过网络120发送数据和/或信息给***100中的其他组件。
在一些实施例中,网络120可以是任意类型的有线或无线网络。例如,网络120可包括缆线网络、有线网络、光纤网络、电信网络、内部网络、网际网络、区域网络(LAN)、广域网络(WAN)、无线区域网络(WLAN)、都会区域网络(MAN)等或以上任意组合。在一些实施例中,网络120可包括一个或多个网络进出点。例如,网络120可包含有线或无线网络进出点,如基站和/或网际网络交换点120-1、120-2、…,通过这些进出点***100的一个或多个组件可连接到网络120上以交换数据和/或信息。
在一些实施例中,用户终端130可以是带有数据获取、存储和/或发送功能的设备。所述计算设备可以包括手机130-1、平板电脑130-2、笔记本电脑130-3、台式计算机130-4等中的一种或其任意组合。在一些实施例中,用户终端130可以将获取到的数据发送至***100中的一个或多个设备。例如,用户终端130可以将获取到的数据传输至处理设备110或存储设备140。仅作为示例,对于智能客服领域,用户终端130获取到的数据可以是用户提出的问题。
存储设备140可以存储数据和/或指令。在一些实施例中,存储设备140可以存储从用户终端130获取的数据。在一些实施例中,存储设备140可以存储每个训练周期训练得到的模型。在一些实施例中,存储设备140可以存储训练数据。在一些实施例中,存储设备140可以与网络120连接实现与***100中的一个或多个部件(例如,处理设备110、用户终端130等)之间的通信。
在一些实施例中,存储设备140可以是处理设备110的一部分。在一些实施例中,存储设备120可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。在一些实施例中,存储设备120可以在云平台上实现。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,该***100中可以包括获取模块、处理模块、确定模块、参数更新模块以及迭代模块。
获取模块可以用于获取多个训练样本,其中,所述训练样本包括训练样本数据和样本标签。
处理模块,可以用于将所述训练样本输入学生模型,得到第一处理结果,以及将所述训练样本输入至少一个老师模型,得到至少一个第二处理结果;所述老师模型来自老师模型集合。
确定模块,可以用于基于所述至少一个第二处理结果,确定融合处理结果;基于所述第一处理结果、所述样本标签和所述融合处理结果确定所述学生模型的第一损失函数。在一些实施例中,所述确定模块可以用于基于所述训练样本,确定所述至少一个第二处理结果中每一个的权重,并对所述至少一个第二处理结果进行加权运算,得到所述融合处理结果。在一些实施例中,所述确定模块可以用于基于所述第一处理结果与所述至少一个第二处理结果中每一个的相似度,确定所述至少一个第二处理结果中每一个的所述权重。在一些实施例中,所述确定模块可以用于通过权重模型确定所述至少一个第二处理结果中每一个的所述权重。
在一些实施例中,所述确定模块进一步用于确定所述至少一个第二处理结果中每一个的权重,并对所述至少一个第二处理结果进行加权运算,得到所述融合处理结果。
在一些实施例中,所述确定模块进一步用于基于所述第一处理结果与所述至少一个第二处理结果中每一个的相似度,确定所述至少一个第二处理结果中每一个的所述权重。
在一些实施例中,所述确定模块进一步用于通过权重模型确定所述至少一个第二处理结果中每一个的所述权重。在一些实施例中,所述权重模型为神经网络模型,通过端到端的学习方式对所述学生模型和所述权重模型联合训练。
在一些实施例中,所述确定模块进一步用于确定模块进一步用于:基于所述第一处理结果与所述样本标签的差异,生成第二损失函数;基于所述第一处理结果与所述融合处理结果的差异,生成第三损失函数;对所述第二损失函数和所述第三损失函数加权求和,作为所述学生模型的第一损失函数。
参数更新模块,可以用于基于所述第一损失函数对所述学生模型的参数进行更新,并将参数更新后的所述学生模型加入所述老师模型集合作为一个新的老师模型。
迭代模块,可以用于迭代多次完成所述学生模型的训练;所述学生模型训练后用于处理语音、图像或者文本数据。
关于提高模型训练效果的***的各模块的具体描述,可以参考本说明书流程图部分,例如,图2至图4的相关说明,此处不再赘述。
应当理解,图1所示的***及其模块可以利用各种方式来实现。例如,在一些实施例中,***及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行***,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和***可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的***及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于提高模型训练效果***100及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该***的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子***与其他模块连接。例如,图1中披露的获取模块、处理模块、确定模块、参数更新模块以及迭代模块可以是一个***中的不同模块,也可以是一个模块实现上述的两个模块的功能。又例如,提高模型训练效果***100中各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
图2是根据本说明书的一些实施例所示的提高模型训练效果方法的示例性流程图。所述方法可以包括:
步骤202,获取多个训练样本,其中,所述训练样本包括训练样本数据和样本标签。具体地,步骤202可以由获取模块执行。
训练样本是指用于模型训练的数据。在一些实施例中,训练样本包括训练样本数据和样本标签。
在一些实施例中,训练样本数据可以是图像、文本或语音等各类数据。在一些实施例中,可以根据模型应用场景的不同,选取对应的训练样本数据。例如,若模型应用于图像识别,则训练样本数据为图像数据。
样本标签用于表征训练样本数据的某种真实信息。在一些实施例中,样本标签与模型的功能相关。例如,训练的模型是为了对输入的数据进行分类,则样本标签为训练样本数据的类别,如,图片是猫、狗、树或天空。
在一些实施方式中,样本标签的形式可以与模型的输出值相匹配。例如,输出值可以是一个概率分布,则标签的标注也可以为概率分布。若模型用于确定图片的类别,类别包括猫、狗、鸟,输出形如[X,Y,Z]的概率分布,其中,X表示图像为猫的概率,Y表示图像为狗的概率,Z表示图像为鸟的概率。当训练样本数据为猫的图像,则该图像的标签为[1,0,0];当训练样本数据为狗的图像,则该图像的标签为[0,1,0]。
在一些实施例中,训练样本数据的样本标签可以是线下人工标注,也可以是通过自动识别、统计等方式线上标注。
在一些实施例中,获取模块可以通过从存储设备140中直接读取的方式获取该训练样本,也可以调用相关接口或其他方式获取多个训练样本。
步骤204,将所述训练样本输入学生模型,得到第一处理结果,以及将所述训练样本输入至少一个老师模型,得到至少一个第二处理结果;所述老师模型来自老师模型集合。具体地,步骤204可以由处理模块执行。
学生模型可以是指任意需要训练的模型。在一些实施例中,学生模型可以是机器学习模型,例如,神经网络模型、深度学习模型等。
老师模型集合可以是由至少一个老师模型组成的集合。老师模型可以是指用于指导学生模型训练的模型。可以理解,学生模型即为老师-学生模型(Teacher-StudentFramework)中的学生模型,老师模型即为老师-学生模型中的老师模型。
在一些实施例中,老师模型与学生模型属于同一种模型,只是参数存在差异。在一些实施例中,老师模型可以是本次训练之前的,不同历史训练周期得到的模型。例如,学生模型为第三个训练周期得到的模型,本次训练属于第4个训练周期,则老师模型为第一训练周期得到的模型、第二训练周期得到的模型和第三训练周期得到模型。可以理解,若学生模型为未进行任何周期训练的模型时,老师模型集合为空集;若学生模型为经过第一训练周期得到的模型时,老师模型集合中包含一个老师模型,为第一训练周期得到的模型;若学生模型为经过第二训练周期得到的模型时,老师模型集合中包含两个老师模型,为第一训练周期得到的模型和第二训练周期得到的模型;以此类推。
第一处理结果可以为学生模型对训练样本中样本训练数据的预测结果。在一些实施例中,第一处理结果的输出形式可以是向量形式表示的概率分布。例如,继续沿用前述示例,第一处理结果可以为[0.3,0.4,0.3],向量中的数值分别对应图片属于猫、狗和鸟的概率。
第二处理结果可以为老师模型对训练样本中样本训练数据的预测结果。在一些实施例中,第二处理结果与第一处理结果的输出形式是相同的,即,第一处理结果为向量表示的概率分布,第二处理结果也可以是向量表示的概率分布。
在一些实施例中,可以将训练样本输入老师模型集合中的所有老师模型,得到对应的第二处理结果;也可以将训练样本输入老师模型集合中的部分老师模型,得到对应的第二处理结果。
步骤206,基于所述至少一个第二处理结果,确定融合处理结果。具体地,步骤206可以由确定模块执行。
在一些实施例中,融合处理结果与第二处理结果相关联,融合处理结果可以由第二处理结果进行运算得到,运算方式包括但不限于加权运算、平均计算、方差计算等。
在一些实施例中,可以确定至少一个老师模型中每一个对训练样本的重要性,并基于该重要性对至少一个第二处理结果进行计算,确定融合处理结果。
在一些实施例中,可以通过动态的方式确定老师模型对训练样本的重要性,例如,可以基于第一处理结果与第二处理结果的相似度来确定与输出该第二处理结果的老师模型对训练样本的重要性。相似度越高,对应的重要性越大;相似度越低,对应的重要性越小。
在一些实施例中,可以通过计算第一处理结果与第二处理结果之间的距离来确定相似度。其中,该距离可以包括但不限于余弦距离、欧式距离等。在一些实施例中,可以使用神经网络模型来计算第一处理结果与第二处理结果之间的相似度,并确定所述第二处理结果的重要性。关于确定第二处理结果的重要性的更多描述,可以参考图3及其相关描述,此处不再赘述。
根据上述可知,老师模型对训练样本的重要性是根据每个老师模型与该训练样本的处理结果确定的。对于同一个训练样本,若不同的老师模型的处理结果不同,则重要性就不同;针对不同的训练样本,若同一个的老师模型的处理结果不同,重要性也不同。可以理解,这是一个动态确定的过程,跟老师模型和训练数据均相关。
在一些实施例中,还可以通过静态的方式确定老师模型对训练样本的重要性,本说明书不做限制。例如,对训练样本重要性与老师模型的训练周期正相关。示例的,老师模型A为第一训练周期得到模型,老师模型B为第二训练周期得到的模型,第三模型C为第三训练周期得到的模型,则老师模型A的重要性<老师模型B的重要性<老师模型C的重要性。
进一步,在一些实施例中,可以基于老师模型对训练样本的重要性确定该老师模型输出的第二处理结果的权重,并基于每个第二处理结果及其权重进行计算,确定融合处理结果。其中,对训练样本的重要性越大的老师模型,其输出的第二处理结果的权重越大。例如,可以将老师模型对训练样本的重要性直接作为该老师模型输出的第二处理结果的权重。又例如,可以对重要性进行变换,例如,归一化、乘以相同的系数等,将变换后的结果作为权重。
在一些实施例中,可以按照不同的第二处理结果对应的权重,对至少一个第二处理结果进行加权运算得到融合处理结果。在一些实施例中,加权运算可以是加权求和。例如,假设有三个第二处理结果,其对应的权重分别为0.2,0.4,0.4,分别将第二处理结果乘以其对应的权重加权求和,求和过程为0.2*[0.3,0.4,0.3]+0.4*[0.3,0.3,0.4]+0.4*[0.3,0.3,0.4],经过计算得到融合处理结果为[0.3,0.32,0.38]。
老师模型对训练样本的重要性(或权重的大小)可以体现使用该训练样本训练时,老师模型在指导学生模型的训练时的影响程度。将至少一个第二处理结果按照不同权重进行加权运算,可以同时考虑到不同时间训练得到的多个老师模型对训练样本不同程度的影响,从而更好的利用老师模型指导学生模型进行训练,提高学生模型的训练效果。步骤208,基于所述第一处理结果、所述样本标签和所述融合处理结果确定所述学生模型的第一损失函数。具体地,步骤208可以由确定模块执行。
在一些实施例中,可以根据第一处理结果与融合处理结果的差异,以及第一处理结果与所述样本标签的差异来确定学生模型的第一损失函数。例如,若学生模型和老师模型输出形式为概率分布时,第一处理结果与融合处理结果的差异可以是指第一处理结果的概率分布与融合处理结果的概率分布的差异,第一处理结果与样本标签的差异可以是指第一处理结果的概率分布与样本标签的差异。
在一些实施例中,可以根据第一处理结果与样本标签的差异生成第二损失函数,根据第一处理结果与融合处理结果的差异生成第三损失函数,进一步的,基于第二损失函数与第三损失函数确定学生模型的第一损失函数。关于确定学生模型的第一损失函数的更多描述可以参考图4及其相关描述,此处不再赘述。
步骤210,基于所述第一损失函数对所述学生模型的参数进行更新。具体地,步骤210可以由参数更新模块执行。
在一些实施例中,可以通过最小化第一损失函数对学生模型进行训练,可以理解,在最小化第一损失函数过程中更新学生模型的参数,其中,参数可以是模型中层与层之间的连接权重w和输出层的偏置b。在一些实施例中,可以通过梯度下降法等常用方式最小化第一损失函数,进行模型的训练。
步骤212,将参数更新后的所述学生模型加入所述老师模型集合作为一个新的老师模型。具体地,步骤212可以由参数更新模块执行。
在一些实施例中,将参数更新后的学生模型加入老师模型集合作为一个新的老师模型。
在一些实施例中,可以通过多次迭代步骤202-212,完成所述学生模型的训练,其中,步骤202-212每执行一次可以作为一个训练周期。具体的,迭代多个训练周期进行学生模型的训练,直到训练得到的学生模型满足预设条件,迭代结束(即,训练结束),得到训练好的学生模型。预设条件可以为第一损失函数收敛或小于预设阈值,也可以是迭代次数达到预设次数,例如,100次、1000次、10000次等。
在一些实施例中,不同迭代过程,即不同训练周期,所用的训练样本可以相同,也可以不同。
在一些实施例中,训练后的学生模型可以用于处理语音、图像或者文本数据。例如,学生模型训练后可以用于语音识别、图像识别、文本语义分析等。
如前所述,老师模型是本次训练之前的历史训练周期得到的模型,即,老师模型是前N次迭代或前N个训练周期得到的模型。将老师模型输出的第二处理结果参与学生模型的第一损失函数的确定,可以实现老师模型影响或指导学生模型的训练。通过该方式训练学生模型,可以使学生模型的输出结果尽量与老师模型的输出结果靠近,从而使模型的训练不会出现特别大的震荡,训练过程更稳定,达到更好的效果。
图3是根据本说明书的一些实施例所示的确定老师模型对训练样本的重要性的示例性流程图。结合图3所示,确定老师模型对训练样本的重要性可以包括:
步骤302,将所述第一处理结果与所述至少一个第二处理结果中的每一个进行拼接处理,得到拼接处理结果。具体地,步骤302可以由确定模块执行。
所述拼接处理结果可以是第一处理结果的向量表示与第二处理结果的向量表示的拼接结果。例如,第一处理结果的向量表示为[1,0,0],第二处理结果的向量表示为[0,0,1],将第一处理结果与第二处理结果首尾相连后拼接得到拼接处理结果[1,0,0,0,0,1]。
在一些实施例中,当第二处理结果为多个时,拼接处理结果也为多个。如图3所示,多个拼接处理结果可以由第一处理结果分别与第二处理结果1、第二处理结果2、……、第二处理结果n进行拼接得到。
在一些实施例中,权重模型为神经网络模型,可以通过端到端的学习方式对学生模型和权重模型进行联合训练得到。采用端到端的学习方式,权重模型可以和学生模型一起训练,无需单独对权重模型进行训练,进而可以简化模型训练的过程,提高模型训练效率。所述神经网络模型的类型可以包括DNN、CNN、RNN等。
步骤304,将所述拼接处理结果输入所述权重模型,得到输出该第二处理结果的老师模型对训练样本的重要性。具体地,步骤304可以由确定模块执行。
在一些实施例中,将拼接处理结果输入权重模型后,权重模型的输出即为对应的老师模型对训练样本的重要性。其中,对应的老师模型是输出拼接用的第二处理结果的模型。如图3所述,将第一处理结果与第二处理结果1拼接得到的拼接处理结果输入权重模型后,输出老师模型1对训练样本1的重要性1,其中,第一处理结果是将训练样本1输入学生模型得到的结果,第二处理结果1是将训练样本1输入老师模型1得到的结果;将第一处理结果与第二处理结果2拼接得到的拼接处理结果输入权重模型后,输出老师模型2对训练样本1的重要性2,其中,第二处理结果2是将训练样本1输入老师模型2得到的结果。
在一些实施例中,老师模型对训练样本的重要性可以根据第一处理结果与第二处理结果的相似度确定。在一些实施例中,相似度越大,重要性越大。
在一些实施例中,权重模型可以通过计算第一处理结果和第二处理结果的距离,度量第一处理结果和第二处理结果的相似度,距离可以包括但不限于余弦距离、欧式距离等。
图4是根据本说明书的一些实施例所示的确定学生模型的第一损失函数的示例性示意图。结合图4所示,确定所述学生模型的第一损失函数可以包括:
步骤402,基于所述第一处理结果与所述样本标签的差异,生成第二损失函数。具体地,步骤402可以由确定模块执行。
损失函数可以是用来评价正在训练的神经网络得到的预测值和目标值之间的差异,其中,预测值是指将训练样本数据输入正在训练的神经网络得到的输出值。在一些实施例中,差异可以通过距离度量,距离可以是交叉熵、KL距离、JS距离等。
第二损失函数是指根据第一处理结果和样本标签的差异确定的损失函数。换言之,第二损失函数中的预测值可以是第一处理结果,目标值可以是训练样本数据的样本标签。
以距离为交叉熵确定的第二损失函数为例,第二损失函数可以为公式(1):
其中,L表示第二损失函数;Li表示单个训练样本第二损失函数;i表示第i个训练样本;N表示训练样本数量;c表示第c个类别;M表示类别数量;yic表示指示变量(0或1),如果第i个训练样本的样本标签与第c个类别相同,则为1,否则为0;pic为第i个训练样本的第一处理结果中第c个类别的概率值。
例如,以图像三分类为例,第i个训练样本的样本标签为[1,0,0],代表该图像的真实类别为猫。将该训练样本的第一处理结果为[0.4,0.3,0.3],其中,该概率分布表示该训练样本属于猫的概率为0.4,属于狗的概率为0.3,属于鸟的概率为0.3。则该训练样本的第二损失函数Li=-(1×log0.4+0×log0.3+0×log0.3)。
步骤404,基于所述第一处理结果与所述融合处理结果的差异,生成第三损失函数。具体地,步骤404可以由确定模块执行。
第三损失函数是根据第一处理结果与融合处理结果的差异确定的损失函数。换言之,第三损失函数中的预测值可以为第一处理结果,目标值可以为融合处理结果。
继续以距离为交叉熵建立第三损失函数为例,第三损失函数可以表示为公式(2):
其中,L′表示第三损失函数;Li’表示单个训练样本第三损失函数;i表示第i个训练样本;N表示训练样本数量;c表示第c个类别;M表示类别数量;yic表示第i个训练样本的融合处理结果中第c个类别的概率;pic为第i个训练样本的第一处理结果中第c个类别的概率值。
例如,以图像三分类为例,第i个训练样本的融合处理结果为[0.6,0.3,0.1]。将该训练样本的第一处理结果为[0.4,0.3,0.3],则该训练样本的第三损失函数Li′=-(0.6×log0.4+0.3×log0.3+0.1×log0.3)。
步骤406,对所述第二损失函数和所述第三损失函数加权求和,作为所述学生模型的第一损失函数。具体地,步骤406可以由确定模块执行。
在一些实施例中,可以将第二损失函数和第三损失函数按照不同的权重参数进行加权求和。第二损失函数的权重参数可以为λ,则第三损失函数的权重参数可以为1-λ。λ可以为0.5、0.6等。
在一些实施例中,可以根据经验确定第二损失函数和第三损失函数的权重。例如,将第二损失函数的权重大于第三损失函数的权重。
可以理解,在学生模型训练过程中,最小化该实施例构建的学生模型的第一损失函数,可以同时最小化第二损失函数和第三损失函数。
如前所述,第二损失函数代表的是训练样本真实标签和学生模型的预测结果的差异,可以理解,最小化第二损失函数,可以尽量使训练得到的学生模型的预测结果与真实标签靠近。第三损失函数代表的是学生模型的预测结果和融合处理结果的差异,其中,融合处理结果是通过老师模型的预测结果得到。可以理解,最小化第三损失函数,可以尽量使训练得到的学生模型的预测结果与老师模型的预测结果靠近,从而实现老师模型指导学生模型的训练,使学生模型的训练不会出现特别大的震荡,训练过程更稳定,达到更好的效果。
本说明书实施例例还提供一种装置,其至少包括处理器以及存储器。所述存储器用于存储指令。当所述指令被所述处理器执行时,导致所述装置实现前述的提高模型训练效果的方法。所述方法可以包括:可以获取多个训练样本,其中,所述训练样本包括训练样本数据和样本标签。可以将所述训练样本输入学生模型,得到第一处理结果,以及将所述训练样本输入至少一个老师模型,得到至少一个第二处理结果;所述老师模型来自老师模型集合。动态确定至少一个老师模型中每一个对训练样本的重要性,并基于重要性对至少一个第二处理结果进行计算,确定融合处理结果;基于所述第一处理结果、所述样本标签和所述融合处理结果确定所述学生模型的第一损失函数。可以基于所述第一损失函数对所述学生模型的参数进行更新,并将参数更新后的所述学生模型加入所述老师模型集合作为一个新的老师模型。可以迭代多次完成所述学生模型的训练;所述学生模型训练后用于处理语音、图像或者文本数据。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“***”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行***、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的***组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的***。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (11)
1.一种提高模型训练效果的方法,包括:
获取多个训练样本,其中,所述训练样本包括训练样本数据和样本标签;
将所述训练样本输入学生模型,得到第一处理结果,以及将所述训练样本输入至少一个老师模型,得到至少一个第二处理结果;所述老师模型来自老师模型集合;
动态确定所述至少一个老师模型中每一个对所述训练样本的重要性,并基于所述重要性对所述至少一个第二处理结果进行计算,确定融合处理结果;
基于所述第一处理结果、所述样本标签和所述融合处理结果确定所述学生模型的第一损失函数;
基于所述第一损失函数对所述学生模型的参数进行更新,并将参数更新后的所述学生模型加入所述老师模型集合作为一个新的老师模型;
迭代多次完成所述学生模型的训练;所述学生模型训练后用于处理语音、图像或者文本数据。
2.根据权利要求1所述的方法,所述动态确定所述至少一个老师模型中每一个对所述训练样本的重要性,并基于所述重要性对所述至少一个第二处理结果进行计算,确定融合处理结果,包括:
基于所述第一处理结果与所述至少一个第二处理结果中每一个的相似度,确定所述至少一个老师模型中每一个对所述训练样本的重要性;
基于所述重要性确定所述第二处理结果的权重;
基于所述权重对所述至少一个第二处理结果进行加权求和,得到所述融合处理结果。
3.根据权利要求2所述的方法,所述基于所述第一处理结果与所述至少一个第二处理结果中每一个的相似度,确定所述至少一个老师模型中每一个对所述训练样本的重要性,包括:
通过权重模型确定所述至少一个老师模型中每一个对所述训练样本的重要性。
4.根据权利要求3所述的方法,所述权重模型为神经网络模型,通过端到端的学习方式对所述学生模型和所述权重模型联合训练。
5.根据权利要求1所述的方法,所述基于所述第一处理结果、所述样本标签和所述融合处理结果确定所述学生模型的第一损失函数,包括:
基于所述第一处理结果与所述样本标签的差异,生成第二损失函数;
基于所述第一处理结果与所述融合处理结果的差异,生成第三损失函数;
对所述第二损失函数和所述第三损失函数加权求和,作为所述学生模型的第一损失函数。
6.一种提高模型训练效果的***,包括:
获取模块,用于获取多个训练样本,其中,所述训练样本包括训练样本数据和样本标签;
处理模块,用于将所述训练样本输入学生模型,得到第一处理结果,以及将所述训练样本输入至少一个老师模型,得到至少一个第二处理结果;所述老师模型来自老师模型集合;
确定模块,用于动态确定所述至少一个老师模型中每一个对所述训练样本的重要性,并基于所述重要性对所述至少一个第二处理结果进行计算,确定融合处理结果;以及基于所述第一处理结果、所述样本标签和所述融合处理结果确定所述学生模型的第一损失函数;
参数更新模块,用于基于所述第一损失函数对所述学生模型的参数进行更新,并将参数更新后的所述学生模型加入所述老师模型集合作为一个新的老师模型;
迭代模块,用于迭代多次完成所述学生模型的训练;所述学生模型训练后用于处理语音、图像或者文本数据。
7.根据权利要求6所述的***,所述确定模块进一步用于:
基于所述第一处理结果与所述至少一个第二处理结果中每一个的相似度,确定所述至少一个老师模型中每一个对所述训练样本的重要性;
基于所述重要性确定所述第二处理结果的权重;
基于所述权重对所述至少一个第二处理结果进行加权求和,得到所述融合处理结果。
8.根据权利要求7所述的***,所述确定模块进一步用于:
通过权重模型确定所述至少一个老师模型中每一个对所述训练样本的重要性。
9.根据权利要求8所述的***,所述权重模型为神经网络模型,通过端到端的学习方式对所述学生模型和所述权重模型联合训练。
10.根据权利要求6所述的***,所述确定模块进一步用于:
基于所述第一处理结果与所述样本标签的差异,生成第二损失函数;
基于所述第一处理结果与所述融合处理结果的差异,生成第三损失函数;
对所述第二损失函数和所述第三损失函数加权求和,作为所述学生模型的第一损失函数。
11.一种提高模型训练效果的装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现如权利要求1~5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010375851.XA CN111582500A (zh) | 2020-05-07 | 2020-05-07 | 一种提高模型训练效果的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010375851.XA CN111582500A (zh) | 2020-05-07 | 2020-05-07 | 一种提高模型训练效果的方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111582500A true CN111582500A (zh) | 2020-08-25 |
Family
ID=72122997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010375851.XA Pending CN111582500A (zh) | 2020-05-07 | 2020-05-07 | 一种提高模型训练效果的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111582500A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182362A (zh) * | 2020-08-31 | 2021-01-05 | 华为技术有限公司 | 训练用于在线预测点击率的模型的方法、设备及推荐*** |
CN112597356A (zh) * | 2020-12-02 | 2021-04-02 | 京东数字科技控股股份有限公司 | 模型训练方法、个性化数据推荐方法、装置及电子设备 |
CN113724740A (zh) * | 2021-08-30 | 2021-11-30 | 中国科学院声学研究所 | 音频事件检测模型训练方法及装置 |
CN114416936A (zh) * | 2021-12-27 | 2022-04-29 | 北京百度网讯科技有限公司 | 答案选择方法、答案选择模型的训练方法以及相关设备 |
CN114861671A (zh) * | 2022-04-11 | 2022-08-05 | 深圳追一科技有限公司 | 模型训练方法、装置、计算机设备及存储介质 |
CN115063875A (zh) * | 2022-08-16 | 2022-09-16 | 北京百度网讯科技有限公司 | 模型训练方法、图像处理方法、装置和电子设备 |
WO2023284808A1 (zh) * | 2021-07-15 | 2023-01-19 | 中兴通讯股份有限公司 | 模型训练方法、文本处理方法和装置、电子设备、介质 |
-
2020
- 2020-05-07 CN CN202010375851.XA patent/CN111582500A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182362A (zh) * | 2020-08-31 | 2021-01-05 | 华为技术有限公司 | 训练用于在线预测点击率的模型的方法、设备及推荐*** |
CN112597356A (zh) * | 2020-12-02 | 2021-04-02 | 京东数字科技控股股份有限公司 | 模型训练方法、个性化数据推荐方法、装置及电子设备 |
CN112597356B (zh) * | 2020-12-02 | 2023-09-05 | 京东科技控股股份有限公司 | 模型训练方法、个性化数据推荐方法、装置及电子设备 |
WO2023284808A1 (zh) * | 2021-07-15 | 2023-01-19 | 中兴通讯股份有限公司 | 模型训练方法、文本处理方法和装置、电子设备、介质 |
CN113724740A (zh) * | 2021-08-30 | 2021-11-30 | 中国科学院声学研究所 | 音频事件检测模型训练方法及装置 |
CN113724740B (zh) * | 2021-08-30 | 2024-03-08 | 中国科学院声学研究所 | 音频事件检测模型训练方法及装置 |
CN114416936A (zh) * | 2021-12-27 | 2022-04-29 | 北京百度网讯科技有限公司 | 答案选择方法、答案选择模型的训练方法以及相关设备 |
CN114861671A (zh) * | 2022-04-11 | 2022-08-05 | 深圳追一科技有限公司 | 模型训练方法、装置、计算机设备及存储介质 |
CN115063875A (zh) * | 2022-08-16 | 2022-09-16 | 北京百度网讯科技有限公司 | 模型训练方法、图像处理方法、装置和电子设备 |
CN115063875B (zh) * | 2022-08-16 | 2022-12-16 | 北京百度网讯科技有限公司 | 模型训练方法、图像处理方法、装置和电子设备 |
WO2024036847A1 (zh) * | 2022-08-16 | 2024-02-22 | 北京百度网讯科技有限公司 | 图像处理方法和装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111582500A (zh) | 一种提高模型训练效果的方法和*** | |
CN111950638B (zh) | 基于模型蒸馏的图像分类方法、装置和电子设备 | |
CN108376132B (zh) | 相似试题的判定方法及*** | |
CN111602148A (zh) | 正则化神经网络架构搜索 | |
CN111353033B (zh) | 一种训练文本相似度模型的方法和*** | |
CN111309887B (zh) | 一种训练文本关键内容提取模型的方法和*** | |
CN111339309B (zh) | 一种用户意图的语料扩展方法和*** | |
WO2020073533A1 (zh) | 自动问答方法及装置 | |
CN110704586A (zh) | 一种信息处理方法及*** | |
CN111259647A (zh) | 基于人工智能的问答文本匹配方法、装置、介质及电子设备 | |
CN111324738B (zh) | 一种确定文本标签的方法和*** | |
CN111324739A (zh) | 一种文本情感分析方法及*** | |
CN111950295A (zh) | 一种训练自然语言处理模型的方法和*** | |
CN111831826A (zh) | 跨领域的文本分类模型的训练方法、分类方法以及装置 | |
US20220044109A1 (en) | Quantization-aware training of quantized neural networks | |
CN111340245B (zh) | 一种模型训练方法及*** | |
CN111598153A (zh) | 数据聚类的处理方法、装置、计算机设备和存储介质 | |
CN111046394A (zh) | 一种基于对抗样本增强模型抗攻击能力的方法和*** | |
CN110704627B (zh) | 一种训练分类模型的方法及*** | |
CN114596497A (zh) | 目标检测模型的训练方法、目标检测方法、装置及设备 | |
CN110489730A (zh) | 文本处理方法、装置、终端及存储介质 | |
CN112132269B (zh) | 模型处理方法、装置、设备及存储介质 | |
CN110909885B (zh) | 一种平衡多个任务的方法及*** | |
CN111858923A (zh) | 一种文本分类方法、***、装置及存储介质 | |
CN111324722B (zh) | 一种训练词语权重模型的方法和*** |
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 |