Processing

Please wait...

Settings

Settings

Goto Application

1. WO2020108368 - NEURAL NETWORK MODEL TRAINING METHOD AND ELECTRONIC DEVICE

Document

说明书

发明名称 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   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14  

附图

1   2   3   4   5   6   7   8  

说明书

发明名称 : 一种神经网络模型训练方法及电子设备

[0001]
本申请要求在2018年11月29日提交中国国家知识产权局、申请号为201811443331.7、发明名称为“一种光学字符识别方法”的中国专利申请的优先权,和在2019年2月26日提交国家专利局、申请号为201910139681.2、发明名称为“一种神经网络模型训练方法及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

技术领域

[0002]
本申请涉及机器学习技术领域,尤其涉及一种神经网络模型训练方法及电子设备。

背景技术

[0003]
深度神经网络是近几年来比较热的一个研究方向,它从仿生学的角度模拟人脑的分多层计算架构体系,是最接近人工智能的一个方向,它更能表征信号的最本质的不变特征。近几年在语音处理、视觉处理领域及图像处理领域,深度学习均取得了较好的结果。而光学字符识别(optical character recognition,OCR)由于其字符多样(例如中文有近7000个常用汉字)、出现场景复杂、语义信息丰富的特性成为视觉处理领域中的难点和重点。
[0004]
目前用于OCR的神经网络模型因运算量大,对设备的硬件处理能力要求较高,所以一般集成在服务器侧,例如百度用于OCR的神经网络模型集成在百度的云端服务器。受限于终端侧的人工智能专用芯片的处理能力,所以目前集成在服务器侧的用于OCR的神经网络模型并不适用于直接在终端侧运行。为此,终端侧需要重新构建适用于终端侧的用于OCR的神经网络模型,但是目前从零开始构建适合终端侧的神经网络模型难度较大,原因是构建神经网络模型需要依赖大量不同场景的训练样本的标注结果,而训练样本的标注结果包括人工标注文字区域和文字内容,所以人工标注的工作量很大,导致神经网络模型训练成本非常高,且效率较低。
[0005]
发明内容
[0006]
本申请提供一种神经网络模型训练方法及电子设备,用以提供一种快速训练适用于终端侧的神经网络模型的方法。
[0007]
第一方面,本申请实施例提供了一种神经网络模型训练方法,该方法包括:电子设备将n个训练样本输入到参考神经网络模型进行处理,得到与每个训练样本对应的第一文本识别结果,然后电子设备将n个训练样本输入到初始神经网络模型进行处理,得到与每个训练样本对应的第二文本识别结果,最后电子设备根据该第一文本识别结果、第二文本识别结果,以及n个训练样本中的第一部分训练样本的人工标注结果,对该初始神经网络模型中的参数进行调整,得到目标神经网络模型。
[0008]
本申请实施例中,电子设备可以通过调用参考神经网络模型得到训练样本的识别结果,所以只需要对部分训练样本进行人工标注,一定程度上可以减少人工标注的工作量,节省训练成本。当电子设备集成该目标神经网络模型时,用户无需联网仅通过该电子设备就可以对图像中的文本区域、文本内容进行快速识别,一定程度上可以保护用户的隐私,安全性较高。
[0009]
在一种可能的设计中,电子设备针对该第一部分训练样本中的任意一个,即针对第一训 练样本,可以根据该第一训练样本的第二文本识别结果和该第一训练样本的人工标注结果,得到第一损失函数值;并根据该第一训练样本的第一文本识别结果和该第一训练样本的第二文本识别结果,得到第二损失函数值;然后对该第一损失函数值和该第二损失函数值进行平滑处理或加权处理,得到处理后的第一损失函数值和第二损失函数值;根据处理后的第一损失函数值和处理后的第二损失函数值,调整该初始神经网络模型中的参数。
[0010]
本申请实施例中,电子设备依据人工标注结果和参考神经网络模型的输出结果进行模型训练,一定程度上可以改善目前用于OCR的神经网络模型所存在的长文本留白问题和召回率低的问题。
[0011]
在一种可能的设计中,针对除了第一部分训练样本之外的n个训练样本中的任意一个,即针对第二训练样本,根据该第二训练样本的第一文本识别结果和该第二训练样本的第二文本识别结果,利用随机梯度下降算法对该初始神经网络模型中的参数进行调整。
[0012]
本申请实施例中,电子设备依据人工标注结果和参考神经网络模型的输出结果,可以解决长文本留白问题和召回率低的问题。
[0013]
在一种可能的设计中,电子设备将该n个训练样本输入到初始神经网络模型进行多个任务学习,多个任务可以包括分类任务和回归任务。电子设备根据该多个任务的学习结果,得到每个训练样本的第二文本识别结果,这样第二文本识别结果就包括回归任务对应的文本边框的位置,以及分类任务对应的每个像素点是否是文本。
[0014]
本申请实施例中,电子设备通过多任务集成学习使得初始神经网络模型与参考神经网络模型的输出结果和人工标注结果达成平衡。
[0015]
在一种可能的设计中,电子设备通过调用参考神经网络模型的开放接口,将该n个训练样本输入到参考神经网络模型中,并接收该参考神经网络模型输出的与每个训练样本对应的第一文本识别结果。
[0016]
本申请实施例中,通过采用云端已有的参考神经网络模型的接口,可以快速构建适用于端侧的神经网络模型。
[0017]
在一种可能的设计中,电子设备根据所述电子设备当前运行环境的配置信息和人工智能芯片的硬件信息,确定所述初始神经网络模型,其中,所述初始神经网络模型的结构、参数和大小能够被所述电子设备支持。
[0018]
本申请实施例中可以快速构建适用于端侧的神经网络模型,用户无需联网仅通过该电子设备就可以对图像中的文本区域、文本内容进行快速识别,一定程度上可以保护用户的隐私,安全性较高。
[0019]
第二方面,本申请实施例提供一种电子设备,包括处理器和存储器。其中,存储器用于存储一个或多个计算机程序;当存储器存储的一个或多个计算机程序被处理器执行时,使得该电子设备能够实现上述任一方面的任意一种可能的设计的方法。
[0020]
第三方面,本申请实施例还提供一种装置,该装置包括执行上述任一方面的任意一种可能的设计的方法的模块/单元。这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
[0021]
第四方面,本申请实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行上述任一方面的任意一种可能的设计的方法。
[0022]
第五方面,本申请实施例还提供一种包含计算机程序产品,当所述计算机程序产品在终端上运行时,使得所述电子设备执行上述任一方面的任意一种可能的设计的方法。
[0023]
第六方面,本申请实施例还提供一种芯片,芯片与存储器耦合,用于执行所述存储器中存储的计算机程序,使得所述电子设备执行上述任一方面的任意一种可能的设计的方法。
[0024]
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

[0025]
图1为本申请实施例提供的一种应用场景示意图;
[0026]
图2为本申请实施例提供的一种神经网络模型的结构示意图;
[0027]
图3为本申请实施例提供的一种神经网络模型训练方法的流程示意图;
[0028]
图4为本申请实施例提供的另一种神经网络模型训练方法的流程示意图;
[0029]
图5为本申请实施例提供的一种训练样本和训练样本的文字识别结果示意图;
[0030]
图6为本申请实施例提供的一种手机结构示意图;
[0031]
图7为本申请实施例提供的一种神经网络模型训练装置结构示意图;
[0032]
图8为本申请实施例提供的一种电子设备结构示意图。

具体实施方式

[0033]
本申请实施例提供一种神经网络模型训练方法,该方法可以将目前服务器侧的商用的神经网络模型作为参考神经网络模型,也就是说电子设备可以先调用服务器侧的商用的神经网络模型对n个训练样本进行处理,得到与每个训练样本对应的第一文本识别结果,然后再将该n个训练样本输入到待训练的初始神经网络模型中进行处理,得到每个训练样本对应的第二文本识别结果,最终电子设备根据该第一文本识别结果、第二文本识别结果,以及n个训练样本中的部分训练样本的人工标注结果,对该初始神经网络模型中的参数进行调整,得到目标神经网络模型。
[0034]
可见,在上述神经网络模型训练中,因可以通过调用参考神经网络模型得到训练样本的识别结果,所以只需要对部分训练样本进行人工标注,一定程度上可以减少人工标注的工作量,节省训练成本。当电子设备集成该目标神经网络模型时,用户无需联网仅通过该电子设备就可以对图像中的文本区域。文本内容进行快速识别,一定程度上可以保护用户的隐私,安全性较高。
[0035]
本申请实施例中所提供的神经网络模型训练方法可以应用于如图1所示的应用场景,该应用场景中包括开发服务器101、服务器102、终端设备103。
[0036]
其中,开发服务器101,用于根据终端设备103当前运行环境的配置信息和人工智能芯片的硬件信息,确定所述初始神经网络模型。
[0037]
例如,终端设备103是一台Mate 10型号的手机,该手机搭载麒麟970芯片,仅支持卷积和relu等激活函数,因此开发服务器101输出适用该手机的初始神经网络模型。例如初始神经网络模型的主干结构为一个15层全卷积网络,最后是1/8维度的特征图。
[0038]
另外,开发服务器101还预先集成有n个训练样本,开发服务器101,还用于调用服务器102中的参考神经网络模型的接口,将n个训练样本传输到服务器102的参考神经网络模型中,并获取该参考神经网络模型对每个训练样本的第一文本识别结果。其中,参考神经网络模型可以是多个,因此开发服务器可以获取多个服务器102返回的每个训练样本的第一文本识别结果,最终生成与每个训练样本所对应的所有参考神经网络模型的第一文本识别结果的数据集合。
[0039]
进一步地,开发服务器101,用于将n个训练样本输入到初始神经网络模型进行处理, 得到与每个训练样本对应的第二文本识别结果,然后根据该第一文本识别结果、第二文本识别结果,以及该n个训练样本中的部分训练样本的人工标注结果,对该初始神经网络模型中的参数进行调整,得到目标神经网络模型。通常情况下,在开始训练过程之前初始神经网络模型所设置的参数为超参数,即不是通过训练得到的参数数据。训练过程会对超参数进行优化,训练过程本质是给模型选择一组最优参数,以提高学习的性能和效果。
[0040]
最终,开发服务器101将生成的目标神经网络模型安装到终端设备103中,用户无需联网仅通过该终端设备103就可以对图像中的文本区域。文本内容进行快速识别。例如终端设备103中被安装集成目标神经网络模型的应用程序,在需要识别文本时,用户在应用程序中导入包含待识别文本的图像,其中图像可以是身份证的照片、PDF格式的文档等、商品购买信息截图等,然后终端设备103可以直接对图像中的文本进行识别。示例性地,身份证的照片的识别结果为:姓名:王丽,性别:女,民族:汉,出生:1988-08-11,住址:上海市陆家嘴路353弄1号楼1室,身份证号码370405198805XXXXXX。
[0041]
需要说明的是,开发服务器101将n个训练样本输入到参考神经网络模型,以及将n个训练样本输入到初始神经网络模型,这两个步骤并不存在绝对的先后顺序,可以先执行将n个训练样本输入到参考神经网络模型,也可以先执行将n个训练样本输入到初始神经网络模型,或者同时执行。
[0042]
其中,开发服务器101和服务器102通过无线网络连接,终端设备103是具备网络通信能力的终端设备,该终端设备可以是智能手机、平板电脑或便携式个人计算机等。服务器102可以是一台服务器,或者是若干台服务器组成的服务器集群或云计算中心。
[0043]
如图2所示,示例性地示出了初始神经网络模型的一种神经网络结构图,包括卷积层、池化层、上采样层。卷积层用于从输入的图像中提取图像特征,池化层用于用于特征降维,压缩数据和参数的数量,减小过拟合,同时提高模型的容错性。上采样层目的是放大原图像,从而可以显示在更高分辨率的显示设备上。最终初始神经网络模型对n个训练样本进行分类任务和回归任务的学习,根据所述多个任务的学习结果,得到每个训练样本的第二文本识别结果,所述第二文本识别结果包括回归任务对应的文本边框的位置,以及分类任务对应的每个像素点是否是文本。
[0044]
需要说明的是,初始神经网络模型中的卷积层可以为一层或多层、池化层和上采样层也可以为一层或多层。
[0045]
基于图1所示的应用场景图和图2所示的神经网络结构图,本申请实施例提供了一种神经网络模型训练方法的流程,如图3所示,该方法的流程可以由电子设备执行,该方法包括以下步骤:
[0046]
步骤301,电子设备将n个训练样本输入到参考神经网络模型进行处理,得到与每个训练样本对应的第一文本识别结果,n为正整数。
[0047]
该电子设备可以是图1中的开发服务器101,具体来说,开发人员可以预先在开发服务器101上登录参考神经网络模型的开发平台,并获得调用该参考神经网络模型的接口的权限。然后开发服务器101通过调用该接口,将n个训练样本输入到参考神经网络模型中,并接收该参考神经网络模型输出的与每个训练样本对应的第一文本识别结果。本申请实施例中,参考神经网络模型可以是目前已经商用的用于OCR的神经网络模型,例如汉王 百度 等。最终电子设备生成与每个训练样本所对应的所有参考神经网络模型的第一文本识别结果的数据集合。
[0048]
步骤302,电子设备将该n个训练样本输入到初始神经网络模型进行处理,得到与每个 训练样本对应的第二文本识别结果。
[0049]
首先,在执行步骤302之前,电子设备需要根据电子设备当前运行环境的配置信息和人工智能芯片的硬件信息,生成待训练的初始神经网络模型。例如,开发服务器101根据终端设备103当前运行环境的配置信息和人工智能芯片的硬件信息,生成待训练的初始神经网络模型。然后开服务器101将该n个训练样本输入到初始神经网络模型进行处理,具体地,开服务器101可以将n个训练样本输入到如图2所示的神经网络模型中,并执行分类任务和回归任务得到与每个训练样本对应的第二文本识别结果。
[0050]
步骤303,电子设备根据该第一文本识别结果、该第二文本识别结果以及该n个训练样本中的部分训练样本的人工标注结果,对该初始神经网络模型中的参数进行调整,得到目标神经网络模型。
[0051]
在执行步骤303之前,开发人员还预先对n个训练样本中的部分训练样本进行人工标注,得到人工标注果。例如该人工标注结果可以包括文本区域的位置,以及像素点是否是文本。
[0052]
一方面,针对被人工标注的第一部分训练样本中的任意一个训练样本,假设任意一个训练样本是第一训练样本,则电子设备根据第一训练样本的第二文本识别结果和第一训练样本的人工标注结果,得到第一损失函数值,同时电子设备根据第一训练样本的第一文本识别结果和第一训练样本的第二文本识别结果,得到第二损失函数值,然后电子设备对第一损失函数值和第二损失函数值进行平滑处理,或者进行加权处理,得到处理后的第一损失函数值和第二损失函数值,继而电子设备根据处理后的第一损失函数值和处理后的第二损失函数值,调整该初始神经网络模型中的参数。调整之后的参数使得神经网络模型输出的第二识别结果与第一文本识别结果和人工标注结果尽量相似,例如第二识别结果与第一文本识别结果之间的第一相似度,以及第二识别结果与人工标注结果之间的第二相似度均大于设定阈值,目的是有效提高目标神经网络模型的预测精度。
[0053]
举例来说,如表1所示,假设有3个训练样本,每个训练样本被输入到初始神经网络模型后,初始神经网络模型输出了与每个训练样本对应的预测值(即第二文本识别结果),另外,电子设备在开始训练初始神经网络模型之前也也获得了每个训练样本对应的参考值(即第一文本识别结果),以及这三个训练样本的真实值(即人工标注结果)。
[0054]
表1
[0055]
[表0001]
样本 预测值 真实值 参考值
样本1 15 11 16
样本2 17 12 14
样本3 19 13 18

[0056]
具体地,当电子设备将上述样本1的预测值和真实值输入到损失函数后,得到第一损失函数值,当电子设备将上述样本1的预测值和参考值输入到损失函数后,得到第二损失函数值,然后按照如下方式得到处理后的第一损失函数值和处理后的第二损失函数值。然后电子设备依据处理后的第一损失函数值和处理后的第二损失函数值,调整神经网络模型的参数。同样地,针对样本2,电子设备同样计算出与样本2对应的处理后的第一损失函数值和处理后的第二损失函数值,然后依据处理后的第一损失函数值和处理后的第二损失函数值,调整神经网络模型的参数,直至最后一个训练样本。
[0057]
另一方面,针对除了第一部分训练样本之外的n个训练样本中的任意一个训练样本,假设任意一个训练样本是第二训练样本,则电子设备根据第二训练样本的第二文本识别结果和 第二训练样本的第一文本识别结果,得到损失函数值。对于分类任务,电子设备可以采用类Softmax损失函数,对于回归任务,电子设备可以采用Smooth L1for regression(回归平滑处理)并可结合KL散度(又称相对熵);最终通过梯度下降算法,更新初始神经网络模型中参数,使得两个文本识别结果之间的差异最小化。
[0058]
本申请如下实施例中进一步结合图1和图4所示的流程对上述神经网络模型训练方法的具体过程进行详细阐述,该方法流程的具体流程可以包括:
[0059]
步骤401,开发服务器101通过调用参考神经网络模型的接口,将n个训练样本输入到各个服务器102中的参考神经网络模型中,并接收各个服务器102的输出结果,输出结果是与每个训练样本对应的第一文本识别结果,电子设备生成与每个训练样本所对应的所有参考神经网络模型的第一文本识别结果的数据集合。
[0060]
例如,n个训练样本均是包括待识别文本的图像,假设是2000张图像。第一文本识别结果则包括图像上的文字区域,以及文字内容。比如图5所示,电子设备将图5a所示的图像输入到参考神经网络模型中,输出为图5b所示的文字区域信息和文字内容。
[0061]
步骤402,电子设备根据自身运行环境的配置信息信息和人工智能芯片的硬件信息,确定适用的初始神经网络模型。
[0062]
例如,本申请实施例中,开发人员将Mate 10系统信息,麒麟970芯片,输入到网络构建器中,该网络构建器根据输入的信息,自动输出初始神经网络模型。
[0063]
例如,输出一个15层全卷积网络,最后是1/8维度的特征图,其中fc3层、fc4层分别在网络缩放尺寸为1/4和为1/8的特征图层上将特征图层进行提取,并分别在deconv45层、deconv5层后通过eltwise算子拼接回网络主干结构中。其中缩放尺寸为1/4和1/8的分支结构使得网络能够对较小和中等尺寸的文字进行检测,缩放尺寸为1/16的特征图层保证神经网络对尺寸较大的文本进行检测。在拼接完成的特征图层上,分别执行一个回归、一个分类任务;其中:分类任务:在于判别特征图层所映射的原始输入图像中,该区域是否为文本;回归任务:在于判别特征图层所映射的原始输入图像中,该区域的文本边界的四个角点。
[0064]
步骤403,电子设备将n个训练样本输入到初始神经网络模型中,得到与每个训练样本对应的第二文本识别结果。
[0065]
步骤404,针对有人工标注结果的训练样本,根据第一文本识别结果和第二文本识别结果,以及人工标注结果,调整初始神经网络模型中的参数;针对没有人工标注结果的训练样本,根据第一文本识别结果和第二文本识别结果,调整初始神经网络模型中的参数。
[0066]
步骤405,电子设备不断迭代执行上个步骤,直到满足设定条件,即步骤404输出的目标神经网络模型在验证数据集中的效果达标,或者达到指定迭代轮数阈值,则训练终止,输出目标神经网络模型。
[0067]
在本申请一些实施例中,电子设备可以是还包含其他功能诸如个人数字助理和/或音乐播放器功能的便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴设备(如智能手表)等。便携式电子设备的示例性实施例包括但不限于搭载 或者其他操作系统的便携式电子设备。上述便携式电子设备也可以是其他便携式电子设备,诸如具有触敏表面(例如触控面板)的膝上型计算机(laptop)等。还应当理解的是,在本申请其他一些实施例中,上述电子设备也可以不是便携式电子设备,而是具有触敏表面(例如触控面板)的台式计算机。
[0068]
以电子设备是手机为例,图6示出了手机100的结构示意图。
[0069]
手机100可以包括处理器110,外部存储器接口120,内部存储器121,USB接口130, 充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及SIM卡接口195等。
[0070]
可以理解的是,本申请实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
[0071]
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(Neural-network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是手机100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0072]
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
[0073]
处理器110可以运行本申请实施例提供的神经网络模型训练方法,利用参考神经网络模型输出的第一文本识别结果,以及初始神经网络模型输出的第二文本识别结果,和n个训练样本中的第一部分训练样本的人工标注结果,对初始神经网络模型中的参数进行调整,得到目标神经网络模型。还训练方法可以由通用处理器执行,也可以由专用处理器执行,也可以由通用处理器和专用处理器一起执行。例如当处理器110集成不同的器件,比如集成CPU和NPU时,CPU和NPU可以配合执行本申请实施例提供的神经网络模型训练方法,比如神经网络模型训练方法中部分算法由CPU执行,另一部分算法由NPU执行,以得到较快的处理效率。
[0074]
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,手机100可以包括1个或N个显示屏194,N为大于1的正整数。
[0075]
显示屏194可以显示被目标神经网络模型所识别的文本,显示屏194也可以显示待训练样本。
[0076]
摄像头193(前置摄像头或者后置摄像头)用于捕获静态图像或视频。通常,摄像头193可以包括感光元件比如镜头组和图像传感器,其中,镜头组包括多个透镜(凸透镜或凹透镜),用于采集待拍摄物体反射的光信号,并将采集的光信号传递给图像传感器。图像传感器根据所述光信号生成待拍摄物体的原始图像。摄像头193采集到原始图像后,可以将原始图像发送给处理器110,处理器110将其作为训练样本,运行本申请实施例提供的神经网络模型训练算法,得到识别结果。
[0077]
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。 处理器110通过运行存储在内部存储器121的指令,从而执行手机100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,应用程序(比如相机应用,微信应用等)的代码等。存储数据区可存储手机100使用过程中所创建的数据(比如n个训练样本和文本识别结果)等。
[0078]
内部存储器121还可以存储本申请实施例提供的训练算法对应的代码。当内部存储器121中存储的训练算法的代码被处理器110运行时,可以对初始神经网络模型进行训练。
[0079]
此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
[0080]
手机100还包括传感器模块180的功能。例如包括陀螺仪传感器、加速度传感器、接近光传感器等,当然,手机100还可以包括其它传感器,比如压力传感器、加速度传感器、陀螺仪传感器、环境光传感器、骨传导传感器等(图中未示出)。
[0081]
手机100的无线通信功能可以通过天线1,天线2,移动通信模块151,无线通信模块152,调制解调处理器以及基带处理器等实现。另外,手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。手机100可以接收按键190输入,产生与手机100的用户设置以及功能控制有关的键信号输入。手机100可以利用马达191产生振动提示(比如来电振动提示)。手机100中的指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。手机100中的SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和手机100的接触和分离。
[0082]
应理解,在实际应用中,手机100可以包括比图6所示的更多或更少的部件,本申请实施例不作限定。
[0083]
本申请实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行上述神经网络模型训练方法任意一种可能的实现。
[0084]
本申请实施例还提供一种包含计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行上述神经网络模型训练方法任意一种可能的实现。
[0085]
在本申请的一些实施例中,本申请实施例公开了一种神经网络模型训练装置,如图7所示,该装置用于实现以上各个方法实施例中记载的方法,其包括:收发模块701、处理模块702。收发模块701用于支持电子设备执行将n个训练样本输入到参考神经网络模型,以及接收参考神经网络模型的输出结果,处理模块702用于支持电子设备将所述n个训练样本输入到初始神经网络模型进行处理,得到与每个训练样本对应的第二文本识别结果,根据所述第一文本识别结果、所述第二文本识别结果,以及所述n个训练样本中的部分训练样本的人工标注结果,对所述初始神经网络模型中的参数进行调整,得到目标神经网络模型。上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
[0086]
在本申请的另一些实施例中,本申请实施例公开了一种电子设备,如图8所示,该电子设备可以包括:一个或多个处理器801;存储器802;显示器803;一个或多个应用程序(未示出);以及一个或多个计算机程序804,上述各器件可以通过一个或多个通信总线805连接。其中该一个或多个计算机程序804被存储在上述存储器802中并被配置为被该一个或多个处理器801执行,该一个或多个计算机程序804包括指令,上述指令可以用于执行如图3和图4及相应实施例中的各个步骤。
[0087]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和 简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0088]
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0089]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
[0090]
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。

权利要求书

[权利要求 1]
一种神经网络模型训练方法,该方法应用于电子设备,其特征在于,包括: 将n个训练样本输入到参考神经网络模型进行处理,得到与每个训练样本对应的第一文本识别结果,n为正整数; 将所述n个训练样本输入到初始神经网络模型进行处理,得到与每个训练样本对应的第二文本识别结果; 根据所述第一文本识别结果、所述第二文本识别结果,以及所述n个训练样本中的第一部分训练样本的人工标注结果,对所述初始神经网络模型中的参数进行调整,得到目标神经网络模型。
[权利要求 2]
如权利要求1所述的方法,其特征在于,所述电子设备根据所述第一文本识别结果、所述第二文本识别结果,以及所述n个训练样本中的第一部分训练样本的人工标注结果,对所述初始神经网络模型中的参数进行调整,包括: 针对第一训练样本,根据所述第一训练样本的第二文本识别结果和所述第一训练样本的人工标注结果,得到第一损失函数值,其中,所述第一训练样本为所述第一部分训练样本中的任意一个; 根据所述第一训练样本的第一文本识别结果和所述第一训练样本的第二文本识别结果,得到第二损失函数值; 对所述第一损失函数值和所述第二损失函数值进行平滑处理或加权处理,得到处理后的第一损失函数值和第二损失函数值; 根据处理后的第一损失函数值和处理后的第二损失函数值,调整所述初始神经网络模型中的参数。
[权利要求 3]
如权利要求1所述的方法,其特征在于,所述电子设备根据所述第一文本识别结果、所述第二文本识别结果,以及所述n个训练样本中的部分训练样本的人工标注结果,对所述初始神经网络模型中的参数进行调整,包括: 针对第二训练样本,根据所述第二训练样本的第一文本识别结果和所述第二训练样本的第二文本识别结果,利用随机梯度下降算法对所述初始神经网络模型中的参数进行调整,其中,所述第二训练样本为除了所述第一部分训练样本之外所述n个训练样本中的任意一个。
[权利要求 4]
如权利要求1至3任一项所述的方法,其特征在于,所述电子设备将所述n个训练样本输入到初始神经网络模型进行处理,得到与每个训练样本对应的第二文本识别结果,包括: 将所述n个训练样本输入到初始神经网络模型进行多个任务学习,所述多个任务包括分类任务和回归任务; 根据所述多个任务的学习结果,得到每个训练样本的第二文本识别结果,所述第二文本识别结果包括回归任务对应的文本边框的位置,以及分类任务对应的每个像素点是否是文本。
[权利要求 5]
如权利要求1至4任一项所述的方法,其特征在于,所述电子设备将n个训练样本输入到参考神经网络模型进行处理,得到与每个训练样本对应的第一文本识别结果,包括: 通过调用参考神经网络模型的开放接口,将所述n个训练样本输入所述参考神经网络模型中; 接收所述参考神经网络模型输出的与每个训练样本对应的第一文本识别结果。
[权利要求 6]
如权利要求1至4任一项所述的方法,其特征在于,还包括: 根据所述电子设备当前运行环境的配置信息和人工智能芯片的硬件信息,确定所述初始神经网络模型,其中,所述初始神经网络模型的结构、参数和大小能够被所述电子设备支持。
[权利要求 7]
一种电子设备,其特征在于,包括处理器和存储器; 所述存储器用于存储一个或多个计算机程序; 当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备执行: 将n个训练样本输入到参考神经网络模型进行处理,得到与每个训练样本对应的第一文本识别结果; 将所述n个训练样本输入到初始神经网络模型进行处理,得到与每个训练样本对应的第二文本识别结果; 根据所述第一文本识别结果、所述第二文本识别结果,以及所述n个训练样本中的第一部分训练样本的人工标注结果,对所述初始神经网络模型中的参数进行调整,得到目标神经网络模型。
[权利要求 8]
如权利要求7所述的电子设备,其特征在于,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行: 针对第一训练样本,根据所述第一训练样本的第二文本识别结果和所述第一训练样本的人工标注结果,得到第一损失函数值,其中,所述第一训练样本为所述第一部分训练样本中的任意一个; 根据所述第一训练样本的第一文本识别结果和所述第一训练样本的第二文本识别结果,得到第二损失函数值; 对所述第一损失函数值和所述第二损失函数值进行平滑处理或加权处理,得到处理后的第一损失函数值和第二损失函数值; 根据处理后的第一损失函数值和处理后的第二损失函数值,调整所述初始神经网络模型中的参数。
[权利要求 9]
如权利要求7所述的电子设备,其特征在于,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行: 针对第二训练样本,根据所述第二训练样本的第一文本识别结果和所述第二训练样本的第二文本识别结果,利用随机梯度下降算法对所述初始神经网络模型中的参数进行调整,其中,所述第二训练样本为除了所述第一部分训练样本之外所述n个训练样本中的任意一个。
[权利要求 10]
如权利要求7至9任一项所述的电子设备,其特征在于,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行: 将所述n个训练样本输入到初始神经网络模型进行多个任务学习,所述多个任务包括分类任务和回归任务; 根据所述多个任务的学习结果,得到每个训练样本的第二文本识别结果,所述第二文本识别结果包括回归任务对应的文本边框的位置,以及分类任务对应的每个像素点是否是文本。
[权利要求 11]
如权利要求7至10任一项所述的电子设备,其特征在于,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行: 通过调用参考神经网络模型的开放接口,将所述n个训练样本输入所述参考神经网络模型中; 接收所述参考神经网络模型输出的与每个训练样本对应的第一文本识别结果。
[权利要求 12]
如权利要求7至10任一项所述的电子设备,其特征在于,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行: 根据所述电子设备当前运行环境的配置信息和人工智能芯片的硬件信息,确定所述初始神经网络模型,其中,所述初始神经网络模型的结构、参数和大小能够被所述电子设备支持。
[权利要求 13]
一种计算机存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至6任一所述的方法。
[权利要求 14]
一种芯片,其特征在于,所述芯片与存储器耦合,用于执行所述存储器中存储的计算机程序,以执行如权利要求1至6任一项所述的方法。

附图

[ 图 1]  
[ 图 2]  
[ 图 3]  
[ 图 4]  
[ 图 5]  
[ 图 6]  
[ 图 7]  
[ 图 8]