CN109448706A - 神经网络语言模型压缩方法及系统 - Google Patents

神经网络语言模型压缩方法及系统 Download PDF

Info

Publication number
CN109448706A
CN109448706A CN201811518662.2A CN201811518662A CN109448706A CN 109448706 A CN109448706 A CN 109448706A CN 201811518662 A CN201811518662 A CN 201811518662A CN 109448706 A CN109448706 A CN 109448706A
Authority
CN
China
Prior art keywords
model
layer
language model
neural network
embeding
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
Application number
CN201811518662.2A
Other languages
English (en)
Inventor
俞凯
刘奇
马娆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AI Speech Ltd
Original Assignee
AI Speech Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by AI Speech Ltd filed Critical AI Speech Ltd
Priority to CN201811518662.2A priority Critical patent/CN109448706A/zh
Publication of CN109448706A publication Critical patent/CN109448706A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开一种神经网络语言模型压缩方法及系统,其中,所述神经网络语言模型包括输入嵌入层、隐藏层和输出嵌入层,所述方法包括:在所述输入嵌入层与所述隐藏层之间设置第一投影层;在所述隐藏层和所述输出嵌入层之间设置第二投影层;分别将所述输入嵌入层、第一投影层、隐藏层、第二投影层和输出嵌入层的参数权重矩阵配置为二值化权重矩阵以构成压缩后的语言模型。本发明实施例的方法减小了所需的存储空间,即便是当应用于具有大词汇表的文本语料库时,也能够保持模型较小,使得训练得到的语言模型能够应用在嵌入式系统或便携设备中。

Description

神经网络语言模型压缩方法及系统
技术领域
本发明涉及人工智能技术领域,尤其涉及一种神经网络语言模型压缩方法及系统。
背景技术
语言模型,是对自然语言流畅性和合理程度的衡量,广泛应用于语音识别、光学字符识别、机器翻译、输入法等领域中。它是针对某种语言建立的概率模型,能够评估给定词序列在语言中出现的概率。在语音识别任务中,语言模型与声学模型通过解码器结合在一起,合作完成识别功能。在综合声学模型和语言模型对候选句子的打分之后,解码端将音频信息转化为最合理的文字。
相比传统的统计语言模型,基于深层神经网络的语言模型能够取得更好的性能。RNN拥有对序列信息建模的能力,在语言模型的研究中有着广泛的应用。LSTM是一种特殊的RNN结构,能够更好地对长时依赖进行建模,并且解决了RNN网络遇到的梯度消失与梯度爆炸的问题。因为LSTM有着这些优点,LSTM语言模型在许多NLP任务中取得了最先进的性能。虽然RNN语言模型越来越受欢迎,但它们有一个很大的局限性:当应用于具有大词汇表的文本语料库时,模型的大小将变得非常大,使得训练得到的语言模型难以被应用在嵌入式系统或便携设备中。另外,神经网络的参数量过大和结构过于复杂还会影响语音识别的速度。
发明内容
本发明实施例提供一种神经网络语言模型压缩方法及系统,用于至少解决上述技术问题之一。
第一方面,本发明实施例提供一种神经网络语言模型压缩方法,包括:
所述神经网络语言模型包括输入嵌入层、隐藏层和输出嵌入层,所述方法包括:
在所述输入嵌入层与所述隐藏层之间设置第一投影层;
在所述隐藏层和所述输出嵌入层之间设置第二投影层;
分别将所述输入嵌入层、第一投影层、隐藏层、第二投影层和输出嵌入层的参数权重矩阵配置为二值化权重矩阵,以构成压缩后的语言模型。
第二方面,本发明实施例提供一种神经网络语言模型压缩系统,所述神经网络语言模型包括输入嵌入层、隐藏层和输出嵌入层,所述系统包括:
第一设置模块,用于在所述输入嵌入层与所述隐藏层之间设置第一投影层;
第二设置模块,用于在所述隐藏层和所述输出嵌入层之间设置第二投影层;
权重矩阵配置模块,用于分别将所述输入嵌入层、第一投影层、隐藏层、第二投影层和输出嵌入层的参数权重矩阵配置为二值化权重矩阵,以构成压缩后的语言模型。
第三方面,本发明实施例提供一种存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项神经网络语言模型压缩方法。
第四方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明上述任一项神经网络语言模型压缩方法。
第五方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项神经网络语言模型压缩方法。
本发明实施例的方法通过将输入嵌入层的参数权重矩阵和输出嵌入层的参数权重矩阵分别配置成对应的二值化权重矩阵,达到了压缩神经网络语言模型的效果;进一步的由于分别在输入嵌入层和隐藏层之间以及隐藏层和输出嵌入层之间设置第一投影层和第二投影层的方式,并将隐藏层配置的参数权重矩阵配置为二值化权重矩阵,进一步压缩了神经网络语言模型,而且还提升了压缩后的神经网络语言模型的性能。从而即便是当应用于具有大词汇表的文本语料库时,也能够保持模型较小,使得训练得到的语言模型能够应用在嵌入式系统或便携设备中。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的神经网络语言模型压缩方法的一实施例的流程图;
图2为本发明的神经网络语言模型压缩方法的另一实施例的流程图;
图3为本发明实施例中训练训练压缩后的神经网络语言模型的原理框图;
图4为现有技术中的神经网络语言模型的结构图;
图5为基于本发明的方法所得到的二值化神经网络语言模型结构图;
图6为本发明的神经网络语言模型压缩系统的一实施例的原理框图;
图7为本发明的神经网络语言模型压缩系统的另一实施例的原理框图;
图8为本发明的电子设备的一实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
在本发明中,“模块”、“装置”、“系统”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
发明人在实现本发明的过程中发现,语言模型的计算与存储开销主要由两部分组成,隐层与两个词嵌入层。上述方法大多只关注一个部分的压缩,从而难以达到较高的压缩比。另外,这些技术没有很好地利用未压缩的语言模型中的信息,在压缩后丧失了一定程度的表达能力,从而导致模型性能降低。
为了提高模型压缩比,可以选择更换模型压缩算法或者调整模型压缩的参数。为了提高压缩后模型的精度,可以使用fine-tune等方法加强模型的表现。通常情况下,提高模型的压缩比与提高压缩后模型的性能这两个目标是对立的,很难一举两得。
如图1所示,本发明的实施例提供一种神经网络语言模型压缩方法,所述神经网络语言模型包括输入嵌入层、隐藏层和输出嵌入层,所述方法包括:
S11、在所述输入嵌入层与所述隐藏层之间设置第一投影层;
S12、在所述隐藏层和所述输出嵌入层之间设置第二投影层;
S13、分别将所述输入嵌入层、第一投影层、隐藏层、第二投影层和输出嵌入层的参数权重矩阵配置成二值化权重矩阵构成压缩后的语言模型。
本发明实施例的方法通过将输入嵌入层的参数权重矩阵和输出嵌入层的参数权重矩阵分别配置成对应的二值化权重矩阵,达到了压缩神经网络语言模型的效果;进一步的由于分别在输入嵌入层和隐藏层之间以及隐藏层和输出嵌入层之间设置第一投影层和第二投影层的方式,并将隐藏层配置的参数权重矩阵配置为二值化权重矩阵,进一步压缩了神经网络语言模型,而且还提升了压缩后的神经网络语言模型的性能。从而即便是当应用于具有大词汇表的文本语料库时,也能够保持模型较小,使得训练得到的语言模型能够应用在嵌入式系统或便携设备中;另外,也提升了语音识别的速度。
如图2所示,本发明的神经网络语言模型压缩方法的一些实施例中还包括:
S21、预先训练所述神经网络语言模型作为教师模型;
S22、将所述压缩后的神经网络语言模型作为学生模型;
S23、将训练数据输入所述教师模型以得到所述教师模型在词表上的概率分布;
S24、将所述概率分布和对应于所述训练数据的预测标签的独热向量的插值确定为所述学生模型的训练目标;
S25、以所述训练数据作为所述学生模型的输入来训练所述学生模型。
虽然二值化可以作为一种正则化的手段,从而使模型在新数据上更好地泛化。但是,二值化神经网络语言模型通常会因较差的表达能力而导致性能下降。此外,二值化神经网络语言模型的收敛速度慢于传统的语言模型,这表明它们更难以训练。与全精度的LSTM语言模型相比,二值化语言模型在PTB数据集(Penn Tree Bank,评测语言模型性能的经典数据集,由三年的华尔街日报中挑选的2499个故事组成)上的混淆度损失高达7.5%。因此我们使用全精度语言模型作为教师指导二值化语言模型的训练过程,从而缩小它们之间的性能差距。
如图3所示,为本发明实施例中训练训练压缩后的神经网络语言模型的原理框图。教师模型是事先训练好的全精度LSTM语言模型,学生模型是二值化的LSTM语言模型。在训练学生模型时,我们将训练数据输入教师模型中,得到教师模型在词表上的概率分布,将这个概率分布(即软标注)与正确的预测标签(即硬标注)的独热向量的插值作为学生模型的训练目标,从而进行梯度更新。其中,所述插值确定为:对所述概率分布和对应于所述训练数据的预测标签的独热向量的加权求和。示例性地,将教师模型输出的概率分布与正确预测标签的独热向量以一个固定的比例结合在一起,得到一个新的和为1的向量。例如,假设软标注向量是[0.1,0.6,0.3],硬标注向量是[0,1,0],以0.5比0.5的比例插值得到的新向量是[0.05,0.8,0.15]。
将训练数据中的样本表示为(x,y),并假设词汇量大小为V。最初的训练标准是最小化训练数据中每个样本的NLL损失:
为了使学生模型模仿其教师,我们还希望最小化学生和教师分布之间的Kullback-Leibler差异。将教师模型输出分布表示为q(y|x;θT),并将学生输出分布表示为p(y|x;θ),我们的目标相当于最小化交叉熵:
插入原始数据和教师输出产生的损失是一种常见做法。因此,最终目标函数:
其中,α是组合一热分布和教师分布的插值权重。
在一些实施例中,所述神经网络语言模型为前馈神经网络(FNN)模型或者循环神经网络(RNN)模型。
发明人在实现本发明的过程中发现,当将神经网络语言模型的所有参数矩阵二值化之后,隐层参数对于语言模型大小的影响变得更加关键。因此,本实施例中将二值化与简化语言模型结构相结合,从而提升语言模型的压缩比。例如,采用前馈神经网络语言模型或者循环神经网络语言模型,从而进一步压缩的模型隐层。
通过使用简化的语言模型结构,我们可以得到更大的压缩比,在我们的实验参数下,二值化RNN语言模型的压缩比为33,而二值化FNN语言模型的压缩比为35。且RNN、FNN的结构更为简单,运算操作更少、计算耗时更短。
其中,RNN全写为Recurrent Neural Network,在神经元的连接中形成有向环的神经网络,将时间维度包含入模型中。与前馈神经网络不同,RNN可以使用其内部状态来处理输入序列。理论上,RNN能够记忆任意长度的历史信息。
FNN全写是Feedforward Neural Network。在该网络中,节点之间的连接不形成循环,信息仅在一个方向上移动,从输入节点向前移动,通过隐层节点移动到输出节点。
在一些实施例中,所述神经网络语言模型为LSTM语言模型。
针对语言模型结构复杂、模型庞大导致的运算缓慢、不利于实际应用等问题,本发明通过神经网络二值化对原始语言模型进行压缩并且通过知识提取提升压缩后的模型的性能。
在二值化神经网络BNN中,参数矩阵中的权重由实数映射为+1或-1。BNN能够以1/32的因子显著减小压缩后的模型的大小,并且可以采用逐位运算的方法代替大部分矩阵运算,从而提高模型运行效率。通过二值化,我们可以同时压缩语言模型中的隐层与嵌入层。然而二值化损伤了神经网络的表达能力,因此二值化的语言模型难以得到与全精度的LSTM语言模型相媲美的性能。我们采用知识提取的方法作为辅助,以缩小二值化语言模型与原模型间的性能差距。
在知识提取框架中,首先要训练一个或若干个有良好性能的教师模型。分类任务原始的训练目标通常为一个独热向量,即仅有一位是1,而其他维度均是0。这个向量也被称为硬标注,与之相对教师模型的输出通常被称为软标注。通过结合原始数据的硬标注与教师模型输出的软标注作为学生模型的训练目标,可以使学生模型模仿教师模型的表现,从而提升学生模型的性能。在本发明中,我们将知识提取框架用在语言模型的训练过程中,从而使二值化的LSTM语言模型达到全精度LSTM神经网络的性能。
如图4所示,为现有技术中的神经网络语言模型的结构图,包括顺序连接的输入嵌入层、隐藏层和输出嵌入层。输入嵌入层是一个查找表,它将表示单词的独热向量映射为一个实值向量。隐藏层记录并更新句子的历史信息。输出嵌入层是一个线性层,后跟softmax函数,将隐层的输出结果映射为下一个单词的概率分布。LSTM语言模型是最被广泛使用的神经网络语言模型,因为它在建模序列数据方面非常有效。
如图5所示,为基于本发明的方法所得到的二值化神经网络语言模型结构图,包括顺序连接的输入嵌入层、第一投影层、隐藏层、第二投影层和输出嵌入层。该二值化神经网络语言模型的结构与全精度神经网络语言模型(即,图4所示的神经网络语言模型)结构相似,不同的是在输入嵌入层与隐层间以及隐层与输出嵌入层间分别加入了一个投影层。在二值化神经网络的前向传播中,图中所有的矩阵均为二值化矩阵,与32位的浮点数相比,压缩后的参数矩阵中的每个元素只需一位即可表示。
在一些实施例中,二值化嵌入语言模型(BE LM)是一种新颖的神经网络语言模型,具有二值化输入嵌入和输出嵌入。不是直接在二值化嵌入层上进行训练,而是在训练阶段使用实值变量来累积实值梯度。并且在传播步骤期间,权重基于其符号被约束为+1或-1。
采用本发明前述实施例中的方法训练BE LM。在输入嵌入层后面和输出嵌入层的前面添加两个额外的全精度投影层,以获得稳定的表示能力。详细算法如下所示:
算法1:BE LM的前向传播
输入:输入x,嵌入权重Win,Wout,投影权重Wt,Wy,向量bt,by
输出:输出y
1:Win b=Binarize(Win)
2:t=Wt(Win bx)+bt
3:o=Hidden(t)
4:Wout b=Binarize(Wout)
5:logit=Wout b(Wyo+by)
6:y=Softmax(logit)
隐藏表示隐藏层转换功能。将嵌入二值化为比+1或-1更小的范围是一种很好的做法。假设模型具有H隐藏神经元,则函数Binarize定义为:
由于Binarize函数的导数在任何地方都是0,我们不能通过这个函数直接反向传播。假设已经获得梯度通过计算相应的实值矩阵的梯度:
完全二值化的语言模型:隐藏层的参数权重也可以二进制化,对于每个二值化线性层,使用实值缩放矢量γ和偏差b来增强模型性能。将二值化矩阵表示为Wb,正向通过期间二值化线性层的传播步骤为
y=Wbx·exp(γ)+b
其中,x和y是实值向量。在我们的实验中,我们将BE LM网络的所有矩阵二值化,包括两个额外的线性层,并获得完全二值化的语言模型(FB LM)。
存储消耗比较:将嵌入维度表示为E,将隐藏维度表示为H。假设词汇量大小为V。在我们的工作中,我们减少了隐藏层的大小和语言模型中的嵌入层。在表1中,我们计算具有一个隐藏层的每个NN LM的参数大小以及对应的BE LM和FB LM的参数大小。为简单起见,我们假设E=H。如下表1,为NN LM,BE LM和FB LM的参数大小比较表。
如表1所示,LSTM LM的参数大小大于RNN LM或n-gram FNN LM。在语言建模中,词汇量V通常明显大于隐藏大小H或嵌入大小E,因此嵌入层主导语言模型的参数大小。该表1显示,对于嵌入层的二值化,V H项的系数从8下降到0.25,导致模型参数的显着减少。虽然嵌入图层是二值化的,但隐藏图层的参数对于语言模型的大小至关重要。我们可以通过将LSTM的复合门替换为简化的结构(如RNN或FNN)以及通过对隐藏层进行二值化来进一步减少内存。
为了更加直观的突出本发明实施例相对于现有技术的有益效果,发明人进行了以下实验进行验证。
1、实验装置
本发明设计了英语Penn TreeBank(PTB)和中文短信(SMS)语料库的实验,以评估压缩语言模型的性能。PTB语料库是一个著名的数据集,词汇量为10K字。训练集包含42K个句子,887K个单词,测试数据的OOV率为6%。中文短信语料库的词汇量大约为40K字。训练集包含380K句子和1931K单词。测试数据的OOV率为0.02%。
在两个语料库中,本发明使用具有一个隐藏层的循环网络,并且本发明将嵌入大小和隐藏大小设置为600。对于FNN模型,本发明使用5-gram FNN模型。嵌入大小设置为300,本发明使用两个大小为800的隐藏线性层。FNN和RNN中使用的激活函数是ReLU。对于PTB数据集的实验,对于直接在训练集上训练的模型,丢弃率(dropout rate)设置为0.5,对于使用知识提取训练的模型,丢弃率设置为0.2。并且在SMS语料库上进行的所有实验中,丢弃率设定为0.2。并且我们在知识提取过程中将组合率α设定为0.5。
2、知识提取对NN LM的影响
如表2所示,将LSTM LM的知识提炼到具有更简单模型结构的语言模型是有用的。提取FNN和RNN的困惑度大大提高,这与[20]中得出的结论一致。然而,在提取语言模型中参数大小仍然很大,因为嵌入权重仍然占据了大部分存储空间,这促使我们在以下实验中使用知识提取技术来训练二值化语言模型。如下表2所示,全精度语言模型的困惑结果,KD表示来自LSTM LM的知识提取。
3、二值化嵌入NN LM的实验
嵌入二值化的实验结果列于表3中。基线BE-LSTM模型在PTB数据集上的性能优于全精度LSTM,因为二值化可能提供一种正则化形式。同时,与全精度RNN和FNN模型相比,基线BE-RNN和BE-FNN遭受严重的性能下降。一旦我们在训练阶段应用知识提取框架,提取二值化嵌入NN LMs的性能就会大大提高甚至超过表2中相应的全精度模型。值得注意的是,提取后的BE-RNN LM优于SMS语料库中的教师LSTM LM,总模型压缩率为17.4。如下表3,二值化嵌入语言模型的困惑结果,KD表示来自LSTM LM的知识提取。
4、完全二值化NN LM的实验
表4显示了完全二值化网络的实验结果。由于所有参数权重都是二值化的,因此压缩语言模型的大小显着减小,这也导致显着的性能下降。通过从教师LSTM LM传递知识,与在原始数据上训练的基线FB LM相比,可以观察到高达14%的改进。如表中所示,提取的FB-LSTM模型在不影响准确性的情况下产生31.4的总压缩率。对于提取的FB-RNN和FBFNN,与教师LSTM LM相比,可以获得高于32的压缩率和可接受的损失。如下表4,完全二值化语言模型的困惑结果,KD表示来自LSTM LM的知识提取。
5、ASR重新定位的实验
我们在中文短信语料库上进行语音识别n-best rescoring实验。表5中给出了与不同语言模型的WER比较。可以观察到,每个提取语言模型相对于仅在原始数据上训练的基线模型获得了大的改进。尽管二值化语言模型由于较差的表示能力而遭受性能下降,但具有二进制精度的提取语言模型与教师LSTM竞争。可以获得高达8%相对的WER的改进。如下表5,中文SMS语料库中具有不同结构的语言模型的单词错误率(%)比较,KD表示来自LSTMLM的知识提取。
6、结论:本发明提出结合二值化和知识提取方法压缩大语言模型。使用本发明的方法,原始模型和压缩模型之间的性能差距基本上是封闭的。通过从LSTM LM中提取知识,与教师模型相比,BE-LSTM LM和BE-RNN LM可以获得更好的WER结果。并且FB-LSTM LM可以获得接近32的压缩率而不会损失PPL和WER结果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
如图6所示,本发明的实施例还提供一种神经网络语言模型压缩系统600,所述神经网络语言模型包括输入嵌入层、隐藏层和输出嵌入层,所述系统包括:
第一设置模块610,用于在所述输入嵌入层与所述隐藏层之间设置第一投影层;
第二设置模块620,用于在所述隐藏层和所述输出嵌入层之间设置第二投影层;
权重矩阵配置模块630,用于分别将所述输入嵌入层、第一投影层、隐藏层、第二投影层和输出嵌入层的参数权重矩阵配置为二值化权重矩阵,以构成压缩后的语言模型。
本发明实施例的方法通过设置第一投影层可以将神经网络语音模型的隐藏层中的参数矩阵中的浮点数向量转化成二值化向量,从而减小了所需的存储空间,并通过第二投影层在实际应用中将二值化向量再还原成浮点数向量,从而即便是当应用于具有大词汇表的文本语料库时,也能够保持模型较小,使得训练得到的语言模型能够应用在嵌入式系统或便携设备中;另外,也提升了语音识别的速度。
如图7所示,在本发明的神经网络语言模型压缩系统600的一些实施例中,还包括:
第一训练模块640,用于预先训练所述语言模型作为教师模型;
配置模块650,用于将所述压缩后的语言模型作为学生模型;
概率分布确定模块660,用于将训练数据输入所述教师模型以得到所述教师模型在词表上的概率分布;
训练目标确定模块670,用于将所述概率分布和对应于所述训练数据的预测标签的插值确定为所述学生模型的训练目标;
第二训练模块680,用于以所述训练数据作为所述学生模型的输入来训练所述学生模型。
在一些实施例中,所述神经网络语言模型为前馈神经网络模型或者循环神经网络模型。
在一些实施例中,所述神经网络语言模型为LSTM语言模型。
在一些实施例中,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项神经网络语言模型压缩方法。
在一些实施例中,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项神经网络语言模型压缩方法。
在一些实施例中,本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行神经网络语言模型压缩方法。
在一些实施例中,本发明实施例还提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时神经网络语言模型压缩方法。
上述本发明实施例的神经网络语言模型压缩系统可用于执行本发明实施例的神经网络语言模型压缩方法,并相应的达到上述本发明实施例的实现神经网络语言模型压缩方法所达到的技术效果,这里不再赘述。本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。
图8是本申请另一实施例提供的执行神经网络语言模型压缩方法的电子设备的硬件结构示意图,如图8所示,该设备包括:
一个或多个处理器810以及存储器820,图8中以一个处理器810为例。
执行神经网络语言模型压缩方法的设备还可以包括:输入装置830和输出装置840。
处理器810、存储器820、输入装置830和输出装置840可以通过总线或者其他方式连接,图8中以通过总线连接为例。
存储器820作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的神经网络语言模型压缩方法对应的程序指令/模块。处理器810通过运行存储在存储器820中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例神经网络语言模型压缩方法。
存储器820可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据神经网络语言模型压缩装置的使用所创建的数据等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器820可选包括相对于处理器810远程设置的存储器,这些远程存储器可以通过网络连接至神经网络语言模型压缩装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置830可接收输入的数字或字符信息,以及产生与神经网络语言模型压缩装置的用户设置以及功能控制有关的信号。输出装置840可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器820中,当被所述一个或者多个处理器810执行时,执行上述任意方法实施例中的神经网络语言模型压缩方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种神经网络语言模型压缩方法,所述神经网络语言模型包括输入嵌入层、隐藏层和输出嵌入层,所述方法包括:
在所述输入嵌入层与所述隐藏层之间设置第一投影层;
在所述隐藏层和所述输出嵌入层之间设置第二投影层;
分别将所述输入嵌入层、第一投影层、隐藏层、第二投影层和输出嵌入层的参数权重矩阵配置为二值化权重矩阵,以构成压缩后的神经网络语言模型。
2.根据权利要求1所述的方法,其中,还包括:
预先训练所述神经网络语言模型作为教师模型;
将所述压缩后的神经网络语言模型作为学生模型;
将训练数据输入所述教师模型以得到所述教师模型在词表上的概率分布;
将所述概率分布和对应于所述训练数据的预测标签的独热向量的插值确定为所述学生模型的训练目标;
以所述训练数据作为所述学生模型的输入来训练所述学生模型。
3.根据权利要求1所述的方法,其中,所述神经网络语言模型为前馈神经网络模型或者循环神经网络模型。
4.根据权利要求1所述的方法,其中,所述神经网络语言模型为LSTM语言模型。
5.一种神经网络语言模型压缩系统,所述神经网络语言模型包括输入嵌入层、隐藏层和输出嵌入层,所述系统包括:
第一设置模块,用于在所述输入嵌入层与所述隐藏层之间设置第一投影层;
第二设置模块,用于在所述隐藏层和所述输出嵌入层之间设置第二投影层;
权重矩阵配置模块,用于分别将所述输入嵌入层、第一投影层、隐藏层、第二投影层和输出嵌入层的参数权重矩阵配置为二值化权重矩阵,以构成压缩后的神经网络语言模型。
6.根据权利要求5所述的系统,其中,还包括:
第一训练模块,用于预先训练所述神经网络语言模型作为教师模型;
配置模块,用于将所述压缩后的神经网络语言模型作为学生模型;
概率分布确定模块,用于将训练数据输入所述教师模型以得到所述教师模型在词表上的概率分布;
训练目标确定模块,用于将所述概率分布和对应于所述训练数据的预测标签的插值确定为所述学生模型的训练目标;
第二训练模块,用于以所述训练数据作为所述学生模型的输入来训练所述学生模型。
7.根据权利要求5所述的系统,其中,所述神经网络语言模型为前馈神经网络模型或者循环神经网络模型。
8.根据权利要求5所述的系统,其中,所述神经网络语言模型为LSTM语言模型。
9.一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任意一项所述方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-4中任意一项所述方法的步骤。
CN201811518662.2A 2018-12-12 2018-12-12 神经网络语言模型压缩方法及系统 Pending CN109448706A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811518662.2A CN109448706A (zh) 2018-12-12 2018-12-12 神经网络语言模型压缩方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811518662.2A CN109448706A (zh) 2018-12-12 2018-12-12 神经网络语言模型压缩方法及系统

Publications (1)

Publication Number Publication Date
CN109448706A true CN109448706A (zh) 2019-03-08

Family

ID=65556728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811518662.2A Pending CN109448706A (zh) 2018-12-12 2018-12-12 神经网络语言模型压缩方法及系统

Country Status (1)

Country Link
CN (1) CN109448706A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069715A (zh) * 2019-04-29 2019-07-30 腾讯科技(深圳)有限公司 一种信息推荐模型训练的方法、信息推荐的方法及装置
CN111062209A (zh) * 2019-12-16 2020-04-24 苏州思必驰信息科技有限公司 自然语言处理模型训练方法和自然语言处理模型
CN111627428A (zh) * 2020-05-15 2020-09-04 北京青牛技术股份有限公司 构建压缩的语音识别模型的方法
CN111950688A (zh) * 2019-05-14 2020-11-17 北京搜狗科技发展有限公司 一种数据处理方法、装置和用于数据处理的装置
WO2021077529A1 (zh) * 2019-10-24 2021-04-29 北京小米智能科技有限公司 神经网络模型压缩方法、语料翻译方法及其装置
CN112819155A (zh) * 2021-01-22 2021-05-18 中国人民解放军国防科技大学 应用于边缘设备的深度神经网络模型分级压缩方法及装置
US11620435B2 (en) 2019-10-10 2023-04-04 International Business Machines Corporation Domain specific model compression
WO2024001108A1 (zh) * 2022-06-29 2024-01-04 浪潮电子信息产业股份有限公司 一种文本答案的确定方法、装置、设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014098760A (ja) * 2012-11-13 2014-05-29 Nippon Telegr & Teleph Corp <Ntt> 辞書・言語モデル圧縮方法とその装置とプログラム
CN108389576A (zh) * 2018-01-10 2018-08-10 苏州思必驰信息科技有限公司 压缩后的语音识别模型的优化方法及系统
CN108874754A (zh) * 2018-05-30 2018-11-23 苏州思必驰信息科技有限公司 语言模型压缩方法和系统
CN108932124A (zh) * 2018-06-26 2018-12-04 Oppo广东移动通信有限公司 神经网络模型压缩方法、装置、终端设备及存储介质
CN108960407A (zh) * 2018-06-05 2018-12-07 出门问问信息科技有限公司 递归神经网路语言模型训练方法、装置、设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014098760A (ja) * 2012-11-13 2014-05-29 Nippon Telegr & Teleph Corp <Ntt> 辞書・言語モデル圧縮方法とその装置とプログラム
CN108389576A (zh) * 2018-01-10 2018-08-10 苏州思必驰信息科技有限公司 压缩后的语音识别模型的优化方法及系统
CN108874754A (zh) * 2018-05-30 2018-11-23 苏州思必驰信息科技有限公司 语言模型压缩方法和系统
CN108960407A (zh) * 2018-06-05 2018-12-07 出门问问信息科技有限公司 递归神经网路语言模型训练方法、装置、设备及介质
CN108932124A (zh) * 2018-06-26 2018-12-04 Oppo广东移动通信有限公司 神经网络模型压缩方法、装置、终端设备及存储介质

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069715A (zh) * 2019-04-29 2019-07-30 腾讯科技(深圳)有限公司 一种信息推荐模型训练的方法、信息推荐的方法及装置
CN110069715B (zh) * 2019-04-29 2022-12-23 腾讯科技(深圳)有限公司 一种信息推荐模型训练的方法、信息推荐的方法及装置
CN111950688A (zh) * 2019-05-14 2020-11-17 北京搜狗科技发展有限公司 一种数据处理方法、装置和用于数据处理的装置
US11620435B2 (en) 2019-10-10 2023-04-04 International Business Machines Corporation Domain specific model compression
WO2021077529A1 (zh) * 2019-10-24 2021-04-29 北京小米智能科技有限公司 神经网络模型压缩方法、语料翻译方法及其装置
US11556723B2 (en) 2019-10-24 2023-01-17 Beijing Xiaomi Intelligent Technology Co., Ltd. Neural network model compression method, corpus translation method and device
CN111062209A (zh) * 2019-12-16 2020-04-24 苏州思必驰信息科技有限公司 自然语言处理模型训练方法和自然语言处理模型
CN111627428A (zh) * 2020-05-15 2020-09-04 北京青牛技术股份有限公司 构建压缩的语音识别模型的方法
CN111627428B (zh) * 2020-05-15 2023-11-14 北京青牛技术股份有限公司 构建压缩的语音识别模型的方法
CN112819155A (zh) * 2021-01-22 2021-05-18 中国人民解放军国防科技大学 应用于边缘设备的深度神经网络模型分级压缩方法及装置
CN112819155B (zh) * 2021-01-22 2022-09-16 中国人民解放军国防科技大学 应用于边缘设备的深度神经网络模型分级压缩方法及装置
WO2024001108A1 (zh) * 2022-06-29 2024-01-04 浪潮电子信息产业股份有限公司 一种文本答案的确定方法、装置、设备和介质

Similar Documents

Publication Publication Date Title
CN109448706A (zh) 神经网络语言模型压缩方法及系统
CN109637546B (zh) 知识蒸馏方法和装置
CN110556100B (zh) 端到端语音识别模型的训练方法及系统
CN110246487A (zh) 用于单通道的语音识别模型的优化方法及系统
CN108960407B (zh) 递归神经网路语言模型训练方法、装置、设备及介质
CN108962224B (zh) 口语理解和语言模型联合建模方法、对话方法及系统
CN108417202A (zh) 语音识别方法及系统
CN110706692B (zh) 儿童语音识别模型的训练方法及系统
CN113361251B (zh) 一种基于多阶段生成对抗网络的文本生成图像方法及系统
CN110516253A (zh) 中文口语语义理解方法及系统
CN109657229A (zh) 一种意图识别模型生成方法、意图识别方法及装置
CN109036391A (zh) 语音识别方法、装置及系统
CN108170686A (zh) 文本翻译方法及装置
CN109346064A (zh) 用于端到端语音识别模型的训练方法及系统
CN109410974A (zh) 语音增强方法、装置、设备及存储介质
CN109036380A (zh) 对话状态跟踪方法、系统、电子设备及存储介质
Liu et al. Speech enhancement method based on LSTM neural network for speech recognition
CN108415888A (zh) 用于神经网络语言模型的压缩方法和系统
CN110362823A (zh) 描述文本生成模型的训练方法和装置
CN110427629A (zh) 半监督文本简化模型训练方法和系统
CN108960574A (zh) 问答的质量确定方法、装置、服务器和存储介质
Deng et al. Foundations and trends in signal processing: Deep learning–methods and applications
CN109637527A (zh) 对话语句的语义解析方法及系统
CN109559749A (zh) 用于语音识别系统的联合解码方法及系统
CN110377902A (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
CB02 Change of applicant information

Address after: 215123 building 14, Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Suzhou City, Jiangsu Province

Applicant after: Sipic Technology Co.,Ltd.

Address before: 215123 building 14, Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Suzhou City, Jiangsu Province

Applicant before: AI SPEECH Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20190308

RJ01 Rejection of invention patent application after publication