用于训练模型的方法、装置、设备、介质和程序产品转让专利
申请号 : CN202110442612.6
文献号 : CN113139463B
文献日 : 2022-05-13
发明人 : 郭若愚 , 杜宇宁 , 李晨霞 , 杨烨华 , 赵乔 , 刘其文 , 毕然 , 胡晓光 , 于佃海 , 马艳军
申请人 : 北京百度网讯科技有限公司
摘要 :
权利要求 :
1.一种用于训练处理图像数据的模型的方法,包括:将第一模型针对包括图像的训练样本输出的所述图像的第一特征和第二模型针对所述训练样本输出的所述图像的第二特征组合,以获得针对所述图像的组合特征,所述第一模型和所述第二模型被初始化以具有不同的模型参数;
基于所述第一特征、所述第二特征和所述组合特征之间的差异,分别确定第一约束、第二约束和第三约束;以及
至少基于所述第一约束、所述第二约束和所述第三约束来调整所述第一模型和所述第二模型的模型参数以得到经训练的所述第一模型和经训练的所述第二模型;将经训练的所述第一模型和经训练的所述第二模型中的精度较高的模型确定为用于处理图像数据的目标模型;
其中分别确定所述第一约束、所述第二约束和所述第三约束包括:基于所述第一特征和所述第二特征之间的差异确定所述第一约束;
基于所述第一特征和所述组合特征之间的差异确定所述第二约束;以及基于所述第二特征和所述组合特征之间的差异确定所述第三约束。
2.根据权利要求1所述的方法,其中所述训练样本具有指示所述训练样本的类别的标签,所述方法还包括:
基于所述第一特征和所述标签之间的差异,确定第四约束;
基于所述第二特征和所述标签之间的差异,确定第五约束;以及基于所述第一约束、所述第二约束、所述第三约束、所述第四约束、所述第五约束,训练所述第一模型和所述第二模型。
3.根据权利要求2所述的方法,其中基于所述第一约束、所述第二约束、所述第三约束、所述第四约束、所述第五约束,训练所述第一模型和所述第二模型包括:确定分别与所述第一约束、所述第二约束、所述第三约束、所述第四约束、所述第五约束相关联的权重;以及
基于所述第一约束、所述第二约束、所述第三约束、所述第四约束、所述第五约束以及所述相关联的权重,训练所述第一模型和所述第二模型。
4.根据权利要求1所述的方法,其中所述训练样本包括原始样本和基于所述原始样本增广所得的增广样本中的至少一项。
5.根据权利要求1所述的方法,其中所述训练样本还包括以下至少一项:视频、音频和文本。
6.一种用于处理数据的方法,包括:获取包括图像数据的输入数据;以及利用根据权利要求1‑5中任一项所述的方法训练的经训练模型,确定针对所述输入数据的预测结果。
7.根据权利要求6所述的方法,其中所述经训练模型是图像分类模型、语义分割模型以及目标识别模型中的一项,并且所述预测结果是所述图像的分类结果、语义分割结果、目标识别结果中的对应的一项。
8.一种用于训练处理图像数据的模型的装置,包括:特征融合模块,被配置为将第一模型针对包括图像的训练样本输出的所述图像的第一特征和第二模型针对所述训练样本输出的所述图像的第二特征组合,以获得针对所述图像的组合特征,所述第一模型和所述第二模型被初始化以具有不同的模型参数;
第一约束确定模块,被配置为基于所述第一特征、所述第二特征和所述组合特征之间的差异,分别确定第一约束、第二约束和第三约束;以及第一模型训练模块,被配置为至少基于所述第一约束、所述第二约束和所述第三约束来调整所述第一模型和所述第二模型的模型参数以得到经训练的所述第一模型和经训练的所述第二模型;
目标模型确定模块,被配置为将经训练的所述第一模型和经训练的所述第二模型中的精度较高的模型确定为用于处理图像数据的目标模型; 其中所述第一约束确定模块包括:第二约束确定模块,被配置为基于所述第一特征和所述第二特征之间的差异确定所述第一约束;
第三约束确定模块,被配置为基于所述第一特征和所述组合特征之间的差异确定所述第二约束;以及
第四约束确定模块,被配置为基于所述第二特征和所述组合特征之间的差异确定所述第三约束。
9.根据权利要求8所述的装置,其中所述训练样本具有指示所述训练样本的类别的标签,所述装置还包括:
第四约束确定模块,被配置为基于所述第一特征和所述标签之间的差异,确定第四约束;
第五约束确定模块,被配置为基于所述第二特征和所述标签之间的差异,确定第五约束;以及
第二模型训练模块,被配置为基于所述第一约束、所述第二约束、所述第三约束、所述第四约束、所述第五约束,训练所述第一模型和所述第二模型。
10.根据权利要求9所述的装置,其中所述第二模型训练模块包括:权重确定模块,被配置为确定分别与所述第一约束、所述第二约束、所述第三约束、所述第四约束、所述第五约束相关联的权重;以及第三模型训练模块,被配置为基于所述第一约束、所述第二约束、所述第三约束、所述第四约束、所述第五约束以及所述相关联的权重,训练所述第一模型和所述第二模型。
11.根据权利要求8所述的装置,其中所述训练样本包括原始样本和基于所述原始样本增广所得的增广样本中的至少一项。
12.根据权利要求8所述的装置,其中所述训练样本还包括以下至少一项:视频、音频和文本。
13.一种用于处理数据的装置,包括:数据获取模块,被配置为获取包括图像数据的输入数据;以及预测模块,被配置为利用根据权利要求8‑12中任一项所述的装置训练的经训练模型,确定针对所述输入数据的预测结果。
14.根据权利要求13所述的装置,其中所述经训练模型是图像分类模型、语义分割模型以及目标识别模型中的一项,并且所述预测结果是所述图像的分类结果、语义分割结果、目标识别结果中的对应的一项。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑5中任一项所述的方法。
16.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求6‑7中任一项所述的方法。
17.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1‑5中任一项所述的方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求6‑7中任一项所述的方法。
说明书 :
用于训练模型的方法、装置、设备、介质和程序产品
技术领域
背景技术
存储的文本信息的技术。利用神经网络进行OCR识别被验证为是一种有效的识别方法。然
而,所训练的模型的准确性还有待提高。
发明内容
合特征,第一模型和第二模型被初始化以具有不同的模型参数;基于第一特征、第二特征和
组合特征之间的差异,分别确定第一约束、第二约束和第三约束;以及至少基于第一约束、
第二约束和第三约束,训练第一模型和第二模型。
第二特征组合,以获得组合特征,第一模型和第二模型被初始化以具有不同的模型参数;第
一约束确定模块,被配置为基于第一特征、第二特征和组合特征之间的差异,分别确定第一
约束、第二约束和第三约束;以及第一模型训练模块,被配置为至少基于第一约束、第二约
束和第三约束,训练第一模型和第二模型。
多个处理器实现根据本公开的第一方面的方法。
多个处理器实现根据本公开的第二方面的方法。
解。
附图说明
地理解本方案,不构成对本公开的限定,其中:
具体实施方式
里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的
是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对
象。下文还可能包括其他明确的和隐含的定义。
深度学习应用中使用的模型(也称为“深度学习模型”)通常包括许多隐藏层,从而延长网络
的深度。神经网络模型的各个层按顺序相连以使得前一层的输出被用作后一层的输入,其
中输入层接收神经网络模型的输入,而输出层的输出作为神经网络模型的最终输出。神经
网络模型的每个层包括一个或多个节点(也称为处理节点或神经元),每个节点处理来自上
一层的输入。在本文中,术语“神经网络”、“模型”、“网络”和“神经网络模型”可互换使用。
缺陷在于仅通过学生模型和教师模型的输出结果之间的差异来监督模型训练,精度不足。
一模型和第二模型被初始化以具有不同的模型参数。然后基于第一特征、第二特征和组合
特征两两之间的差异,分别确定第一约束、第二约束和第三约束。最后至少基于第一约束、
第二约束和第三约束,训练第一模型和第二模型。以此方式,通过考虑两个模型的输出的融
合结果,并通过融合结果监督模型训练,使得所训练的模型精度更高。
例如个人计算机、平板计算机、可穿戴设备、云服务器、大型机和分布式计算系统等。
输入120相对应的处理结果140。在一些实施例中,网络模型130可以是但不限于OCR识别模
型、图像分类模型、语义分割模型、目标检测模型,或者其他与图像处理相关的神经网络模
型。可以利用任何合适的网络结构来实现网络模型130,包括但不限于支持向量机(SVM)模
型,贝叶斯模型,随机森林模型,各种深度学习/神经网络模型,诸如卷积神经网络(CNN)、循
环神经网络(RNN)、深度神经网络(DNN)、深度强化学习网路(DQN)等。本公开的范围在此方
面不受限制。
装置中的至少一部分装置可以被实现在同一计算设备中。例如,训练数据获取装置、模型训
练装置和可以被实现在同一计算设备中,而模型应用装置可以被实现在另一计算设备中。
型130是待训练模型。模型训练装置可以基于输入对网络模型130进行训练。处理结果140可
以针对该模型的不同约束,计算设备110可以通过不同约束对网络模型130的训练参数(例
如,权重和偏置等)进行调整,使得模型在训练样本上的误差降低。
通过测试损失来表示。
制。在一些实施例中,样本可以是图像数据。训练样本122可以由原始样本124和增广样本
126构成,计算设备110(例如,计算设备的训练数据获取装置)可以被配置为对原始样本124
进行数据增广处理,以获取增广样本126。在一些实施例中,对于图像样本,可以通过对其中
的图像进行图像裁剪、旋转和翻转,而获得图像的增广样本。在另一些示例中,对于图像样
本,可以应用诸如自动数据增广(AutoAugment)的自动样本增广的策略,获得图像的增广训
练样本。
分别确定第一约束141、第二约束143、第三约束145、第四约束147和第五约束149。然后计算
设备110可以根据上述约束训练第一模型132和第二模型134。
入120可以是待处理的输入数据(例如,图像数据),网络模型130是经训练模型(例如,经训
练的图像分类模型),处理结果140可以是与输入120(例如,图像数据)相对应的预测结果
(例如,图像的分类结果、语义分割结果或目标识别结果)。
或架构。
施。为便于描述,将参照图1A和图1B来描述过程200。
132和第二模型134被初始化以具有不同的模型参数。例如,计算设备110可以将训练样本
122作为模型的输入,以获得其输出的特征图,然后将特征图进行融合。
本124,接着计算设备110可以对图像分别进行亮度变换、随机剪裁、随机旋转等数据增广操
作以形成增广样本。上述数据增广的示例仅仅是示例性的,计算设备110例如还可以对视频
数据中的不同图像帧进行各种组合来处理视频数据、或者还可以以合适的方式处理文本和
语音数据,本公开在此不做限制。
寸重新设定和归一化操作,以形成预处理图像。
征154以得到组合特征156。例如,模型的输出可以为表示训练样本122的特征图,该特征图
例如为80×6000的向量矩阵,其中80代表模型输出的向量的长度为定长80(也可称为时间
步长),6000可以指示6000个分类结果。对于OCR模型,90可以指示对于任何图像,输出80个
字符,每个字符存在6000个分类结果。可以理解的是,由于第一模型132和第二模型134的结
构相同且其模型参数不同,第一特征152和第二特征154可以为维度相同而参数不同像个向
量矩阵。可以根据以下等式(1)得到组合特征156:
征后,对其进行处理以确定用于监督模型训练的约束。
于第二特征154和组合特征156之间的差异确定第三约束145。例如,特征可以指示概率分
布,该差异可以指示概率分布之间的差异。在这种情况下,计算设备110可以计算第一特征
152和第二特征154和组合特征156两两之间的KL散度、JS散度、L1距离和L2距离等作为特征
之间的差异。还可以利用其他合适的算法来计算特征之间的差异,本公开在此不做限制。
模型和第二模型的参数。
一特征152和标签160之间的差异,确定第四约束147。基于第二特征154和标签160之间的差
异,确定第五约束149。并且最后基于第一约束141、第二约束143、第三约束145、第四约束
147、第五约束149,训练第一模型132和第二模型134。例如,计算设备110可以确定第一特征
152和第二特征154和标签160之间的CTC损失函数作为特征和标签之间的差异。还在特征和
标签之间应用任何合适的算法来确定其间的差异,本公开在此不做限制。
第二约束143、第三约束145、第四约束147、第五约束149以及相关联的权重,训练第一模型
132和第二模型134。
类型、模型测试的结果等动态地调整。并且每个约束可以存在相同的权重或者各自不同的
权重,本公开在此不做限制。计算设备110最后可以根据总约束调整第一模型132和第二模
型134的参数,以使得总约束最小化,从而实现模型的训练。
大,则可以将权重a的值设置为远高于权重b和权重c的值。由此,通过调整表征不同约束的
权重,可以有针对性的对模型进行训练。从而实现高效、准确地模型训练。
如,计算设备110可以利用相同的测试集对经训练的第一模型132和经训练的第二模型134
进行测试,从而将与真值标签差异最小的模型作为目标模型。通过进一步对所训练的模型
进行挑选,可以进一步提升最终获得的模型的精度。
类型和测试结果来东条第调整针对不同约束的权重可以进一步提高所训练的模型的精度。
分类的图像数据,并且经训练模型是图像分类模型、语义分割模型以及目标识别模型中的
一项。
分类模型的实施例中,预测结果是所述图像的分类结果。在上述输入数据可以是待进行语
义分割的图像数据,并且经训练模型是语义分割模型的实施例中,预测结果是语义分割结
果。在上述输入数据可以是待进行语义分割的图像数据,并且经训练模型是目标识别模型
的实施例中,预测结果是目标识别结果。根据本公开的方案还可以应用于其他与图像处理
相关的任务中、或者基于图像处理技术而进行的任务(例如,自动驾驶、自主泊车等)中。
第二模型针对训练样本输出的第二特征组合,以获得组合特征,第一模型和第二模型被初
始化以具有不同的模型参数;第一约束确定模块420,被配置为基于第一特征、第二特征和
组合特征之间的差异,分别确定第一约束、第二约束和第三约束;以及第一模型训练模块
430,被配置为至少基于第一约束、第二约束和第三约束,训练第一模型和第二模型。
于第一特征和组合特征之间的差异确定第二约束;以及第四约束确定模块,被配置为基于
第二特征和组合特征之间的差异确定第三约束。
约束确定模块,被配置为基于第二特征和标签之间的差异,确定第五约束;以及第二模型训
练模块,被配置为基于第一约束、第二约束、第三约束、第四约束、第五约束,训练第一模型
和第二模型。
练模块,被配置为基于第一约束、第二约束、第三约束、第四约束、第五约束以及相关联的权
重,训练第一模型和第二模型。
利用根据权利要求9‑14中任一项的装置训练的经训练模型,确定针对输入数据的预测结
果。
义分割结果、目标识别结果中的对应的一项。
助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种
形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算
装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限
制本文中描述的和/或者要求的本公开的实现。
行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计
算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至
总线604。
信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如
因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及
任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,
例如过程200和300。例如,在一些实施例中,过程200和300可被实现为计算机软件程序,其
被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或
者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程
序加载到RAM 603并由计算单元601执行时,可以执行上文描述的过程200和300的一个或多
个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助
于固件)而被配置为执行过程200和300。
的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实
现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算
机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器
可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出
装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至
少一个输出装置。
理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的
功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件
包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电
子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合
适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计
算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM
或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或
上述内容的任何合适组合。
器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来
将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的
反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用
任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界
面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部
件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数
字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网
(LAN)、广域网(WAN)和互联网。
算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或
云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("
Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务增广性弱的缺陷。服
务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。