CN111898424A - 文字识别模型训练方法、装置、电子设备及存储介质 - Google Patents
文字识别模型训练方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111898424A CN111898424A CN202010566794.3A CN202010566794A CN111898424A CN 111898424 A CN111898424 A CN 111898424A CN 202010566794 A CN202010566794 A CN 202010566794A CN 111898424 A CN111898424 A CN 111898424A
- Authority
- CN
- China
- Prior art keywords
- training
- character recognition
- data
- recognition model
- parallel
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Character Discrimination (AREA)
Abstract
本发明实施例提供了一种文字识别模型训练方法、装置、电子设备及存储介质,方法包括:获取用于对文字识别模型进行训练的训练数据;根据并行处理器的数量对所述训练数据进行分片,得到各数据分片;将所述各数据分片对应分发至各并行处理器,并将所述文字识别模型发送至各并行处理器,以使各并行处理器利用接收到的数据分片对本地的所述文字识别模型进行训练,以获得初始训练参数;根据各并行处理器获得的初始训练参数,确定所述文字识别模型的目标训练参数;根据所述目标训练参数优化所述文字识别模型。本发明实施例可以有效利用各处理器的计算资源,并优化文字识别模型,从而大幅度提升文字模型的迭代速度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种文字识别模型训练方法、装置、电子设备及存储介质。
背景技术
在房产交易的过程中,各个房产交易环节都会要求客户上传与该房产交易环节相关的文件,对于上述交易文件的上传,大多数房产中介采用由房屋经纪人利用OCR文字识别技术手动完成相应地信息录入,然而在利用OCR文字识别技术,训练OCR文字识别模型时,目前均采用在一台机器上进行模型训练,由于房产交易所需数据量巨大,在单机上进行模型训练将存在如下问题:
在单机上进行模型训练不仅会导致模型训练速度过慢,而且因为单一机器的计算资源有限,无法对模型结构进行相应地优化,随着线上数据的回流,模型的训练集会越来越多,不利于训练模型的迭代。
发明内容
针对现有技术中存在的问题,本发明实施例提供一种文字识别模型训练方法、装置、电子设备及存储介质。
第一方面,本发明实施例提供一种文字识别模型训练方法,包括:
获取用于对文字识别模型进行训练的训练数据;
根据并行处理器的数量对所述训练数据进行分片,得到各数据分片;
将所述各数据分片对应分发至各并行处理器,并将所述文字识别模型发送至各并行处理器,以使各并行处理器利用接收到的数据分片对本地的所述文字识别模型进行训练,以获得初始训练参数;
根据各并行处理器获得的初始训练参数,确定所述文字识别模型的目标训练参数;
根据所述目标训练参数优化所述文字识别模型。
进一步地,所述根据各并行处理器获得的初始训练参数,确定所述文字识别模型的目标训练参数,包括:
采用Ring-Allreduce算法对各并行处理器获得的初始训练参数进行处理,确定所述文字识别模型的目标训练参数。
进一步地,所述初始训练参数为各并行处理器利用本地的数据分片对所述文字识别模型进行反向传播计算后得到的梯度参数。
进一步地,将所述各数据分片对应分发至各并行处理器,并将所述文字识别模型发送至各并行处理器,包括:
将所述各数据分片按照相同的第一指定路径对应分发至各并行处理器,使得各并行处理器存储对应数据分片的路径一致;
将所述文字识别模型按照相同的第二指定路径发送至各并行处理器,使得各并行处理器存储所述文字识别模型的路径一致。
进一步地,在各并行处理器利用接收到的数据分片对本地的所述文字识别模型进行训练时,所述方法还包括:
对于所述文字识别模型的预设指定网络层,在进行卷积训练操作之前,利用1*1的卷积核对所述预设指定网络层进行降维处理。
进一步地,在根据并行处理器的数量对所述训练数据进行分片,得到各数据分片之前,所述方法还包括:
根据预设脏数据集合,对所述训练数据进行数据清洗,以去除所述训练数据中属于所述预设脏数据集合的脏数据;
和/或,
对所述训练数据进行格式转换的预处理操作。
进一步地,所述训练数据为图片;相应地,对所述训练数据进行格式转换的预处理操作,包括:
根据预设图片缩放比例,对所述图片进行比例缩放,获得训练输入数据;
根据所述图片中包含的文字内容生成字符集字典,并将所述图片中包含的文字内容转换成字符集字典的索引,获得训练标签数据。
第二方面,本发明实施例提供了一种文字识别模型训练装置,包括:
获取模块,用于获取用于对文字识别模型进行训练的训练数据;
分片处理模块,用于根据并行处理器的数量对所述训练数据进行分片,得到各数据分片;
并行训练模块,用于将所述各数据分片对应分发至各并行处理器,并将所述文字识别模型发送至各并行处理器,以使各并行处理器利用接收到的数据分片对本地的所述文字识别模型进行训练,以获得初始训练参数;
并行结果处理模块,用于根据各并行处理器获得的初始训练参数,确定所述文字识别模型的目标训练参数;
优化模块,用于根据所述目标训练参数优化所述文字识别模型。
进一步地,所述并行结果处理模块,具体用于:
采用Ring-Allreduce算法对各并行处理器获得的初始训练参数进行处理,确定所述文字识别模型的目标训练参数。
进一步地,所述并行结果处理模块中所述初始训练参数为各并行处理器利用本地的数据分片对所述文字识别模型进行反向传播计算后得到的梯度参数。
进一步地,所述并行训练模块,在将所述各数据分片对应分发至各并行处理器,并将所述文字识别模型发送至各并行处理器时,具体用于:
将所述各数据分片按照相同的第一指定路径对应分发至各并行处理器,使得各并行处理器存储对应数据分片的路径一致;
将所述文字识别模型按照相同的第二指定路径发送至各并行处理器,使得各并行处理器存储所述文字识别模型的路径一致。
进一步地,在各并行处理器利用接收到的数据分片对本地的所述文字识别模型进行训练时,所述装置还包括:降维模块,用于:
对于所述文字识别模型的预设指定网络层,在进行卷积训练操作之前,利用1*1的卷积核对所述预设指定网络层进行降维处理。
进一步地,所述装置还包括:数据清洗模块,用于:
根据预设脏数据集合,对所述训练数据进行数据清洗,以去除所述训练数据中属于所述预设脏数据集合的脏数据;
和/或,
预处理模块,用于对所述训练数据进行格式转换的预处理操作。
进一步地,所述训练数据为图片;相应地,预处理模块,具体用于:
根据预设图片缩放比例,对所述图片进行比例缩放,获得训练输入数据;
根据所述图片中包含的文字内容生成字符集字典,并将所述图片中包含的文字内容转换成字符集字典的索引,获得训练标签数据。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上第一方面所述的文字识别模型训练方法的步骤。
第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上第一方面所述的文字识别模型训练方法的步骤。
由上述技术方案可知,本发明实施例提供的文字识别模型训练方法、装置、电子设备及存储介质,根据并行处理器的数量对训练数据进行分片得到各数据分片,并将所述各数据分片对应分发至各并行处理器对文字识别模型进行并行训练,以获得初始训练参数,根据获得的初始训练参数确定文字识别模型的目标训练参数,从而使用目标训练参数优化文字识别模型,从而可以充分利用各个处理器的计算资源,使得各个处理器并行地对不同的训练数据进行训练,从而可以大幅度提升模型训练速度,进而可以加快模型的迭代。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术提供的单机训练方式的结构示意图;
图2为本发明一实施例提供的文字识别模型训练方法的流程示意图;
图3-图15为本发明一实施例提供的Ring-Allreduce算法的结构示意图;
图16为本发明一实施例提供的对预设指定网络层进行降维处理的结构示意图;
图17为本发明一实施例提供的文字识别模型训练装置的结构示意图;
图18为本发明一实施例中电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着各行业自动化程度的提升,越来越多的场景需要用到文字自动识别,OCR文字识别技术存在较大的市场需求,例如对于自动阅卷场景,又如对于证件读取场景等。在这些场景下,OCR文字识别不仅能减小人工录入的错误,同时能够提高人效。由于OCR文字识别需要用到OCR文字识别模型,而OCR文字识别模型在使用之前需要先经过训练过程,只有经过训练过的文字识别模型才能够进行较为准确的识别。也就是说,OCR文字识别模型的识别准确率与训练集以及训练过程息息相关。目前在训练OCR文字识别模型时,都是采用的单机训练方式,参见图1,也就是在单机上进行模型训练。然而单机训练存在如下问题:由于单机计算资源的限制,会导致模型训练速度过慢,进而使得模型迭代较缓,无法满足实际需求。例如,具体来说,随着线上数据的回流,模型的训练集会越来越大,使得训练压力变大,因此如何快速有效的进行模型训练和迭代,成为了目前急需解决的问题。在这种背景下,为了加快模型的迭代,提高模型训练速度,本发明提出了一种文字识别模型训练方法,本发明基于数据并行处理的分布式思想,将训练数据拆分成多个数据分片,并将各数据分片对应分发至各并行处理器对文字识别模型进行并行训练,从而可以充分利用各个处理器的计算资源,使得各个处理器并行地对不同的训练数据进行训练,从而可以大幅度提升模型训练速度,进而可以加快模型的迭代。下面将通过具体的实施例对本发明提供的文字识别模型训练方法进行详细解释和说明。
图2为本发明一实施例提供的文字识别模型训练方法的流程示意图;如图2所示,该方法包括:
步骤101:获取用于对文字识别模型进行训练的训练数据。
在本步骤中,用于对文字识别模型进行训练的训练数据包括输入数据和标签数据,其中,输入数据可以为待进行文字识别的图片;标签数据(也可以称为输出数据)为待进行文字识别的图片上的文字。
在本步骤中,在获得输入数据和标签数据后,就可以对文字识别模型进行训练,进而可以得到训练好的文字识别模型。需要说明的是,训练数据越完备,训练得到的文字识别模型的识别准确率也就越高,因此,需要不断获取新的训练数据,然后利用新获取的训练数据对文字识别模型进行不断训练,以提高文字识别模型的识别准确率。
在本步骤中,还需要说明的是,利用训练数据对文字识别模型进行不断训练的过程,实际上是指利用训练数据对文字识别模型中的模型参数进行不断训练的过程。
在本步骤中,待进行文字识别的图片可以为与房产交易相关的证件,如身份证、结婚证、户口本、房产证、公证书等。
步骤102:根据并行处理器的数量对训练数据进行分片,得到各数据分片。
在本步骤中,根据并行处理器的数量对训练数据进行分片,举例来说,若存在10个并行的处理器,则将训练数据按互不重叠的原则分为10份,得到10份数据分片,一方面可以保证各个机器选取的数据互不重叠,另一方面,可以使得10个处理器可以并行地利用不同的训练数据对模型进行训练,从而在提高模型训练效率的同时,保证训练效果。
步骤103:将各数据分片对应分发至各并行处理器,并将文字识别模型发送至各并行处理器,以使各并行处理器利用接收到的数据分片对本地的文字识别模型进行训练,以获得初始训练参数。
在本步骤中,将各数据分片以及文字识别模型一并发送至各并行处理器,可以有效利用各并行处理器的计算资源。此外,由于步骤102中得到的各数据分片为互不重叠的数据集,那么在本步骤中各并行处理器获得的初始训练参数不同。
需要说明的是,根据并行处理器的数量对训练数据进行分片得到各数据分片,并将各数据分片对应分发至各并行处理器对文字识别模型进行并行训练,从而可以充分利用各个处理器的计算资源,使得各个处理器并行地对不同的训练数据进行训练,从而可以大幅度提升模型训练速度,进而可以加快模型的迭代。
步骤104:根据各并行处理器获得的初始训练参数,确定文字识别模型的目标训练参数。
在本步骤中,在取得各并行处理器获得的初始训练参数后,需要对各并行处理器获得的初始训练参数进行处理,综合各并行处理器获得的初始训练参数来确定文字识别模型的目标训练参数。在本步骤中,举例来说,假设各并行处理器为A、B、C、D四个处理器,假设A处理器根据接收到的训练数据对文字识别模型进行训练后获得的初始训练参数为a,B处理器根据接收到的训练数据对文字识别模型进行训练后获得的初始训练参数为b,C处理器根据接收到的训练数据对文字识别模型进行训练后获得的初始训练参数为c,D处理器根据接收到的训练数据对文字识别模型进行训练后获得的初始训练参数为d,则本步骤可以根据四个并行处理器A、B、C、D得到的初始训练参数a、初始训练参数b、初始训练参数c和初始训练参数d,计算文字识别模型的目标训练参数。例如,可以通过对初始训练参数a、初始训练参数b、初始训练参数c和初始训练参数d求平均值的方式计算文字识别模型的目标训练参数。当然,除此以外,还可以采用其他方式计算文字识别模型的目标训练参数,本实施例对此不作限定。例如,还可以采用后续实施例介绍的Ring-Allreduce算法的方式对各并行处理器获得的初始训练参数进行处理,确定文字识别模型的目标训练参数。
步骤105:根据目标训练参数优化文字识别模型。
在本步骤中,根据目标训练参数优化文字识别模型是指:在得到目标训练参数后,将目标训练参数作为文字识别模型的工作参数,进而得到训练好的文字识别模型。可以理解的是,训练好的文字识别模型可以用于相应的文字识别场景。由于训练好的文字识别模型是经过大量的训练数据进行训练后得到的,因此,在利用训练好的文字识别模型进行文字识别时,可以提高文字识别的准确率。
由上面技术方案可知,本发明实施例提供的文字识别模型训练方法,根据并行处理器的数量对训练数据进行分片得到各数据分片,并将各数据分片对应分发至各并行处理器对文字识别模型进行并行训练,以获得初始训练参数,根据获得的初始训练参数确定文字识别模型的目标训练参数,从而使用目标训练参数优化文字识别模型,从而可以充分利用各个处理器的计算资源,使得各个处理器并行地对不同的训练数据进行训练,从而可以大幅度提升模型训练速度,进而可以加快模型的迭代。
在上述实施例的基础上,在本实施例中,根据各并行处理器获得的初始训练参数,确定文字识别模型的目标训练参数,包括:
采用Ring-Allreduce算法对各并行处理器获得的初始训练参数进行处理,确定文字识别模型的目标训练参数。
在本实施例中,初始训练参数可以为各并行处理器利用本地的数据分片对文字识别模型进行反向传播计算后得到的梯度参数。相应地,在本实施例中,可以采用Ring-Allreduce算法对各并行处理器获得的梯度参数进行处理,确定文字识别模型的目标梯度参数。
下面结合图3-图14对本实施例采用Ring-Allreduce算法对各并行处理器获得的梯度参数进行处理的过程进行详细说明。
在Ring-allreduce架构中,各个设备都是worker,并且形成一个环,参见图3,定义GPU集群的拓扑结构,每个GPU从左邻居接受数据,并发送数据给右邻居。
在本实施例中,需要说明的是,Ring-Allreduce算法主要分为两步,第一步:scatter-reduce,会逐步交换彼此的梯度并融合,最后每个GPU都会包含完整融合梯度的一部分;第二步:allgather,GPU会逐步交换彼此不完整的融合梯度,最后所有GPU都会得到完整的融合梯度。即在scatter-reduce步骤中,GPU将交换数据,使每个GPU可得到最终结果的一个块。在allgather步骤中,GPU将交换这些块,以便所有GPU得到完整的最终结果。
在本实施例中,针对scatter-reduce举例“数组求和”:
参见图4,Step1:首先将数组在每个GPU上都分块;
参见图5-图9,Step2:N-1轮的scatter-reduce,每一轮中,每个GPU将自己的一个chunk发给右邻居,并接收左邻居发来的chunk,并累加,图5表示scatter-reduce第一次反复,图6表示scatter-reduce第二次反复,图7表示scatter-reduce第三次反复,图8表示scatter-reduce第四次反复,图9表示scatter-reduce完成。
具体地,在第一次发送和接收完成之后,每个GPU将拥有一个块,该块由两个不同GPU上相同块的和组成。例如,第二个GPU上的第一个块将是该块中来自第二个GPU和第一个GPU的值的和;在下一次迭代中,该过程继续进行,到最后,每个GPU将有一个块,该块包含所有GPU中该块中所有值的总和。图5-图9展示了所有数据传输和中间结果,从第一次迭代开始,一直持续到Scatter-Reduce完成,每个GPU都会包含完整融合梯度的一部分。
在本实施例中,针对allgather举例,(allgather和scatter-reduce操作类似,将每个chunk里面的操作由累加值变为替换):
在本实施例中,需要说明的是,在scatter-reduce步骤完成之后,每个GPU都有一个值数组,其中一些值(每个GPU一个块)是最终的值,其中包括来自所有GPU的贡献。为了完成allreduce,GPU必须交换这些块,以便所有GPU都具有所有必需的值。环的收集过程与scatter-reduce是相同的(发送和接收的N-1次迭代),只是GPU接收的值没有累加,而是简单地覆盖块。第n个GPU首先发送第n+1个块并接收第n个块,然后在以后的迭代中总是发送它刚刚接收到的块。
在本实施例中,第一次迭代完成后,每个GPU将拥有最终数组的两个块。
在本实施例中,参见图10-图14,图10表示allreduce第一次反复,图11表示allreduce第二次反复,图12表示allreduce第三次反复,图13表示allreduce第四次反复,图14表示allreduce完成。具体地,在下一个迭代中,该过程将继续,到最后,每个GPU将拥有整个数组的完整累积值。图10-图14演示了所有数据传输和中间结果,从第一次迭代开始,一直到allgather完成,allgather完成后所有GPU得到完整的最终结果。
在本实施例中,参见图15,初始训练参数为各并行处理器利用本地的数据分片对文字识别模型进行反向传播计算后得到的梯度参数,可以理解的是,在每次迭代中,每个GPU运行正向传播来计算误差,然后运行反向传播来计算神经网络的每个参数的梯度。反向传播计算梯度,从输出层开始,向输入层移动,这意味着输出层参数的梯度在早期层的梯度之前很明显是可用的。因为全部运算可以一次对网络的一部分参数进行运算,所以我们可以在其他梯度仍在计算的时候开始对输出层参数进行全部运算。这样做将通信与反向传播步骤中的其余计算重叠,从而减少了每个GPU等待通信完成的总时间。
本发明实施例提供的文字识别模型训练方法,采用Ring-Allreduce算法对各并行处理器获得的初始训练参数进行处理,确定文字识别模型的目标训练参数。采用Ring-Allreduce算法将各并行处理器获得的不同初始训练参数进行数据并行随机梯度下降处理,从而可以大幅度提升模型训练速度,进而可以加快模型的迭代。
在上述实施例的基础上,在本实施例中,将各数据分片对应分发至各并行处理器,并将文字识别模型发送至各并行处理器,包括:
将各数据分片按照相同的第一指定路径对应分发至各并行处理器,使得各并行处理器存储对应数据分片的路径一致;
将文字识别模型按照相同的第二指定路径发送至各并行处理器,使得各并行处理器存储文字识别模型的路径一致。
在本实施例中,将各数据分片按照相同的第一指定路径对应分发至各并行处理器,使得各并行处理器存储对应数据分片的路径一致,从而保证了各并行处理器存储对应数据分片的路径一致,从而便于各并行处理器的协同合作。
在本实施例中,将文字识别模型按照相同的第二指定路径发送至各并行处理器,使得各并行处理器存储文字识别模型的路径一致,从而保证了各并行处理器存储文字识别模型的路径一致,从而便于各并行处理器的协同合作。
本发明实施例提供的文字识别模型训练方法,在进行各数据分片分发阶段及文字识别模型分发阶段,保证了各并行处理器存储对应数据分片的路径一致,又保证了各并行处理器存储文字识别模型的路径一致,从而有利于各并行处理器的协同合作。
在上述实施例的基础上,在本实施例中,在各并行处理器利用接收到的数据分片对本地的文字识别模型进行训练时,方法还包括:
对于文字识别模型的预设指定网络层,在进行卷积训练操作之前,利用1*1的卷积核对预设指定网络层进行降维处理。
在本实施例中,参见图16,举例来说,利用1*1的卷积核对预设指定网络层进行降维处理,例如,通过处理可以将24*24*20的数据集变为24*24*8的数据集。
在本实施例中,预设指定网络层可以为卷积层或池化层。
本发明实施例提供的文字识别模型训练方法,对于文字识别模型的预设指定网络层,在进行卷积训练操作之前,利用1*1的卷积核对预设指定网络层进行降维处理,减少运算复杂度。
在上述实施例的基础上,在本实施例中,在根据并行处理器的数量对训练数据进行分片,得到各数据分片之前,方法还包括:
根据预设脏数据集合,对训练数据进行数据清洗,以去除训练数据中属于预设脏数据集合的脏数据。
在本实施例中,根据预设脏数据集合,对训练数据进行数据清洗,一方面可以方便且准确地去除训练数据中属于预设脏数据集合的脏数据,另一方面通过维护和更新预设脏数据集合,可以保证数据清洗的质量。
在上述实施例的基础上,在本实施例中,在根据并行处理器的数量对训练数据进行分片,得到各数据分片之前,方法还包括:
对训练数据进行格式转换的预处理操作。
在本实施例中,对训练数据进行格式转换操作,可以确保预处理后的训练数据便于被各并行处理器正常识别和高效使用,从而提高模型训练效率和训练质量。
在本实施例中,预处理可以包括:对训练数据进行预设比例缩放等。此外,预处理还可以包括:对训练数据中包含的文字内容生成字符集字典,并将训练数据中包含的文字内容转换成字符集字典的索引,获得训练标签数据等。
在上述实施例的基础上,在本实施例中,在根据并行处理器的数量对训练数据进行分片,得到各数据分片之前,方法还包括:
根据预设脏数据集合,对训练数据进行数据清洗,以去除训练数据中属于预设脏数据集合的脏数据;以及,对训练数据进行格式转换的预处理操作。
在本实施例中,通过对训练数据进行数据清洗以及通过对训练数据进行格式转换的预处理操作,可以在方便且准确地去除训练数据中属于预设脏数据集合的脏数据,保证数据清洗的质量的同时,还可以确保预处理后的训练数据便于被各并行处理器正常识别和高效使用,从而提高模型训练效率和训练质量。
在上述实施例的基础上,在本实施例中,训练数据为图片;相应地,对训练数据进行格式转换的预处理操作,包括:
根据预设图片缩放比例,对图片进行比例缩放,获得训练输入数据;
根据图片中包含的文字内容生成字符集字典,并将图片中包含的文字内容转换成字符集字典的索引,获得训练标签数据。
在本实施例中,根据预设图片缩放比例,对图片进行比例缩放,获得训练输入数据,从而统一各并行处理器在进行模型训练过程中输入的图片,有利于各并行处理器的训练处理过程,提高各并行处理器的训练效率。
在本实施例中,根据图片中包含的文字内容生成字符集字典,并将图片中包含的文字内容转换成字符集字典的索引,获得训练标签数据,从而使得训练标签数据不再直接使用文字内容,而是使用对应的索引,从而可以简化模型训练的数据复杂度,进而可以提高模型训练效率。
图17为本发明一实施例提供的文字识别模型训练装置的结构示意图,如图17所示,该装置包括:获取模块201、分片处理模块202、并行训练模块203、并行结果处理模块204,优化模块205,其中:
其中,获取模块201,用于获取用于对文字识别模型进行训练的训练数据;
分片处理模块202,用于根据并行处理器的数量对训练数据进行分片,得到各数据分片;
并行训练模块203,用于将各数据分片对应分发至各并行处理器,并将文字识别模型发送至各并行处理器,以使各并行处理器利用接收到的数据分片对本地的文字识别模型进行训练,以获得初始训练参数;
并行结果处理模块204,用于根据各并行处理器获得的初始训练参数,确定文字识别模型的目标训练参数;
优化模块205,用于根据目标训练参数优化文字识别模型。
在上述实施例基础上,并行结果处理模块204,具体用于:
采用Ring-Allreduce算法对各并行处理器获得的初始训练参数进行处理,确定文字识别模型的目标训练参数。
在上述实施例基础上,并行结果处理模块204中初始训练参数为各并行处理器利用本地的数据分片对文字识别模型进行反向传播计算后得到的梯度参数。
在上述实施例基础上,并行训练模块203,在将各数据分片对应分发至各并行处理器,并将文字识别模型发送至各并行处理器时,具体用于:
将各数据分片按照相同的第一指定路径对应分发至各并行处理器,使得各并行处理器存储对应数据分片的路径一致;
将文字识别模型按照相同的第二指定路径发送至各并行处理器,使得各并行处理器存储文字识别模型的路径一致。
在上述实施例基础上,在各并行处理器利用接收到的数据分片对本地的文字识别模型进行训练时,装置还包括:降维模块,用于:
对于文字识别模型的预设指定网络层,在进行卷积训练操作之前,利用1*1的卷积核对预设指定网络层进行降维处理。
在上述实施例基础上,装置还包括:数据清洗模块,用于:
根据预设脏数据集合,对训练数据进行数据清洗,以去除训练数据中属于预设脏数据集合的脏数据;
和/或,
预处理模块,用于对训练数据进行格式转换的预处理操作。
在上述实施例基础上,训练数据为图片;相应地,预处理模块,具体用于:
根据预设图片缩放比例,对图片进行比例缩放,获得训练输入数据;
根据图片中包含的文字内容生成字符集字典,并将图片中包含的文字内容转换成字符集字典的索引,获得训练标签数据。
本发明实施例提供的文字识别模型训练装置具体可以用于执行上述实施例的文字识别模型训练方法,其技术原理和有益效果类似,具体可参见上述实施例,此处不再赘述。
基于相同的发明构思,本发明实施例提供一种电子设备,参见图18,电子设备具体包括如下内容:处理器301、通信接口303、存储器302和通信总线304;
其中,处理器301、通信接口303、存储器302通过通信总线304完成相互间的通信;通信接口303用于实现各建模软件及智能制造装备模块库等相关设备之间的信息传输;处理器301用于调用存储器302中的计算机程序,处理器执行计算机程序时实现上述各方法实施例所提供的方法,例如,处理器执行计算机程序时实现下述步骤:获取用于对文字识别模型进行训练的训练数据;根据并行处理器的数量对训练数据进行分片,得到各数据分片;将各数据分片对应分发至各并行处理器,并将文字识别模型发送至各并行处理器,以使各并行处理器利用接收到的数据分片对本地的文字识别模型进行训练,以获得初始训练参数;根据各并行处理器获得的初始训练参数,确定文字识别模型的目标训练参数;根据目标训练参数优化文字识别模型。
基于相同的发明构思,本发明又一实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法实施例提供的方法,例如,获取用于对文字识别模型进行训练的训练数据;根据并行处理器的数量对训练数据进行分片,得到各数据分片;将各数据分片对应分发至各并行处理器,并将文字识别模型发送至各并行处理器,以使各并行处理器利用接收到的数据分片对本地的文字识别模型进行训练,以获得初始训练参数;根据各并行处理器获得的初始训练参数,确定文字识别模型的目标训练参数;根据目标训练参数优化文字识别模型。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
此外,在本发明中,诸如“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种文字识别模型训练方法,其特征在于,包括:
获取用于对文字识别模型进行训练的训练数据;
根据并行处理器的数量对所述训练数据进行分片,得到各数据分片;
将所述各数据分片对应分发至各并行处理器,并将所述文字识别模型发送至各并行处理器,以使各并行处理器利用接收到的数据分片对本地的所述文字识别模型进行训练,以获得初始训练参数;
根据各并行处理器获得的初始训练参数,确定所述文字识别模型的目标训练参数;
根据所述目标训练参数优化所述文字识别模型。
2.根据权利要求1所述的文字识别模型训练方法,其特征在于,所述根据各并行处理器获得的初始训练参数,确定所述文字识别模型的目标训练参数,包括:
采用Ring-Allreduce算法对各并行处理器获得的初始训练参数进行处理,确定所述文字识别模型的目标训练参数。
3.根据权利要求2所述的文字识别模型训练方法,其特征在于,所述初始训练参数为各并行处理器利用本地的数据分片对所述文字识别模型进行反向传播计算后得到的梯度参数。
4.根据权利要求1所述的文字识别模型训练方法,其特征在于,将所述各数据分片对应分发至各并行处理器,并将所述文字识别模型发送至各并行处理器,包括:
将所述各数据分片按照相同的第一指定路径对应分发至各并行处理器,使得各并行处理器存储对应数据分片的路径一致;
将所述文字识别模型按照相同的第二指定路径发送至各并行处理器,使得各并行处理器存储所述文字识别模型的路径一致。
5.根据权利要求1所述的文字识别模型训练方法,其特征在于,在各并行处理器利用接收到的数据分片对本地的所述文字识别模型进行训练时,所述方法还包括:
对于所述文字识别模型的预设指定网络层,在进行卷积训练操作之前,利用1*1的卷积核对所述预设指定网络层进行降维处理。
6.根据权利要求1所述的文字识别模型训练方法,其特征在于,在根据并行处理器的数量对所述训练数据进行分片,得到各数据分片之前,所述方法还包括:
根据预设脏数据集合,对所述训练数据进行数据清洗,以去除所述训练数据中属于所述预设脏数据集合的脏数据;
和/或,
对所述训练数据进行格式转换的预处理操作。
7.根据权利要求6所述的文字识别模型训练方法,其特征在于,所述训练数据为图片;相应地,对所述训练数据进行格式转换的预处理操作,包括:
根据预设图片缩放比例,对所述图片进行比例缩放,获得训练输入数据;
根据所述图片中包含的文字内容生成字符集字典,并将所述图片中包含的文字内容转换成字符集字典的索引,获得训练标签数据。
8.一种文字识别模型训练装置,其特征在于,包括:
获取模块,用于获取用于对文字识别模型进行训练的训练数据;
分片处理模块,用于根据并行处理器的数量对所述训练数据进行分片,得到各数据分片;
并行训练模块,用于将所述各数据分片对应分发至各并行处理器,并将所述文字识别模型发送至各并行处理器,以使各并行处理器利用接收到的数据分片对本地的所述文字识别模型进行训练,以获得初始训练参数;
并行结果处理模块,用于根据各并行处理器获得的初始训练参数,确定所述文字识别模型的目标训练参数;
优化模块,用于根据所述目标训练参数优化所述文字识别模型。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的文字识别模型训练方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述的文字识别模型训练方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010566794.3A CN111898424B (zh) | 2020-06-19 | 2020-06-19 | 文字识别模型训练方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010566794.3A CN111898424B (zh) | 2020-06-19 | 2020-06-19 | 文字识别模型训练方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111898424A true CN111898424A (zh) | 2020-11-06 |
CN111898424B CN111898424B (zh) | 2023-07-21 |
Family
ID=73206859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010566794.3A Active CN111898424B (zh) | 2020-06-19 | 2020-06-19 | 文字识别模型训练方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111898424B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112434620A (zh) * | 2020-11-26 | 2021-03-02 | 新智数字科技有限公司 | 场景文字识别方法、装置、设备和计算机可读介质 |
CN114676761A (zh) * | 2022-03-10 | 2022-06-28 | 北京智源人工智能研究院 | 预训练模型训练处理方法、装置、电子设备及存储介质 |
CN116541006A (zh) * | 2023-06-28 | 2023-08-04 | 壹仟零壹艺网络科技(北京)有限公司 | 一种计算机人机交互界面的图形处理方法和装置 |
WO2023241312A1 (zh) * | 2022-06-16 | 2023-12-21 | 北京火山引擎科技有限公司 | 模型训练方法及装置 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108460457A (zh) * | 2018-03-30 | 2018-08-28 | 苏州纳智天地智能科技有限公司 | 一种面向卷积神经网络的多机多卡混合并行异步训练方法 |
CN109522898A (zh) * | 2018-09-18 | 2019-03-26 | 平安科技(深圳)有限公司 | 手写样本图片标注方法、装置、计算机设备及存储介质 |
CN109871847A (zh) * | 2019-03-13 | 2019-06-11 | 厦门商集网络科技有限责任公司 | 一种ocr识别方法及终端 |
CN109902818A (zh) * | 2019-01-15 | 2019-06-18 | 中国科学院信息工程研究所 | 一种面向深度学习训练任务的分布式加速方法及系统 |
CN110134636A (zh) * | 2018-02-09 | 2019-08-16 | 中兴通讯股份有限公司 | 模型训练方法、服务器和计算机可读存储介质 |
CN110378472A (zh) * | 2019-07-24 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种深度神经网络模型的数据并行训练方法、装置及设备 |
CN110379416A (zh) * | 2019-08-15 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 一种神经网络语言模型训练方法、装置、设备及存储介质 |
CN110765907A (zh) * | 2019-10-12 | 2020-02-07 | 安徽七天教育科技有限公司 | 一种基于深度学习的视频中试卷纸质文档信息提取系统及方法 |
CN110956265A (zh) * | 2019-12-03 | 2020-04-03 | 腾讯科技(深圳)有限公司 | 一种模型训练方法和相关装置 |
CN111047050A (zh) * | 2019-12-17 | 2020-04-21 | 苏州浪潮智能科技有限公司 | 一种分布式并行训练方法、设备以及存储介质 |
CN111078821A (zh) * | 2019-11-27 | 2020-04-28 | 泰康保险集团股份有限公司 | 字典设置方法、装置、介质及电子设备 |
CN111144345A (zh) * | 2019-12-30 | 2020-05-12 | 泰康保险集团股份有限公司 | 字符识别方法、装置、设备及存储介质 |
CN111160531A (zh) * | 2019-12-30 | 2020-05-15 | 北京迈格威科技有限公司 | 神经网络模型的分布式训练方法、装置及电子设备 |
-
2020
- 2020-06-19 CN CN202010566794.3A patent/CN111898424B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134636A (zh) * | 2018-02-09 | 2019-08-16 | 中兴通讯股份有限公司 | 模型训练方法、服务器和计算机可读存储介质 |
CN108460457A (zh) * | 2018-03-30 | 2018-08-28 | 苏州纳智天地智能科技有限公司 | 一种面向卷积神经网络的多机多卡混合并行异步训练方法 |
CN109522898A (zh) * | 2018-09-18 | 2019-03-26 | 平安科技(深圳)有限公司 | 手写样本图片标注方法、装置、计算机设备及存储介质 |
CN109902818A (zh) * | 2019-01-15 | 2019-06-18 | 中国科学院信息工程研究所 | 一种面向深度学习训练任务的分布式加速方法及系统 |
CN109871847A (zh) * | 2019-03-13 | 2019-06-11 | 厦门商集网络科技有限责任公司 | 一种ocr识别方法及终端 |
CN110378472A (zh) * | 2019-07-24 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种深度神经网络模型的数据并行训练方法、装置及设备 |
CN110379416A (zh) * | 2019-08-15 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 一种神经网络语言模型训练方法、装置、设备及存储介质 |
CN110765907A (zh) * | 2019-10-12 | 2020-02-07 | 安徽七天教育科技有限公司 | 一种基于深度学习的视频中试卷纸质文档信息提取系统及方法 |
CN111078821A (zh) * | 2019-11-27 | 2020-04-28 | 泰康保险集团股份有限公司 | 字典设置方法、装置、介质及电子设备 |
CN110956265A (zh) * | 2019-12-03 | 2020-04-03 | 腾讯科技(深圳)有限公司 | 一种模型训练方法和相关装置 |
CN111047050A (zh) * | 2019-12-17 | 2020-04-21 | 苏州浪潮智能科技有限公司 | 一种分布式并行训练方法、设备以及存储介质 |
CN111144345A (zh) * | 2019-12-30 | 2020-05-12 | 泰康保险集团股份有限公司 | 字符识别方法、装置、设备及存储介质 |
CN111160531A (zh) * | 2019-12-30 | 2020-05-15 | 北京迈格威科技有限公司 | 神经网络模型的分布式训练方法、装置及电子设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112434620A (zh) * | 2020-11-26 | 2021-03-02 | 新智数字科技有限公司 | 场景文字识别方法、装置、设备和计算机可读介质 |
CN112434620B (zh) * | 2020-11-26 | 2024-03-01 | 新奥新智科技有限公司 | 场景文字识别方法、装置、设备和计算机可读介质 |
CN114676761A (zh) * | 2022-03-10 | 2022-06-28 | 北京智源人工智能研究院 | 预训练模型训练处理方法、装置、电子设备及存储介质 |
CN114676761B (zh) * | 2022-03-10 | 2024-03-19 | 北京智源人工智能研究院 | 预训练模型训练处理方法、装置、电子设备及存储介质 |
WO2023241312A1 (zh) * | 2022-06-16 | 2023-12-21 | 北京火山引擎科技有限公司 | 模型训练方法及装置 |
CN116541006A (zh) * | 2023-06-28 | 2023-08-04 | 壹仟零壹艺网络科技(北京)有限公司 | 一种计算机人机交互界面的图形处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111898424B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111898424A (zh) | 文字识别模型训练方法、装置、电子设备及存储介质 | |
CN111242282B (zh) | 基于端边云协同的深度学习模型训练加速方法 | |
WO2020140386A1 (zh) | 基于TextCNN知识抽取方法、装置、计算机设备及存储介质 | |
WO2020199693A1 (zh) | 一种大姿态下的人脸识别方法、装置及设备 | |
CN105005911B (zh) | 深度神经网络的运算系统及运算方法 | |
JP7287397B2 (ja) | 情報処理方法、情報処理装置及び情報処理プログラム | |
EP4242955A1 (en) | User profile-based object recommendation method and device | |
CN107392842A (zh) | 图像风格化处理方法、装置、计算设备及计算机存储介质 | |
CN105825269B (zh) | 一种基于并行自动编码机的特征学习方法及系统 | |
CN114202027B (zh) | 执行配置信息的生成方法、模型训练方法和装置 | |
CN114445831A (zh) | 一种图文预训练方法、装置、设备以及存储介质 | |
CN112163601A (zh) | 图像分类方法、系统、计算机设备及存储介质 | |
CN112562069A (zh) | 三维模型的构造方法、装置、设备和存储介质 | |
CN112785493A (zh) | 模型的训练方法、风格迁移方法、装置、设备及存储介质 | |
CN115730555A (zh) | 一种芯片布局方法、装置、设备及存储介质 | |
CN110309293A (zh) | 文本推荐方法和装置 | |
CN115906987A (zh) | 深度学习模型的训练方法、虚拟形象驱动方法和装置 | |
CN115563310A (zh) | 一种关键业务节点的确定方法、装置、设备及介质 | |
CN115688917A (zh) | 神经网络模型的训练方法、装置、电子设备及存储介质 | |
CN115186738A (zh) | 模型训练方法、装置和存储介质 | |
CN116187310A (zh) | 一种文档级关系抽取方法、装置、设备及存储介质 | |
CN114722048A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN113570067B (zh) | 分布式系统的同步方法、装置 | |
CN115034198B (zh) | 语言模型中嵌入模块计算优化的方法 | |
CN116016212B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |