CN113780556A - 神经网络训练及文字识别的方法、装置、设备及存储介质 - Google Patents
神经网络训练及文字识别的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113780556A CN113780556A CN202111098789.5A CN202111098789A CN113780556A CN 113780556 A CN113780556 A CN 113780556A CN 202111098789 A CN202111098789 A CN 202111098789A CN 113780556 A CN113780556 A CN 113780556A
- Authority
- CN
- China
- Prior art keywords
- neural network
- loss function
- function value
- training
- sub
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 404
- 238000012549 training Methods 0.000 title claims abstract description 190
- 238000000034 method Methods 0.000 title claims abstract description 100
- 238000000605 extraction Methods 0.000 claims abstract description 74
- 230000006870 function Effects 0.000 claims description 188
- 230000008569 process Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 10
- 238000001514 detection method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了一种神经网络训练及文字识别的方法、装置、设备及存储介质,其中,该方法包括:获取训练数据;将训练数据分别输入第一神经网络和第二神经网络,以获取第一神经网络的第一特征提取层得到的第一特征图,以及第二神经网络的第二特征提取层得到的第二特征图,第一神经网络的网络精度高于第二神经网络的网络精度;基于确定的损失函数值对第二神经网络进行调整,得到训练后的第二神经网络。本公开可以在确保训练效率的情况下,提升训练精度。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种神经网络训练及文字识别的方法、装置、设备及存储介质。
背景技术
目前,神经网络被广泛应用在计算机视觉领域,例如,文字识别、语义分割、物体检测等领域。然而,这些性能卓越的神经网络往往拥有上千万的参数,庞大的参数量会带来精度上的提升,但同时会造成推理速度的下降。
为了提升神经网络的推理速度,相关技术中提供了一种网络训练方案。以文字识别应用为例,上述方案可以根据期望的推理速度设计神经网络,并直接使用文字识别训练数据和标签训练该网络。然而,由于上述方案缺乏相应的精度提升机制导致网络的精度较低,无法兼顾高精度和高效率的应用需求。
发明内容
本公开实施例至少提供一种神经网络训练及文字识别的方法、装置、设备及存储介质。
第一方面,本公开实施例提供了一种神经网络训练的方法,所述方法包括:
获取训练数据;
将所述训练数据分别输入第一神经网络和第二神经网络,以获取所述第一神经网络的第一特征提取层得到的第一特征图,以及所述第二神经网络的第二特征提取层得到的第二特征图,所述第一神经网络的网络精度高于所述第二神经网络的网络精度;
基于所述第一特征图,以及所述第二特征图,确定所述第二神经网络的损失函数值;
基于确定的所述损失函数值对所述第二神经网络进行调整,得到训练后的第二神经网络。
采用上述神经网络训练的方法,在获取到两个网络精度不同的神经网络(即第一神经网络和第二神经网络)的情况下,可以基于高网络精度的第一神经网络来指导低网络精度的第二神经网络的训练。在训练的过程中,可以基于两个神经网络所输出的特征图来确定第二神经网络的损失函数值,进而基于这一损失函数值进行网络参数的调整。可知的是,两个神经网络所输出的特征图越接近,一定程度上可以说明第二神经网络从第一神经网络所学习到的特征也越充分,从而可以在确保训练效率的情况下,提升训练精度。
在一种可能的实施方式中,所述第一神经网络包括多个第一特征提取层,所述第二神经网络包括多个第二特征提取层;
所述将所述训练数据分别输入第一神经网络和第二神经网络,以获取所述第一神经网络的第一特征提取层得到的第一特征图,以及所述第二神经网络的第二特征提取层得到的第二特征图,包括:
利用所述多个第一特征提取层对所述训练数据进行特征提取,获取所述第一神经网络的最后N个第一特征提取层分别输出的第一特征图;N为预设数量;以及,
利用所述多个第二特征提取层对所述训练数据进行特征提取,获取所述第二神经网络的最后N个第二特征提取层分别输出的第二特征图。
这里,考虑到第一神经网络作为网络精度比较高的大网络,第二神经网络作为网络精度比较低的小网络,两个网络的差距主要体现在主干网络(即特征提取层)的特征提取能力上,因而,这里的第一特征图和第二特征图可以是分别从对应的特征提取层上获取的,又考虑到最后若干个特征提取层对特征提取能力的关键作用,这里可以将最后N个第二特征提取层分别输出的特征图确定为神经网络输出的特征图,以便于进行后续的特征比对等操作。
在一种可能的实施方式中,所述第二神经网络的损失函数值包括第一子损失函数值,所述基于所述第一特征图,以及所述第二特征图,确定所述第二神经网络的损失函数值,包括:
确定所述第一特征图与对应层的第二特征图之间的特征相似度;
基于各层的所述特征相似度,确定所述第二神经网络的第一子损失函数值。
在一种可能的实施方式中,所述基于确定的所述损失函数值对所述第二神经网络进行调整,得到训练后的第二神经网络,包括:
基于确定的所述第一子损失函数值对所述第二神经网络进行第一轮训练,得到第一轮训练后的第二神经网络。
这里,在进行第二神经网络的调整过程中,可以是进行多轮训练调整,在不同轮按照不同的损失函数值来控制网络的收敛情况,这将有利于第二神经网络内部的网络层得以充分的学习,进而使得网络识别准确率也会进一步提升。
在一种可能的实施方式中,所述基于确定的所述第一子损失函数值对所述第二神经网络进行第一轮训练,得到第一轮训练后的第二神经网络,包括:
在确定的所述第一子损失函数值大于第一预设阈值的情况下,对所述第二神经网络进行调整,并确定所述第二神经网络的更新后的第一子损失函数值;
循环执行以上步骤,直至更新后的第一子损失函数值不大于第一预设阈值的情况下,得到第一轮训练后的第二神经网络。
这里的第一子损失函数值对应的是特征之间的相似度,利用这一相似度可以使得第一轮训练后的第二神经网络可以在主干网络上趋于第一神经网络,这主要是考虑到主干网络的准确与否直接影响了后续进行识别的准确率,在没有受到其它因素的干扰下对主干网络的训练可以进一步确保主干网络的训练精度。
在一种可能的实施方式中,所述第二神经网络还包括分类层;在得到第一轮训练后的第二神经网络之后,还包括:
将所述第二神经网络的最后一层所述第二特征图输入至所述第二神经网络包括的分类层中,得到所述分类层输出的分类结果;
基于所述分类层输出的分类结果以及所述训练数据中携带的分类标签,确定所述第二神经网络的第二子损失函数值;
所述基于确定的所述损失函数值对所述第二神经网络进行调整,得到训练后的第二神经网络,包括:
基于确定的所述第一子损失函数值以及所述第二子损失函数值对所述第二神经网络进行第二轮训练,得到第二轮训练后的第二神经网络。
在基本完成主干网络的训练之后,可以紧接着训练分类层,这里,可以结合着第一子损失函数值和第二子损失函数值进行第二轮调整,能够确保在对分类层进行优化的同时,保持主干网络的参数状态。
在一种可能的实施方式中,所述基于确定的所述第一子损失函数值以及所述第二子损失函数值对所述第二神经网络进行第二轮训练,得到第二轮训练后的第二神经网络,包括:
在针对第二神经网络进行第二轮调整的过程中,确定与所述第一子损失函数值对应的第一权重,以及与所述第二子损失函数值对应的第二权重;所述第一权重与第二轮训练过程中的训练次数呈负相关,所述第二权重与第二轮训练过程中的训练次数呈正相关;
将所述第一子损失函数值及对应的第一权重、以及所述第二子损失函数值及对应的第二权重进行加权求和,确定所述第二神经网络的加权损失函数值;
基于所述加权损失函数值对所述第二神经网络进行第二轮训练,得到第二轮训练后的第二神经网络。
这里,通过动态的权重设置,可以实现有针对性的网络训练,进一步提升训练精度。
在一种可能的实施方式中,所述基于所述加权损失函数值对所述第二神经网络进行第二轮训练,得到第二轮训练后的第二神经网络,包括:
在所述加权损失函数值大于第二预设阈值的情况下,对所述第二神经网络进行调整,并确定更新后的所述加权损失函数值;
循环执行以上步骤,直至更新后的加权损失函数值不大于第二预设阈值的情况下,得到第二轮训练后的第二神经网络。
在一种可能的实施方式中,所述第二神经网络包括第二特征提取层和分类层;
所述基于所述第一特征图,以及所述第二特征图,确定所述第二神经网络的损失函数值,包括:
将所述第二特征提取层提取的第二特征图输入至所述第二神经网络包括的分类层中,得到所述分类层输出的分类结果;
基于所述第二特征图以及所述第一特征图,确定所述第二神经网络的第一子损失函数值,以及基于所述分类层输出的分类结果以及所述训练数据中携带的分类标签,确定所述第二神经网络的第二子损失函数值;
基于所述第一子损失函数值以及所述第二子损失函数值,确定所述第二神经网络的损失函数值。
在一种可能的实施方式中,所述基于确定的所述损失函数值对所述第二神经网络进行调整,得到训练后的第二神经网络,包括:
在确定的所述损失函数值大于第三预设阈值的情况下,对所述第二神经网络进行调整,并确定更新后的损失函数值;
循环执行上述步骤,直至更新后的损失函数值不大于第三预设阈值的情况下,得到训练后的第二神经网络。
在一种可能的实施方式中,按照如下步骤获取第一神经网络:
获取各个候选的第一神经网络;
基于预设的第一网络参数确定各个候选的第一神经网络的网络精度;所述预设的第一网络参数包括网络深度、网络宽度、输入训练数据的分辨率中的一种或多种;
选取所述网络精度中最大网络精度对应的候选的第一神经网络,作为所述第一神经网络。
这里,可以从预设的第一网络参数对各候选的第一神经网络进行网络精度的计算,以选取出精度足够高的第一神经网络。
在一种可能的实施方式中,按照如下步骤获取第二神经网络:
利用预设的裁剪参数对所述第一神经网络进行裁剪,得到裁剪后的第一神经网络;
确定所述裁剪后的第一神经网络的网络推理速度是否高于预设速度;
若是,则将所述裁剪后的第一神经网络确定为所述第二神经网络。
对于第二神经网络这一小网络而言,可以利用精度足够高的大网络(即第一神经网络)的裁剪操作来确定以提升后续进行网络匹配的兼容度。
第二方面,本公开实施例还提供了一种文字识别的方法,所述方法包括:
获取待识别图像;
将所述待识别图像输入至基于第一方面及其各种实施方式任一所述的方法得到的训练后的第二神经网络中,得到所述第二神经网络输出的文字识别结果。
第三方面,本公开实施例还提供了一种神经网络训练的装置,所述装置包括:
获取模块,用于获取训练数据;
提取模块,用于将所述训练数据分别输入第一神经网络和第二神经网络,以获取所述第一神经网络的第一特征提取层得到的第一特征图,以及所述第二神经网络的第二特征提取层得到的第二特征图,所述第一神经网络的网络精度高于所述第二神经网络的网络精度;
确定模块,用于基于所述第一特征图,以及所述第二特征图,确定所述第二神经网络的损失函数值;
训练模块,用于基于确定的所述损失函数值对所述第二神经网络进行调整,得到训练后的第二神经网络。
第四方面,本公开实施例还提供了一种文字识别的装置,所述装置包括:
获取模块,用于获取待识别图像;
识别模块,用于将所述待识别图像输入至基于第一方面及其各种实施方式任一所述的方法得到的训练后的第二神经网络中,得到所述第二神经网络输出的文字识别结果。
第五方面,本公开实施例还提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面及其各种实施方式任一所述的神经网络训练的方法的步骤或者如第二方面所述的文字识别的方法的步骤。
第六方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面及其各种实施方式任一所述的神经网络训练的方法的步骤或者如第二方面所述的文字识别的方法的步骤。
关于上述装置、电子设备、及计算机可读存储介质的效果描述参见上述方法的说明,这里不再赘述。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种神经网络训练的方法的流程图;
图2示出了本公开实施例所提供的一种神经网络训练的装置的示意图;
图3示出了本公开实施例所提供的一种文字识别的装置的示意图;
图4示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,为了提升神经网络的推理速度,相关技术中提供了一种网络训练方案。以文字识别应用为例,上述方案可以根据期望的推理速度设计神经网络,并直接使用文字识别训练数据和标签训练该网络。然而,由于上述方案缺乏相应的精度提升机制导致网络的精度较低,无法兼顾高精度和高效率的应用需求。
基于上述研究,本公开提供了一种神经网络训练及文字识别的方法、装置、设备及存储介质,以在确保训练效率的情况下,提升训练精度。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种神经网络训练的方法进行详细介绍,本公开实施例所提供的神经网络训练的方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该神经网络训练的方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的神经网络训练的方法的流程图,方法包括步骤S101~S104,其中:
S101:获取训练数据;
S102:将训练数据分别输入第一神经网络和第二神经网络,以获取第一神经网络的第一特征提取层得到的第一特征图,以及第二神经网络的第二特征提取层得到的第二特征图,第一神经网络的网络精度高于第二神经网络的网络精度;
S103:基于第一特征图,以及第二特征图,确定第二神经网络的损失函数值;
S104:基于确定的损失函数值对第二神经网络进行调整,得到训练后的第二神经网络。
为了便于理解本公开实施例提供的神经网络训练的方法,接下来首先可以对该方法的应用场景进行简单说明。本公开实施例中的神经网络训练的方法主要可以应用于网络压缩技术领域,这种网络压缩伴随着对于高推理速度的训练需求应运而生。相关技术提供的网络训练方案可以基于期望的推理速度设计小型的神经网络,然而,由于设计的网络并未对精度进行相关设置而导致训练精度不够。
正是为了解决上述问题,本公开实施例才提供了一种利用高精度的大网络(即第一神经网络)来指导小网络(即第二神经网络)的训练方案,兼顾了推理速度和精度的双重需求。
需要说明的是,针对不同的业务场景,这里的神经网络的功能也不相同。例如,对于文字识别场景而言,这里的神经网络可以是文字识别网络,再如,对于目标检测场景而言,这里的神经网络可以是目标检测网络。接下来多以文字识别网络作为神经网络进行示例说明。
本公开实施例提供的神经网络训练的方法中,结合不同的业务场景,所获取到的训练数据也不同。对于文字识别场景而言,这里的训练数据可以是包含有文字的图像数据,而第一神经网络和第二神经网络可以是从这样的图像数据中确定文字信息的网络。
其中,第一神经网络的网络结构复杂度远远高于第二神经网络的网络结构复杂度,基于这样的复杂度设置可以确保第一神经网络的第一网络精度要高于第二神经网络的第二网络精度。这主要是考虑到网络结构复杂度更高的网络往往可以挖掘到更为深层次的特征,进而确保训练的高精度。
在具体应用中,针对高精度的第一神经网络而言,通过合理设计网络的结构以及增加网络的参数,尽可能地提高网络的精度。这里不需要考虑网络的推理速度。比如,可以借鉴图像分类网络中精度较高的EfficientNet的思想,同时对网络深度(对应网络层数)、网络宽度(对应通道个数)、训练数据的分辨率等进行放大,来提高网络精度。
针对第二神经网络而言,为了实现网络压缩的目的,该网络的推理速度需要足够高,与此同时,还需要确保一定的精度,这主要是由于精度较差的网络没有具体的实用价值,这里的第二神经网络可以是在确保较小精度、较高推理速度的神经网络。
在具体应用中,通过合理设计网络的结构以及裁剪模型的参数,得到推理速度符合需求的小网络。比如,使用移动端场景下经常使用的MobileNetV2的Block作为网络的基本单元,合理设计网络深度、网络宽度等参数,以得到速度很快同时精度也不低的网络。
需要说明的是,这里的第二神经网络可以是基于第一神经网络裁剪得到的,也可以是基于其它原始网络裁剪得到的。
为了确保第一神经网络对于第二神经网络的指导作用,这里可以先利用第一神经网络和第二神经网络分别提取对应的第一特征图和第二特征图,而后基于第一特征图和第二特征图之间的相似度所确定的损失函数值对第二神经网络进行调整。
本公开实施例中的第一神经网络作为指导网络,在针对第二神经网络进行训练的过程中保持网络参数不变。考虑到第一神经网络的主干网络(对应特征提取功能)一般包含较多的语义信息,为了借助这些语义特征来指导第二神经网络的训练,这里可以同步对第二神经网络进行特征提取,并利用特征相似度达到上述指导目的。
这里的第一神经网络可以是由多个第一特征提取层构成的,第二神经网络可以是由多个第二特征提取层构成的。考虑到随着网络层次的加深,所提取的语义也越丰富,通常情况下可以选取最后一个特征提取层输出的特征图来实现特征比对。
然而,本公开实施例考虑到实际的业务场景需求,除了最后一个特征提取层,在这之前的一些特征提取层也为网络带来一定的指导意义,这里可以选取最后N个特征提取层分别输出的特征图作为神经网络输出的特征图。
其中,N表示预设数量,可以结合不同的业务需求或者实际的网络复杂度来选取,例如,针对更为复杂的网络而言,可以选取更多数量的特征提取层。
本公开实施例中,可以基于获取的N个第一特征图和N个第二特征图确定第二神经网络的损失函数值。也即,可以确定第一特征图与对应层的第二特征图之间的特征相似度,而后基于各层的特征相似度,确定第二神经网络的第一子损失函数值。
其中,在确定对应的两个特征图(即第一特征图和第二特征图)的特征相似度的过程中,可以逐层计算,例如,先计算最后一层的两个特征图之间的特征相似度,然后再计算倒数第二层、倒数等三层等层数的两个特征图之间的特征相似度,也可以多层同时计算,也即,同时计算各层对应的两个特征图之间的特征相似度,这里不做具体的限制。
在具体应用中,有关不同层可以设置不同的权重,以为第一子损失函数值提供更切合实际应用需求的参考依据。例如,越是靠后的特征图可以对应设置更大的权重,以体现更深维度的语义信息的作用。
需要说明的是,在进行对应层的两个特征图的特征相似度的计算过程中,可以首先确定两个特征图的特征维度是否一致,如果一致可以直接进行计算,如若不一致,则可以增添中间网络层使得特征维度保持一致后再进行计算。
本公开实施例,在确定第一子损失函数值的情况下,可以对第二神经网络进行第一轮训练,也即,约束小网络的最后一层或几层的输出特征图,使其更接近大网络的最后一层或几层的输出特征图,从而让小网络可以学习到大网络在特征提取过程中的优良特性,以拥有更好的特征提取能力。
在第一轮训练的过程中,本公开实施例可以只使用第一子损失函数值,这主要是因为小网络和大网络的差距主要体现在主干网络的特征提取能力,具体来说就是体现在网络的最后一层或几层的输出特征图的差别上。
随着第一轮训练的进行,第一子损失函数逐渐收敛,这时可以说明小网络的主干网络已经获得了接近大网络的主干网络的特征提取能力。
本公开实施例中,每确定一次第一子损失函数值,可以进行这一损失函数值与第一预设阈值的比较。在确定损失函数值较大的情况下,可以进行一次第二神经网络的调整。在网络调整之后,第一子损失函数值也随之发生更新,进而再次进行比较,循环执行,直到达到第一轮的网络收敛。
为了完成特定的业务功能,这里的第二神经网络还包括有分类层。在完成第一轮调整的情况下,可以对分类层的网络参数进行优化。同理,可以先按照如下步骤确定有关分类层的损失函数值,进而实现第二轮调整。
步骤一、将第二神经网络的最后一层第二特征图输入至第二神经网络包括的分类层中,得到分类层输出的分类结果;
步骤二、基于分类层输出的分类结果以及训练数据中携带的分类标签,确定第二神经网络的第二子损失函数值;
步骤三、基于确定的第一子损失函数值以及第二子损失函数值对第二神经网络进行第二轮训练,得到第二轮训练后的第二神经网络
这里,可以基于分类层输出的分类结果与分类标签之间的比对结果来确定第二子损失函数值。比对结果越接近说明对应的损失函数值越小,反之亦然。
这里的第二轮调整,可以是使用第一子损失函数和第二子损失函数进行网络的联合训练,直到网络达到第二轮的收敛。
在调整的过程中,可以针对第一子损失函数值和第二子损失函数值设置不同的权重来实现既能够对分类层很好的进行优化,又不会破坏主干网络的参数的技术目的。具体可以通过如下步骤来实现:
步骤一、在针对第二神经网络进行第二轮调整的过程中,确定与第一子损失函数值对应的第一权重,以及与第二子损失函数值对应的第二权重;第一权重与第二轮训练过程中的训练次数呈负相关,第二权重与第二轮训练过程中的训练次数呈正相关;
步骤二、将第一子损失函数值及对应的第一权重、以及第二子损失函数值及对应的第二权重进行加权求和,确定第二神经网络的加权损失函数值;
步骤三、基于加权损失函数值对第二神经网络进行第二轮训练,得到第二轮训练后的第二神经网络。
本公开实施例中,之所以没有单独采用第二子损失函数进行训练,主要是为了将避免刚开始引入第二子损失函数的阶段,分类层的参数还是随机的初始状态,只使用第二子损失函数,梯度经过没有充分优化的分类层,反向传播到已经优化到较好状态的主干网络时,可能会破坏主干网络。因而,这里所采用的是联合训练的方式,继续使用第一子损失函数,可以使分类层网络得到优化的同时,保持主干网络的参数状态。而随着分类层参数不断优化,第一子损失函数的作用越来越不重要,因此,第一子损失函数的第一权重不断减小直至为0,第二子损失函数的第二权重不断增大,直至达到第二轮收敛。
有关第一权重和第二权重的设置可以是动态完成的,也即,随着第二轮训练过程中训练次数的增加,可以按照每完成若干次数,即进行一次权重调整。在具体应用中,还可以是结合相应的递减函数来调整第一权重,以及相应的递增函数来调整第二权重,具体不再进行赘述。
这里,有关基于加权损失函数值对第二神经网络进行第二轮训练的过程,可以参照上述基于第一子损失函数值进行第一轮训练的过程,同样需要基于网络调整来更新损失函数值,直至达到网络收敛,在此不再赘述。
本公开实施例提供的神经网络训练的方法,除了可以采用上述先基于第一子损失函数进行第二神经网络的主干网络的训练,再联合第一子损失函数和第二子损失函数进行第二神经网络的分类层的训练,还可以直接采用联合训练的方式以同步训练主干网络和分类层。具体可以通过如下步骤来实现:
步骤一、将第二特征提取层提取的第二特征图输入至第二神经网络包括的分类层中,得到分类层输出的分类结果;
步骤二、基于第二特征图以及第一特征图,确定第二神经网络的第一子损失函数值,以及基于分类层输出的分类结果以及训练数据中携带的分类标签,确定第二神经网络的第二子损失函数值;
步骤三、基于第一子损失函数值以及第二子损失函数值,确定第二神经网络的损失函数值。
这里,可以分别确定第一子损失函数值和第二子损失函数值以确定第二神经网络的损失函数值。
有关第一子损失函数值和第二子损失函数值的确定过程参见上述描述内容,在此不再赘述。
有关基于第二神经网络的损失函数值实现第二神经网络的训练过程,可以参见上述内容,在此也不再赘述。
需要说明的是,在进行第二神经网络调整的过程中,所设置的第一预设阈值、第二预设阈值和第三预设阈值可以结合不同的应用需求来设置,这里不做具体的限制。
本公开实施例中的第一神经网络和第二神经网络作为实现网络压缩的基础网络,接下来可以分别进行说明。
一方面,本公开实施例可以按照如下步骤确定第一神经网络:
步骤一、获取各个候选的第一神经网络;
步骤二、基于预设的第一网络参数确定各个候选的第一神经网络的网络精度;预设的第一网络参数包括网络深度、网络宽度、输入训练数据的分辨率中的一种或多种;
步骤三、选取网络精度中最大网络精度对应的候选的第一神经网络,作为第一神经网络。
这里,可以基于不同参考维度的第一网络参数来选取较高精度的第一神经网络。这主要是考虑到网络深度、网络宽度、输入训练数据的分辨率等相关网络参数直接影响了网络结构复杂度,网络深度越深、网络宽度越宽、输入训练数据的分辨率越高,一定程度也说明了网络结构复杂度也越高,对应挖掘出的语义信息也越丰富,进而提升了网络精度。
另一方面,本公开实施例可以按照如下步骤确定第二神经网络:
步骤一、利用预设的裁剪参数对第一神经网络进行裁剪,得到裁剪后的第一神经网络;
步骤二、确定裁剪后的第一神经网络的网络推理速度是否高于预设速度;
步骤三、若是,则将裁剪后的第一神经网络确定为第二神经网络。
这里,可以基于第一神经网络的裁剪操作来确定第二神经网络,这样所确定的第二神经网络的网络推理速度不仅更快,而且可以一定程度上与第一神经网络保持结构上的一致性,进而便于后续的网络训练。
其中,有关裁剪操作可以是基于预设的裁剪参数所确定的,例如,可以是裁剪多少数量的通道,还可以是裁剪多少网络层等。
另外,裁剪后的第一神经网络的网络推理速度可以是在将训练数据输入到这一网络中测试得到的,网络推理速度越快,网络输出结果也越快,通过将输出的速度与预设速度相比较,可以确定裁剪后的第一神经网络是否满足第二神经网络的速度要求。
基于本公开实施例提供的神经网络训练的方法,本公开实施例还提供了一种文本识别的方法,具体包括如下步骤:
步骤一、获取待识别图像;
步骤二、将待识别图像输入至基于神经网络训练的方法得到的训练后的第二神经网络中,得到第二神经网络输出的文字识别结果。
这里所获取的待识别图像可以是需要进行识别的图像。在上述第二神经网络具有文字识别功能的情况下,可以利用第二神经网络得到文字识别结果,这里的文字识别结果可以是有关手写、打印等文字内容。
需要说明的是,上述第二神经网络还可以是具有目标检测功能的神经网络,继而可以实现有关目标对象的检测,此外,还可以是其它神经网络,这里不做赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与方法对应的装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图2所示,为本公开实施例提供的一种神经网络训练的装置的示意图,装置包括:获取模块201、提取模块202、确定模块203和训练模块204;其中,
获取模块201,用于获取训练数据;
提取模块202,用于将训练数据分别输入第一神经网络和第二神经网络,以获取第一神经网络的第一特征提取层得到的第一特征图,以及第二神经网络的第二特征提取层得到的第二特征图,第一神经网络的网络精度高于第二神经网络的网络精度;
确定模块203,用于基于第一特征图,以及第二特征图,确定第二神经网络的损失函数值;
训练模块204,用于基于确定的损失函数值对第二神经网络进行调整,得到训练后的第二神经网络。
采用上述神经网络训练的装置,在获取到两个网络精度不同的神经网络(即第一神经网络和第二神经网络)的情况下,可以基于高网络精度的第一神经网络来指导低网络精度的第二神经网络的训练。在训练的过程中,可以基于两个神经网络所输出的特征图来确定第二神经网络的损失函数值,进而基于这一损失函数值进行网络参数的调整。可知的是,两个神经网络所输出的特征图越接近,一定程度上可以说明第二神经网络从第一神经网络所学习到的特征也越充分,从而可以在确保训练效率的情况下,提升训练精度。
在一种可能的实施方式中,第一神经网络包括多个第一特征提取层,第二神经网络包括多个第二特征提取层;
提取模块202,用于按照以下步骤将训练数据分别输入第一神经网络和第二神经网络,以获取第一神经网络的第一特征提取层得到的第一特征图,以及第二神经网络的第二特征提取层得到的第二特征图:
利用多个第一特征提取层对训练数据进行特征提取,获取第一神经网络的最后N个第一特征提取层分别输出的第一特征图;N为预设数量;以及,
利用多个第二特征提取层对训练数据进行特征提取,获取第二神经网络的最后N个第二特征提取层分别输出的第二特征图。
在一种可能的实施方式中,第二神经网络的损失函数值包括第一子损失函数值,确定模块203,用于按照以下步骤基于第一特征图,以及第二特征图,确定第二神经网络的损失函数值:
确定第一特征图与对应层的第二特征图之间的特征相似度;
基于各层的特征相似度,确定第二神经网络的第一子损失函数值。
在一种可能的实施方式中,训练模块204,用于按照以下步骤基于确定的损失函数值对第二神经网络进行调整,得到训练后的第二神经网络:
基于确定的第一子损失函数值对第二神经网络进行第一轮训练,得到第一轮训练后的第二神经网络。
在一种可能的实施方式中,训练模块204,用于按照以下步骤基于确定的第一子损失函数值对第二神经网络进行第一轮训练,得到第一轮训练后的第二神经网络:
在确定的第一子损失函数值大于第一预设阈值的情况下,对第二神经网络进行调整,并确定第二神经网络的更新后的第一子损失函数值;
循环执行以上步骤,直至更新后的第一子损失函数值不大于第一预设阈值的情况下,得到第一轮训练后的第二神经网络。
在一种可能的实施方式中,第二神经网络还包括分类层;确定模块203,还用于:
在得到第一轮训练后的第二神经网络之后,将第二神经网络的最后一层第二特征图输入至第二神经网络包括的分类层中,得到分类层输出的分类结果;基于分类层输出的分类结果以及训练数据中携带的分类标签,确定第二神经网络的第二子损失函数值;
训练模块204,用于按照以下步骤基于确定的损失函数值对第二神经网络进行调整,得到训练后的第二神经网络:
基于确定的第一子损失函数值以及第二子损失函数值对第二神经网络进行第二轮训练,得到第二轮训练后的第二神经网络。
在一种可能的实施方式中,训练模块204,用于按照以下步骤基于确定的第一子损失函数值以及第二子损失函数值对第二神经网络进行第二轮训练,得到第二轮训练后的第二神经网络:
在针对第二神经网络进行第二轮调整的过程中,确定与第一子损失函数值对应的第一权重,以及与第二子损失函数值对应的第二权重;第一权重与第二轮训练过程中的训练次数呈负相关,第二权重与第二轮训练过程中的训练次数呈正相关;
将第一子损失函数值及对应的第一权重、以及第二子损失函数值及对应的第二权重进行加权求和,确定第二神经网络的加权损失函数值;
基于加权损失函数值对第二神经网络进行第二轮训练,得到第二轮训练后的第二神经网络。
在一种可能的实施方式中,训练模块204,用于按照以下步骤基于加权损失函数值对第二神经网络进行第二轮训练,得到第二轮训练后的第二神经网络:
在加权损失函数值大于第二预设阈值的情况下,对第二神经网络进行调整,并确定更新后的加权损失函数值;
循环执行以上步骤,直至更新后的加权损失函数值不大于第二预设阈值的情况下,得到第二轮训练后的第二神经网络。
在一种可能的实施方式中,第二神经网络包括第二特征提取层和分类层;
确定模块203,用于按照以下步骤基于第一特征图,以及第二特征图,确定第二神经网络的损失函数值:
将第二特征提取层提取的第二特征图输入至第二神经网络包括的分类层中,得到分类层输出的分类结果;
基于第二特征图以及第一特征图,确定第二神经网络的第一子损失函数值,以及基于分类层输出的分类结果以及训练数据中携带的分类标签,确定第二神经网络的第二子损失函数值;
基于第一子损失函数值以及第二子损失函数值,确定第二神经网络的损失函数值。
在一种可能的实施方式中,训练模块204,用于按照以下步骤基于确定的损失函数值对第二神经网络进行调整,得到训练后的第二神经网络:
在确定的损失函数值大于第三预设阈值的情况下,对第二神经网络进行调整,并确定更新后的损失函数值;
循环执行上述步骤,直至更新后的损失函数值不大于第三预设阈值的情况下,得到训练后的第二神经网络。
在一种可能的实施方式中,获取模块201,用于按照如下步骤获取第一神经网络:
获取各个候选的第一神经网络;
基于预设的第一网络参数确定各个候选的第一神经网络的网络精度;预设的第一网络参数包括网络深度、网络宽度、输入训练数据的分辨率中的一种或多种;
选取网络精度中最大网络精度对应的候选的第一神经网络,作为第一神经网络。
在一种可能的实施方式中,获取模块201,用于按照如下步骤获取第二神经网络:
利用预设的裁剪参数对第一神经网络进行裁剪,得到裁剪后的第一神经网络;
确定裁剪后的第一神经网络的网络推理速度是否高于预设速度;
若是,则将裁剪后的第一神经网络确定为第二神经网络。
参照图3所示,为本公开实施例提供的一种文字识别的装置的示意图,装置包括:获取模块301和识别模块302;其中,
获取模块301,用于获取待识别图像;
识别模块302,用于将待识别图像输入至基于神经网络训练的方法得到的训练后的第二神经网络中,得到第二神经网络输出的文字识别结果。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种电子设备,如图4所示,为本公开实施例提供的电子设备结构示意图,包括:处理器401、存储器402、和总线403。存储器402存储有处理器401可执行的机器可读指令(比如,图2中的装置中获取模块201、提取模块202、确定模块203、训练模块204对应的执行指令等;再如,图3中的装置中获取模块301、识别模块302对应的执行指令等),当电子设备运行时,处理器401与存储器402之间通过总线403通信,机器可读指令被处理器401执行时执行本公开实施例提供的神经网络训练的方法或者文字识别的方法。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (17)
1.一种神经网络训练的方法,其特征在于,所述方法包括:
获取训练数据;
将所述训练数据分别输入第一神经网络和第二神经网络,以获取所述第一神经网络的第一特征提取层得到的第一特征图,以及所述第二神经网络的第二特征提取层得到的第二特征图,所述第一神经网络的网络精度高于所述第二神经网络的网络精度;
基于所述第一特征图,以及所述第二特征图,确定所述第二神经网络的损失函数值;
基于确定的所述损失函数值对所述第二神经网络进行调整,得到训练后的第二神经网络。
2.根据权利要求1所述的方法,其特征在于,所述第一神经网络包括多个第一特征提取层,所述第二神经网络包括多个第二特征提取层;
所述将所述训练数据分别输入第一神经网络和第二神经网络,以获取所述第一神经网络的第一特征提取层得到的第一特征图,以及所述第二神经网络的第二特征提取层得到的第二特征图,包括:
利用所述多个第一特征提取层对所述训练数据进行特征提取,获取所述第一神经网络的最后N个第一特征提取层分别输出的第一特征图;N为预设数量;以及,
利用所述多个第二特征提取层对所述训练数据进行特征提取,获取所述第二神经网络的最后N个第二特征提取层分别输出的第二特征图。
3.根据权利要求2所述的方法,其特征在于,所述第二神经网络的损失函数值包括第一子损失函数值,所述基于所述第一特征图,以及所述第二特征图,确定所述第二神经网络的损失函数值,包括:
确定所述第一特征图与对应层的第二特征图之间的特征相似度;
基于各层的所述特征相似度,确定所述第二神经网络的第一子损失函数值。
4.根据权利要求3所述的方法,其特征在于,所述基于确定的所述损失函数值对所述第二神经网络进行调整,得到训练后的第二神经网络,包括:
基于确定的所述第一子损失函数值对所述第二神经网络进行第一轮训练,得到第一轮训练后的第二神经网络。
5.根据权利要求4所述的方法,其特征在于,所述基于确定的所述第一子损失函数值对所述第二神经网络进行第一轮训练,得到第一轮训练后的第二神经网络,包括:
在确定的所述第一子损失函数值大于第一预设阈值的情况下,对所述第二神经网络进行调整,并确定所述第二神经网络的更新后的第一子损失函数值;
循环执行以上步骤,直至更新后的第一子损失函数值不大于第一预设阈值的情况下,得到第一轮训练后的第二神经网络。
6.根据权利要求4或5所述的方法,其特征在于,所述第二神经网络还包括分类层;在得到第一轮训练后的第二神经网络之后,还包括:
将所述第二神经网络的最后一层所述第二特征图输入至所述第二神经网络包括的分类层中,得到所述分类层输出的分类结果;
基于所述分类层输出的分类结果以及所述训练数据中携带的分类标签,确定所述第二神经网络的第二子损失函数值;
所述基于确定的所述损失函数值对所述第二神经网络进行调整,得到训练后的第二神经网络,包括:
基于确定的所述第一子损失函数值以及所述第二子损失函数值对所述第二神经网络进行第二轮训练,得到第二轮训练后的第二神经网络。
7.根据权利要求6所述的方法,其特征在于,所述基于确定的所述第一子损失函数值以及所述第二子损失函数值对所述第二神经网络进行第二轮训练,得到第二轮训练后的第二神经网络,包括:
在针对第二神经网络进行第二轮调整的过程中,确定与所述第一子损失函数值对应的第一权重,以及与所述第二子损失函数值对应的第二权重;所述第一权重与第二轮训练过程中的训练次数呈负相关,所述第二权重与第二轮训练过程中的训练次数呈正相关;
将所述第一子损失函数值及对应的第一权重、以及所述第二子损失函数值及对应的第二权重进行加权求和,确定所述第二神经网络的加权损失函数值;
基于所述加权损失函数值对所述第二神经网络进行第二轮训练,得到第二轮训练后的第二神经网络。
8.根据权利要求7所述的方法,其特征在于,所述基于所述加权损失函数值对所述第二神经网络进行第二轮训练,得到第二轮训练后的第二神经网络,包括:
在所述加权损失函数值大于第二预设阈值的情况下,对所述第二神经网络进行调整,并确定更新后的所述加权损失函数值;
循环执行以上步骤,直至更新后的加权损失函数值不大于第二预设阈值的情况下,得到第二轮训练后的第二神经网络。
9.根据权利要求1所述的方法,其特征在于,所述第二神经网络包括第二特征提取层和分类层;
所述基于所述第一特征图,以及所述第二特征图,确定所述第二神经网络的损失函数值,包括:
将所述第二特征提取层提取的第二特征图输入至所述第二神经网络包括的分类层中,得到所述分类层输出的分类结果;
基于所述第二特征图以及所述第一特征图,确定所述第二神经网络的第一子损失函数值,以及基于所述分类层输出的分类结果以及所述训练数据中携带的分类标签,确定所述第二神经网络的第二子损失函数值;
基于所述第一子损失函数值以及所述第二子损失函数值,确定所述第二神经网络的损失函数值。
10.根据权利要求9所述的方法,其特征在于,所述基于确定的所述损失函数值对所述第二神经网络进行调整,得到训练后的第二神经网络,包括:
在确定的所述损失函数值大于第三预设阈值的情况下,对所述第二神经网络进行调整,并确定更新后的损失函数值;
循环执行上述步骤,直至更新后的损失函数值不大于第三预设阈值的情况下,得到训练后的第二神经网络。
11.根据权利要求1至10任一所述的方法,其特征在于,按照如下步骤获取第一神经网络:
获取各个候选的第一神经网络;
基于预设的第一网络参数确定各个候选的第一神经网络的网络精度;所述预设的第一网络参数包括网络深度、网络宽度、输入训练数据的分辨率中的一种或多种;
选取所述网络精度中最大网络精度对应的候选的第一神经网络,作为所述第一神经网络。
12.根据权利要求1至11任一所述的方法,其特征在于,按照如下步骤获取第二神经网络:
利用预设的裁剪参数对所述第一神经网络进行裁剪,得到裁剪后的第一神经网络;
确定所述裁剪后的第一神经网络的网络推理速度是否高于预设速度;
若是,则将所述裁剪后的第一神经网络确定为所述第二神经网络。
13.一种文字识别的方法,其特征在于,所述方法包括:
获取待识别图像;
将所述待识别图像输入至基于权利要求1至12任一所述的方法得到的训练后的第二神经网络中,得到所述第二神经网络输出的文字识别结果。
14.一种神经网络训练的装置,其特征在于,所述装置包括:
获取模块,用于获取训练数据;
提取模块,用于将所述训练数据分别输入第一神经网络和第二神经网络,以获取所述第一神经网络的第一特征提取层得到的第一特征图,以及所述第二神经网络的第二特征提取层得到的第二特征图,所述第一神经网络的网络精度高于所述第二神经网络的网络精度;
确定模块,用于基于所述第一特征图,以及所述第二特征图,确定所述第二神经网络的损失函数值;
训练模块,用于基于确定的所述损失函数值对所述第二神经网络进行调整,得到训练后的第二神经网络。
15.一种文字识别的装置,其特征在于,所述装置包括:
获取模块,用于获取待识别图像;
识别模块,用于将所述待识别图像输入至基于权利要求1至12任一所述的方法得到的训练后的第二神经网络中,得到所述第二神经网络输出的文字识别结果。
16.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至12任一所述的神经网络训练的方法的步骤或者如权利要求13所述的文字识别的方法的步骤。
17.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至12任一所述的神经网络训练的方法的步骤或者如权利要求13所述的文字识别的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111098789.5A CN113780556A (zh) | 2021-09-18 | 2021-09-18 | 神经网络训练及文字识别的方法、装置、设备及存储介质 |
PCT/CN2022/114914 WO2023040626A1 (zh) | 2021-09-18 | 2022-08-25 | 神经网络训练及文字识别的方法、装置、设备、存储介质及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111098789.5A CN113780556A (zh) | 2021-09-18 | 2021-09-18 | 神经网络训练及文字识别的方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113780556A true CN113780556A (zh) | 2021-12-10 |
Family
ID=78852463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111098789.5A Pending CN113780556A (zh) | 2021-09-18 | 2021-09-18 | 神经网络训练及文字识别的方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113780556A (zh) |
WO (1) | WO2023040626A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023040626A1 (zh) * | 2021-09-18 | 2023-03-23 | 上海商汤智能科技有限公司 | 神经网络训练及文字识别的方法、装置、设备、存储介质及计算机程序产品 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116384460B (zh) * | 2023-03-29 | 2024-06-11 | 清华大学 | 鲁棒性光学神经网络训练方法、装置、电子设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111260060A (zh) * | 2020-02-20 | 2020-06-09 | 武汉大学 | 一种基于动态强度的物体检测神经网络混合训练方法及系统 |
CN111325318A (zh) * | 2019-02-01 | 2020-06-23 | 北京地平线机器人技术研发有限公司 | 神经网络的训练方法、神经网络的训练装置和电子设备 |
CN111414987A (zh) * | 2019-01-08 | 2020-07-14 | 南京人工智能高等研究院有限公司 | 神经网络的训练方法、训练装置和电子设备 |
CN112487913A (zh) * | 2020-11-24 | 2021-03-12 | 北京市地铁运营有限公司运营四分公司 | 一种基于神经网络的标注方法、装置及电子设备 |
CN113378866A (zh) * | 2021-08-16 | 2021-09-10 | 深圳市爱深盈通信息技术有限公司 | 图像分类方法、系统、存储介质及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180027887A (ko) * | 2016-09-07 | 2018-03-15 | 삼성전자주식회사 | 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 트레이닝 방법 |
CN112288086B (zh) * | 2020-10-30 | 2022-11-25 | 北京市商汤科技开发有限公司 | 一种神经网络的训练方法、装置以及计算机设备 |
CN113780556A (zh) * | 2021-09-18 | 2021-12-10 | 深圳市商汤科技有限公司 | 神经网络训练及文字识别的方法、装置、设备及存储介质 |
-
2021
- 2021-09-18 CN CN202111098789.5A patent/CN113780556A/zh active Pending
-
2022
- 2022-08-25 WO PCT/CN2022/114914 patent/WO2023040626A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414987A (zh) * | 2019-01-08 | 2020-07-14 | 南京人工智能高等研究院有限公司 | 神经网络的训练方法、训练装置和电子设备 |
CN111325318A (zh) * | 2019-02-01 | 2020-06-23 | 北京地平线机器人技术研发有限公司 | 神经网络的训练方法、神经网络的训练装置和电子设备 |
CN111260060A (zh) * | 2020-02-20 | 2020-06-09 | 武汉大学 | 一种基于动态强度的物体检测神经网络混合训练方法及系统 |
CN112487913A (zh) * | 2020-11-24 | 2021-03-12 | 北京市地铁运营有限公司运营四分公司 | 一种基于神经网络的标注方法、装置及电子设备 |
CN113378866A (zh) * | 2021-08-16 | 2021-09-10 | 深圳市爱深盈通信息技术有限公司 | 图像分类方法、系统、存储介质及电子设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023040626A1 (zh) * | 2021-09-18 | 2023-03-23 | 上海商汤智能科技有限公司 | 神经网络训练及文字识别的方法、装置、设备、存储介质及计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
WO2023040626A1 (zh) | 2023-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625635B (zh) | 问答处理方法、装置、设备及存储介质 | |
CN110598206A (zh) | 文本语义识别方法、装置、计算机设备和存储介质 | |
CN110245557B (zh) | 图片处理方法、装置、计算机设备及存储介质 | |
CN110569500A (zh) | 文本语义识别方法、装置、计算机设备和存储介质 | |
CN110163181B (zh) | 手语识别方法及装置 | |
CN113780556A (zh) | 神经网络训练及文字识别的方法、装置、设备及存储介质 | |
CN110222329B (zh) | 一种基于深度学习的中文分词方法和装置 | |
CN112819157B (zh) | 神经网络训练的方法及装置、智能行驶控制的方法及装置 | |
CN118113815B (zh) | 内容搜索方法、相关装置和介质 | |
CN113792734A (zh) | 神经网络训练及图像处理的方法、装置、设备及存储介质 | |
CN113723077A (zh) | 基于双向表征模型的句向量生成方法、装置及计算机设备 | |
CN113139751A (zh) | 基于大数据的微服务用户业务类型确定方法 | |
CN114078471A (zh) | 网络模型处理方法、装置、设备及计算机可读存储介质 | |
CN112200216A (zh) | 汉字识别方法、装置、计算机设备和存储介质 | |
CN111930884A (zh) | 一种确定回复语句的方法、设备和人机对话系统 | |
CN112800752B (zh) | 纠错方法、装置、设备以及存储介质 | |
CN115860004A (zh) | 文本语义相似度匹配方法、装置、设备及存储介质 | |
KR20220034077A (ko) | 문자 생성 모델의 트레이닝 방법, 문자 생성 방법, 장치 및 설비 | |
CN114648679A (zh) | 神经网络训练、目标检测的方法及装置、设备及存储介质 | |
CN115130455A (zh) | 文章处理方法、装置、电子设备以及存储介质 | |
CN114429579A (zh) | 图像处理、分类方法及装置、电子设备及存储介质 | |
CN114782721A (zh) | 图像处理及目标检测方法、装置、设备及存储介质 | |
CN114239731A (zh) | 分类网络的训练方法、图像分类方法及装置 | |
CN113361260A (zh) | 一种文本处理方法、装置、设备以及存储介质 | |
CN112749565B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40058654 Country of ref document: HK |