神经网络模型压缩方法、语料翻译方法及其装置

文档序号:1466023 发布日期:2020-02-21 浏览:10次 >En<

阅读说明:本技术 神经网络模型压缩方法、语料翻译方法及其装置 (Neural network model compression method, corpus translation method and apparatus thereof ) 是由 李响 孙于惠 姜佳良 崔建伟 于 2019-10-24 设计创作,主要内容包括:本公开是关于一种神经网络模型压缩方法、语料翻译方法及其装置。其中神经网络模型压缩方法,包括:获取包括多个训练样本对的训练样本集,每一个训练样本对包括源数据和与源数据对应的目标数据;以源数据为输入,以目标数据为验证,训练原始教师模型;基于训练样本集以及原始教师模型,训练中间教师模型,一个或多个中间教师模型组成教师模型集;基于训练样本集、原始教师模型和教师模型集,训练多个候选学生模型,多个候选学生模型组成学生模型集;根据多个候选学生模型的训练结果,选择一个候选学生模型作为目标学生模型。通过引入多个教师模型,实现多级指导学生模型训练,从而提高了学生模型的质量。(The disclosure relates to a neural network model compression method, a corpus translation method and a device thereof. The neural network model compression method comprises the following steps: acquiring a training sample set comprising a plurality of training sample pairs, wherein each training sample pair comprises source data and target data corresponding to the source data; training an original teacher model by taking source data as input and target data as verification; training an intermediate teacher model based on the training sample set and the original teacher model, wherein the one or more intermediate teacher models form a teacher model set; training a plurality of candidate student models based on the training sample set, the original teacher model and the teacher model set, wherein the plurality of candidate student models form a student model set; and selecting one candidate student model as the target student model according to the training results of the plurality of candidate student models. By introducing a plurality of teacher models, multi-level guidance of student model training is realized, and therefore the quality of the student models is improved.)

神经网络模型压缩方法、语料翻译方法及其装置

技术领域

本公开涉及机器翻译领域,尤其涉及用于机器翻译的神经网络模型压缩方法、语料翻译方法及其装置,以及电子装置和计算机可读存储介质。

背景技术

随着人工智能技术的发展,基于神经网络的深度学习已经在图像分类,机器翻译和语音识别等多个机器学习任务上取得良好了的性能。

当前,为了获得最佳的网络模型输出结果,通常采用包含多个网络层和超大规模的参数的深层神经网络模型,尽管这种复杂的网络结构显著提升了模型的输出结果,但是也导致难以在存储空间较小的移动设备上部署,另一方面也导致在计算性能较差的低功耗移动设备上的推理延迟过大而难以具有实用价值。因此,对复杂神经网络模型进行高效压缩从而降低模型存储开销,提高模型推理速度,同时尽可能减少压缩对翻译质量的损害,成为将网络模型实际应用于移动端设备上的关键技术,也是当前学术界和工业界研究的热点。

对于神经网络模型压缩,常用的方法包括参数量化,矩阵分解,模型剪枝和知识蒸馏,其中知识蒸馏方法既可以压缩模型减小模型复杂度,又可以同时缓解模型压缩导致的预测精度下降的问题,成为目前主流的神经网络模型压缩方法。在知识蒸馏模型压缩方法中,一般将具有庞大规模参数和复杂网络结构的模型称为“教师模型”,将具有较少参数和结构相对简单的模型称为“学生模型”,通过获得教师模型在网络中间层的输出信息或者输出层的分类信息,利用教师模型产生的这些额外知识来指导学生模型的训练,其中训练一般采用KL散度等作为知识蒸馏的优化目标。

但是在知识蒸馏训练过程中都是采用一个教师模型指导一个学生模型这种单级知识蒸馏方法,由于教师模型的预测精度一般远优于学生模型,导致难以通过单级知识蒸馏将教师模型的知识有效迁移到学生模型,因此难以获得一个预测精度更优的神经网络学生模型用于移动端部署。

发明内容

为克服相关技术中存在的问题,本公开的第一方面,提供一种神经网络模型压缩方法,包括:获取包括多个训练样本对的训练样本集,每一个训练样本对包括源数据和与源数据对应的目标数据;以源数据为输入,以目标数据为验证,训练原始教师模型;基于训练样本集以及原始教师模型,训练一个或多个中间教师模型,一个或多个中间教师模型组成教师模型集;基于训练样本集、原始教师模型和教师模型集,训练多个候选学生模型,多个候选学生模型组成学生模型集;根据多个候选学生模型的训练结果,选择一个候选学生模型作为目标学生模型。

在一实施例中,其中任一中间教师模型的模型参数总数少于原始教师模型的模型参数总数。

在一实施例中,基于训练样本集以及原始教师模型,训练一个或多个中间教师模型,一个或多个中间教师模型组成教师模型集,包括:以源数据为输入,以复杂教师模型输出的伪目标数据为验证,训练每一个待训练的中间教师模型,其中,复杂教师模型为已完成训练的原始教师模型,或已完成训练且模型参数总数比当前待训练的中间教师模型的模型参数总数更多的其他中间教师模型。

在一实施例中,其中教师模型集中的一个或多个中间教师模型按各自的模型参数总数进行降序分级排列,使得后一级中间教师模型的模型参数总数少于前一级中间教师模型的模型参数总数,并且其中用于训练当前级的中间教师模型的复杂教师模型为已完成训练的原始教师模型或已完成训练的前面任一级中间教师模型。

在一实施例中,基于训练样本集、原始教师模型和教师模型集,训练多个候选学生模型,多个候选学生模型组成学生模型集,包括:确定多条训练路径,多条训练路径与多个候选学生模型一一对应,并且训练路径为以原始教师模型为起点直接到达相应的候选学生模型,或者以原始教师模型为起点且经过至少一个中间教师模型后到达相应的候选学生模型;以每一条训练路径上的模型排列顺序,训练该训练路径上相应的候选学生模型,或者训练该训练路径上相应的至少一个中间教师模型和相应的候选学生模型。

在一实施例中,以每一条训练路径上的模型排列顺序,训练该训练路径上相应的候选学生模型,或者训练该训练路径上相应的至少一个中间教师模型和相应的候选学生模型包括:当训练路径为以原始教师模型为起点直接到达相应的候选学生模型时,已源数据为输入,以已完成训练的原始教师模型输出的伪目标数据作为相应的候选学生模型的验证;或者,当训练路径为以原始教师模型为起点且经过至少一个中间教师模型后到达相应的候选学生模型时,以源数据作为输入,以训练路径上相邻在前的复杂教师模型输出的伪目标数据为验证,训练各个中间教师模型,并且以训练路径上与候选学生模型相邻在前的中间教师模型输出的伪目标数据作为候选学生模型的验证,训练候选学生模型;其中,复杂教师模型为已完成训练的原始教师模型,或已完成训练且模型参数总数比当前待训练的中间教师模型的模型参数总数更多的其他中间教师模型。

在一实施例中,根据多个候选学生模型的训练结果,选择一个候选学生模型作为目标学生模型,包括:通过验证集检测多个候选学生模型的输出结果准确率,根据准确率选取得到目标学生模型。

在一实施例中,任一中间教师模型的模型参数总数少于原始教师模型的模型参数总数包括:任一中间教师模型的模型层数少于原始教师模型的模型层数。

在一实施例中,获取训练样本集,包括:获取第一语言语料作为源数据,获取与第一语言语料具有相同意思的第二语言语料作为目标数据。

在一实施例中,以源数据为输入,以目标数据为验证,训练原始教师模型,包括:将第一语言语料和第二语言语料分词,分别得到多个第一语言词语和多个第二语言词语;分别对多个第一语言词语和多个第二语言词语进行向量化的对应的多个第一语言词语向量和多个第二语言词语向量;基于第一语言词语向量,通过编码器和注意力机制,得到第一语言语料向量;基于第二语言词语向量,通过解码器和注意力机制,得到第二语言语料向量;根据第一语言语料向量与第二语言语料向量,训练原始教师模型。

根据本公开实施例的第二方面,提供一种语料翻译方法,方法包括:获取语料;通过神经网络模型对语料进行翻译,其中,神经网络模型为通过第一方面的神经网络模型压缩方法得到的目标学生模型;输出翻译结果。

根据本公开实施例的第三方面,提供一种神经网络模型压缩装置,装置包括:训练样本获取单元,用于获取包括多个训练样本对的训练样本集,每一个训练样本对包括源数据和与源数据对应的目标数据;原始模型训练单元,用于以源数据为输入,以目标数据为验证,训练原始教师模型;中间模型训练单元,用于基于训练样本集以及原始教师模型,训练一个或多个中间教师模型,一个或多个中间教师模型组成教师模型集;学生模型训练单元,用于基于训练样本集、原始教师模型和教师模型集,训练多个候选学生模型,多个候选学生模型组成学生模型集;目标模型选取单元,用于根据多个候选学生模型的训练结果,选择一个候选学生模型作为目标学生模型。

在一实施例中,其中任一中间教师模型的模型参数总数少于原始教师模型的模型参数总数。

在一实施例中,中间模型训练单元还用于:以源数据为输入,以复杂教师模型输出的伪目标数据为验证,训练每一个待训练的中间教师模型,其中,复杂教师模型为已完成训练的原始教师模型,或已完成训练且模型参数总数比当前待训练的中间教师模型的模型参数总数更多的其他中间教师模型。

在一实施例中,其中教师模型集中的一个或多个中间教师模型按各自的模型参数总数进行降序分级排列,使得后一级中间教师模型的模型参数总数少于前一级中间教师模型的模型参数总数,并且其中用于训练当前级的中间教师模型的复杂教师模型为已完成训练的原始教师模型或已完成训练的前面任一级中间教师模型。

在一实施例中,学生模型训练单元还包括:路径确认子单元:用于确定多条训练路径,多条训练路径与多个候选学生模型一一对应,并且训练路径为以原始教师模型为起点直接到达相应的候选学生模型,或者以原始教师模型为起点且经过至少一个中间教师模型后到达相应的候选学生模型;训练子单元:用于以每一条训练路径上的模型排列顺序,训练该训练路径上相应的候选学生模型,或者训练该训练路径上相应的至少一个中间教师模型和相应的候选学生模型。

在一实施例中,训练子单元还用于:当训练路径为以原始教师模型为起点直接到达相应的候选学生模型时,已源数据为输入,以已完成训练的原始教师模型输出的伪目标数据作为相应的候选学生模型的验证;或者,当训练路径为以原始教师模型为起点且经过至少一个中间教师模型后到达相应的候选学生模型时,以源数据作为输入,以训练路径上相邻在前的复杂教师模型输出的伪目标数据为验证,训练各个中间教师模型,并且以训练路径上与候选学生模型相邻在前的中间教师模型输出的伪目标数据作为候选学生模型的验证,训练候选学生模型;其中,复杂教师模型为已完成训练的原始教师模型,或已完成训练且模型参数总数比当前待训练的中间教师模型的模型参数总数更多的其他中间教师模型。

在一实施例中,目标模型选取单元还用于:通过验证集检测多个候选学生模型的输出结果准确率,根据准确率选取得到目标学生模型。

在一实施例中,任一中间教师模型的模型参数总数少于原始教师模型的模型参数总数包括:任一中间教师模型的模型层数少于原始教师模型的模型层数。

在一实施例中,训练样本获取单元还用于:获取第一语言语料作为源数据,获取与第一语言语料具有相同意思的第二语言语料作为目标数据。

在一实施例中,原始模型训练单元还用于:将第一语言语料和第二语言语料分词,分别得到多个第一语言词语和多个第二语言词语;分别对多个第一语言词语和多个第二语言词语进行向量化的对应的多个第一语言词语向量和多个第二语言词语向量;基于第一语言词语向量,通过编码器和注意力机制,得到第一语言语料向量;基于第二语言词语向量,通过解码器和注意力机制,得到第二语言语料向量;根据第一语言语料向量与第二语言语料向量,训练原始教师模型。

根据本公开实施例的第四方面,提供一种语料翻译装置,包括:接收单元,用于获取语料;处理单元,用于通过神经网络模型对语料进行翻译,其中,神经网络模型为通过第一方面的神经网络模型压缩方法得到的目标学生模型;输出单元,用于输出翻译结果。

根据本公开实施例的第五方面,提供一种电子设备,包括:存储器,用于存储指令;以及处理器,用于调用存储器存储的指令执行第一方面的神经网络模型压缩方法或第二方面的语料翻译方法。

根据本公开实施例的第六方面,提供一种计算机可读存储介质,存储有指令,指令被处理器执行时,执行第一方面的神经网络模型压缩方法或第二方面的语料翻译方法。

本公开的实施例提供的技术方案可以包括以下有益效果:通过额外引入多个参数总数更少的中间教师模型,实现以多种路径的方式指导学生模型训练,从而可以将原始教师模型的知识更有效的逐渐迁移到学生模型,可以根据多条路径产生的多个学生模型选择质量最佳的作为最终的目标学生模型,从而提高了目标学生模型的质量。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种神经网络模型压缩方法的流程示意图。

图2是根据一示例性实施例示出另一实施例的一种神经网络模型压缩方法的流程示意图。

图3是根据一示例性实施例示出的一种神经网络模型架构的示意框图。

图4是根据一示例性实施例示出的一种学生模型不同训练路径的示意框图。

图5是根据一示例性实施例示出的一种语料翻译方法的流程示意图。

图6是根据一示例性实施例示出的一种神经网络模型压缩装置的示意框图。

图7是根据一示例性实施例示出的一种语料翻译装置的示意框图。

图8是根据一示例性实施例示出的一种装置的示意框图。

图9是根据一示例性实施例示出的一种电子装置的示意框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

为了能够在学生模型的训练效果,本公开实施例提供了一种神经网络模型压缩方法10,参见图1,一种神经网络模型压缩方法10,包括步骤S11-S15,以下对各个步骤进行详细说明:

步骤S11,获取包括多个训练样本对的训练样本集,每一个训练样本对包括源数据和与源数据对应的目标数据。

可以根据实际模型的应用场景,获取训练样本,训练样本中的源数据用于输入神经网络模型,而目标数据用于验证神经网络模型的输出,并根据验证结果可以通过计算损失等方式调整神经网络模型的参数,从而达到训练目的。如,在图像识别领域,获取原始图像以及原始图像的标准分类;在语音识别领域,获取原始音频以及原始音频的标准文本;在一实施例中,在语料翻译领域,获取第一语言语料作为原始数据,获取与第一语言语料具有相同意思的第二语言语料作为目标数据。

步骤S12,以源数据为输入,以目标数据为验证,训练原始教师模型。

根据实际网络模型的结构对原始教师模型进行训练,可以通过将源数据输入原始教师模型,通过原始教师模型对源数据进行特征提取并得到输出结果,根据输出结果以及目标数据计算得到损失值,根据损失值调整原始教师模型的参数,直至输出的结果满足一定条件,完成训练。

如图2所示,在一实施例中,步骤S12可以包括:步骤S121将第一语言语料和第二语言语料分词,分别得到多个第一语言词语和多个第二语言词语;步骤S122分别对多个第一语言词语和多个第二语言词语进行向量化的对应的多个第一语言词语向量和多个第二语言词语向量;步骤S123基于第一语言词语向量,通过编码器和注意力机制,得到第一语言语料向量;步骤S124基于第二语言词语向量,通过解码器和注意力机制,得到第二语言语料向量;步骤S125根据第一语言语料向量与第二语言语料向量,训练原始教师模型。

在语料翻译模型,通过向量化、特征提取以及注意力机制得到语料的向量,在通过与标准语义的生成的向量进行比对进行训练。

在上述实施例中,原始教师模型的架构可以如图3所示,第一语言语料通过分词得到多个第一语言词语xn,通过源语言词向量表示层,将词语第一语言词语进行向量化,得到第一语言词语向量,再经过多个编码器层,进行特征提取,再通过注意力机制(AttentionMechanism)得到第一语言语料向量;再另一侧,第二语言语料通过分词得到多个第二语言词语yn,通过目标语言词向量表示层,将词语第二语言词语进行向量化,得到第二语言词语向量,再经过多个解码器层,进行特征提取,再通过注意力机制得到第二语言语料向量。最终,通过损失函数得到第一语言语料向量与第二语言语料向量得到损失值,基于损失值,调整原始教师模型的参数,最终得到训练后的原始教师模型。其中,编码器层和解码器层可以具有相同的层数也可以不同。

步骤S13,基于训练样本集以及原始教师模型,训练一个或多个中间教师模型,一个或多个中间教师模型组成教师模型集。

根据实际需要,可以获取多个中间教师模型,以实现多路径的对学生模型的训练,中间教师模型的模型类型和架构与原始教师模型的相同。在一实施例中,任一中间教师模型的模型参数总数少于原始教师模型的模型参数总数,换而言之,中间教师模型的比原始教师模型更加简化。在一实施例中,任一中间教师模型的模型层数少于原始教师模型的模型层数,即通过减少模型的层数,以降低模型的参数总数。通过直接减少模型参数,或通过减少层数模型参数,从而降低模型的计算量并且能够通过原始教师模型的输出进行训练。

在一具体实施例中,如原始教师模型为图3所示的模型架构,中间教师模型可以比原始教师模型具有更少的编码器层和/或更少的解码器层。

多个中间教师模型可以存在一些中间教师模型具有相同的简化程度,多个中间教师模型的简化程度可以成阶梯状,即多个中间教师模型的模型简化程度依次逐渐增加,以便于在之后的训练中能够采用多种不同模型进行监督,从而得到多种路径。

训练中间教师模型的方式可以与训练原始教师模型的方式原理相同。

在一实施例中,步骤S13可以包括:以源数据为输入,以复杂教师模型输出的伪目标数据为验证,训练每一个待训练的中间教师模型,其中,复杂教师模型为已完成训练的原始教师模型,或已完成训练且模型参数总数比当前待训练的中间教师模型的模型参数总数更多的其他中间教师模型。

在本实施例中,原始教师模型以及中间教师模型在训练完成后,再将源数据输入并得到模型的输出,即前述伪目标数据,该伪目标数据可以用于在比自身更简化的模型进行训练时作为验证。具体来说,在训练中间教师模型时,通过将源数据输入中间教师模型,通过中间教师模型得到输出结果,与完成训练的原始教师模型基于该源数据输出的伪目标数据进行比对得到损失值,或,与完成训练的且比该中间教师模型更复杂的其他一个中间教师模型基于该源数据输出的伪目标数据进行比对得到损失值,根据得到的损失值调整模型参数,最终完成本模型的训练。

在一些实施例中,教师模型集中的一个或多个中间教师模型按各自的模型参数总数进行降序分级排列,使得后一级中间教师模型的模型参数总数少于前一级中间教师模型的模型参数总数,并且其中用于训练当前级的中间教师模型的复杂模型为已完成训练的原始教师模型或已完成训练的前面任一级中间教师模型。

本实施例中,按照中间教师模型的简化程度依次进行训练,先训练相对更复杂的中间教师模型,而完成训练的中间教师模型输出的伪目标数据即可作为后续中间教师模型训练时的验证数据,因此,在一个中间教师模型训练时,可能有多个复杂模型输出的伪目标数据作为验证数据供选择,从而可以实现每个中间教师模型的监督数据来源不同,即使多个同样简化程度的中间教师模型也可以具有不同的训练路径,从而得到不同的中间教师模型。

在一些实施例中,原始教师模型可以基于集束搜索算法获取输出数据。在完成训练后,将原始数据,即第一语言语料输入原始教师模型,通过集束搜索(beam search)算法得到输出数据。

步骤S14,基于训练样本集、原始教师模型和教师模型集,训练多个候选学生模型,多个候选学生模型组成学生模型集。

为了能够在一些相对低计算能力的终端设备上部署神经网络模型,对模型的复杂程度和计算量有一定的要求,可以根据实际终端设备的条件,设置多个与原始教师模型以及中间教授模型架构相似但相比于原始教师模型以及中间教师模型都更简化的候选学生模型。在一实施例中,步骤S14可以包括获取多个相同的学生模型,且候选学生模型的模型参数和/或模型层数小于任一中间教师模型。

训练候选学生模型的方式可以与训练中间教师模型的方式原理相同。

在一实施例中,步骤S14可以包括:确定多条训练路径,多条训练路径与多个候选学生模型一一对应,并且训练路径为以原始教师模型为起点直接到达相应的候选学生模型,或者以原始教师模型为起点且经过至少一个中间教师模型后到达相应的候选学生模型;以每一条训练路径上的模型排列顺序,训练该训练路径上相应的候选学生模型,或者训练该训练路径上相应的至少一个中间教师模型和相应的候选学生模型。

在根据一个训练路径中的学生模型训练,当训练路径为以原始教师模型为起点直接到达相应的候选学生模型时,已源数据为输入,以已完成训练的原始教师模型输出的伪目标数据作为相应的候选学生模型的验证;或者,当训练路径为以原始教师模型为起点且经过至少一个中间教师模型后到达相应的候选学生模型时,以源数据作为输入,以训练路径上相邻在前的复杂教师模型输出的伪目标数据为验证,训练各个中间教师模型,并且以训练路径上与候选学生模型相邻在前的中间教师模型输出的伪目标数据作为候选学生模型的验证,训练候选学生模型;其中,复杂教师模型为已完成训练的原始教师模型,或已完成训练且模型参数总数比当前待训练的中间教师模型的模型参数总数更多的其他中间教师模型。

其中,训练路径为依次指导训练的模型形成的虚拟路径,每个训练路径均已原始教师模型为起点,以一个候选学生模型为终点,中间可以没有,也可以由有一个或多个参数不同的中间教师模型,根据模型的复杂程度,即参数总数降序排列,依次进行训练。因此,指定多个训练路径,一一对应的训练多个候选学生模型,从而可以将原始教师模型的知识更有效的逐渐迁移到学生模型,提高了学生模型的质量。

以一具体实施例来说明上述候选学生模型的训练方式,例如,如图4所示,包括一个原始教师模型TN,以及两级复杂程度依次递减的中间教师模型TN-1和TN-2。其中,原始教师模型TN通过训练样本集

Figure BDA0002246622150000091

进行训练,其中x为源数据,y为对应目标数据。在原始教师模型训练完成后,再次将源数据x输入,得到一一对应的伪目标数据yT,得到原始教师模型的伪目标数据集

Figure BDA0002246622150000092

中间教师模型TN-1由于只有一个原始教师模型TN相对比其复杂,因此,其只能通过原始教师模型TN训练,即通过原始教师模型的伪目标数据集

Figure BDA0002246622150000093

以源数据x作为输入,伪目标数据yT作为验证,在中间模型TN-1完成训练后,以同样的方式得到伪目标数据集。而中间教师模型TN-2由于比原始教师模型TN和中间教师模型TN-1均更简化,因此可以通过原始教师模型TN或中间教师模型TN-1训练得到,即可以以源数据为输入,以原始教师模型TN的伪目标数据为验证或以中间教师模型TN-1的伪目标数据为验证,进行训练。因此,中间教师模型TN-2可以具有两个,分别通过原始教师模型TN和中间教师模型TN-1训练,从而形成了不同的训练路径。在此基础上,候选学生模型S可以设置为4个,同样原理,分别通过原始教师模型TN、中间教师模型TN-1以及两个通过不同路径训练得到的中间教师模型TN-2训练。根据不同训练路径完成训练的候选学生模型具有不同的参数。

步骤S15,根据多个候选学生模型的训练结果,选择一个候选学生模型作为目标学生模型。

在多个通过不同训练路径得到的候选学生模型中,选择一个候选学生模型作为目标学生模型,该目标学生模型能够满足终端设备对模型复杂程度的条件要求,同时也能满足神经网络模型的质量要求。在一实施例中,步骤S15可以包括:通过验证集检测多个候选学生模型的输出结果准确率,根据准确率选取得到目标学生模型。在完成训练的多个候选学生模型中,选择质量最优的候选学生模型作为目标学生模型,选择的方式可以是通过验证集对多个学生模型进行测试,其中验证集与训练样本集原理相同,具有测试数据和测试数据对应的标准结果数据,同时测试数据也可以相比训练样本集中的源数据增加噪声干扰,之后根据候选学生模型的输出结果与标准结果数据比对的准确率进行选择,选择准确率最高的候选学生模型作为目标学生模型。

通过上述任一实施例的神经网络模型压缩方法,能够训练得到符合简化要求的多个学生模型,并且可以从通过不同训练路径完成训练的学生模型选择最优的一个作为目标学生模型,从而能够得到更简化且质量更高的神经网络模型。

基于同一个发明构思,本公开还提供一种语料翻译方法20,参见图5,语料翻译方法20包括:步骤S21获取语料;步骤S22通过神经网络模型对语料进行翻译,其中,神经网络模型为前述任一实施例的神经网络模型压缩方法10得到的目标学生模型;步骤S23输出翻译结果。

基于同一个发明构思,图6示出了一种神经网络模型压缩装置100,如图6所示,神经网络模型压缩装置100包括:训练样本获取单元110,用于获取包括多个训练样本对的训练样本集,每一个训练样本对包括源数据和与源数据对应的目标数据;原始模型训练单元120,用于以源数据为输入,以目标数据为验证,训练原始教师模型;中间模型训练单元130,用于基于训练样本集以及原始教师模型,训练一个或多个中间教师模型,一个或多个中间教师模型组成教师模型集;学生模型训练单元140,用于基于训练样本集、原始教师模型和教师模型集,训练多个候选学生模型,多个候选学生模型组成学生模型集;目标模型选取单元150,用于根据多个候选学生模型的训练结果,选择一个候选学生模型作为目标学生模型。

在一实施例中,其中任一中间教师模型的模型参数总数少于原始教师模型的模型参数总数。

在一实施例中,中间模型训练单元130还用于:以源数据为输入,以复杂教师模型输出的伪目标数据为验证,训练每一个待训练的中间教师模型,其中,复杂教师模型为已完成训练的原始教师模型,或已完成训练且模型参数总数比当前待训练的中间教师模型的模型参数总数更多的其他中间教师模型。

在一实施例中,其中教师模型集中的一个或多个中间教师模型按各自的模型参数总数进行降序分级排列,使得后一级中间教师模型的模型参数总数少于前一级中间教师模型的模型参数总数,并且其中用于训练当前级的中间教师模型的复杂模型为已完成训练的原始教师模型或已完成训练的前面任一级中间教师模型。

在一实施例中,学生模型训练单元140还包括:路径确认子单元:用于确定多条训练路径,多条训练路径与多个候选学生模型一一对应,并且训练路径为以原始教师模型为起点直接到达相应的候选学生模型,或者以原始教师模型为起点且经过至少一个中间教师模型后到达相应的候选学生模型;训练子单元:用于以每一条训练路径上的模型排列顺序,训练该训练路径上相应的候选学生模型,或者训练该训练路径上相应的至少一个中间教师模型和相应的候选学生模型。

在一实施例中,训练子单元还用于:当训练路径为以原始教师模型为起点直接到达相应的候选学生模型时,已源数据为输入,以已完成训练的原始教师模型输出的伪目标数据作为相应的候选学生模型的验证;或者,当训练路径为以原始教师模型为起点且经过至少一个中间教师模型后到达相应的候选学生模型时,以源数据作为输入,以训练路径上相邻在前的复杂教师模型输出的伪目标数据为验证,训练各个中间教师模型,并且以训练路径上与候选学生模型相邻在前的中间教师模型输出的伪目标数据作为候选学生模型的验证,训练候选学生模型;其中,复杂教师模型为已完成训练的原始教师模型,或已完成训练且模型参数总数比当前待训练的中间教师模型的模型参数总数更多的其他中间教师模型。

在一实施例中,目标模型选取单元150还用于:通过验证集检测多个候选学生模型的输出结果准确率,根据准确率选取得到目标学生模型。

在一实施例中,任一中间教师模型的模型参数总数少于原始教师模型的模型参数总数包括:任一中间教师模型的模型层数少于原始教师模型的模型层数。

在一实施例中,训练样本获取单元110还用于:获取第一语言语料作为源数据,获取与第一语言语料具有相同意思的第二语言语料作为目标数据。

在一实施例中,原始模型训练单元120还用于:将第一语言语料和第二语言语料分词,分别得到多个第一语言词语和多个第二语言词语;分别对多个第一语言词语和多个第二语言词语进行向量化的对应的多个第一语言词语向量和多个第二语言词语向量;基于第一语言词语向量,通过编码器和注意力机制,得到第一语言语料向量;基于第二语言词语向量,通过解码器和注意力机制,得到第二语言语料向量;根据第一语言语料向量与第二语言语料向量,训练原始教师模型。

关于上述实施例中的神经网络模型压缩装置100,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

基于同一个发明构思,图7示出了一种语料翻译装置200,如图7所示,语料翻译装置200包括,接收单元210,用于获取语料;处理单元220,用于通过神经网络模型对语料进行翻译,其中,神经网络模型为通过前述任一实施例的神经网络模型压缩方法10得到的目标学生模型;输出单元230,用于输出翻译结果。

关于上述实施例中的语料翻译装置200,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图8是根据一示例性实施例示出的前述任一实施例装置的示意框图。例如,装置300可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图8,装置300可以包括以下一个或多个组件:处理组件302,存储器304,电力组件306,多媒体组件308,音频组件310,输入/输出(I/O)的接口312,传感器组件314,以及通信组件316。

处理组件302通常控制装置300的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件302可以包括一个或多个处理器320来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件302可以包括一个或多个模块,便于处理组件302和其他组件之间的交互。例如,处理组件302可以包括多媒体模块,以方便多媒体组件308和处理组件302之间的交互。

存储器304被配置为存储各种类型的数据以支持在装置300的操作。这些数据的示例包括用于在装置300上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器304可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电力组件306为装置300的各种组件提供电力。电力组件306可以包括电源管理系统,一个或多个电源,及其他与为装置300生成、管理和分配电力相关联的组件。

多媒体组件308包括在所述装置300和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件308包括一个前置摄像头和/或后置摄像头。当设备300处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件310被配置为输出和/或输入音频信号。例如,音频组件310包括一个麦克风(MIC),当装置300处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器304或经由通信组件316发送。在一些实施例中,音频组件310还包括一个扬声器,用于输出音频信号。

I/O接口312为处理组件302和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件314包括一个或多个传感器,用于为装置300提供各个方面的状态评估。例如,传感器组件314可以检测到装置300的打开/关闭状态,组件的相对定位,例如所述组件为装置300的显示器和小键盘,传感器组件314还可以检测装置300或装置300一个组件的位置改变,用户与装置300接触的存在或不存在,装置300方位或加速/减速和装置300的温度变化。传感器组件314可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件314还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件314还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件316被配置为便于装置300和其他设备之间有线或无线方式的通信。装置300可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件316经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件316还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置300可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器304,上述指令可由装置300的处理器320执行以完成上述方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

图9是根据一示例性实施例示出的一种电子装置400的框图。例如,装置400可以被提供为一服务器。参照图9,装置400包括处理组件422,其进一步包括一个或多个处理器,以及由存储器432所代表的存储器资源,用于存储可由处理组件422的执行的指令,例如应用程序。存储器432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件422被配置为执行指令,以执行上述方法。

装置400还可以包括一个电源组件426被配置为执行装置300的电源管理,一个有线或无线网络接口450被配置为将装置400连接到网络,和一个输入输出(I/O)接口458。装置400可以操作基于存储在存储器432的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种机器翻译方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!