CN111310892B - 一种基于独立循环神经网络的语言模型建模方法 - Google Patents
一种基于独立循环神经网络的语言模型建模方法 Download PDFInfo
- Publication number
- CN111310892B CN111310892B CN202010067852.8A CN202010067852A CN111310892B CN 111310892 B CN111310892 B CN 111310892B CN 202010067852 A CN202010067852 A CN 202010067852A CN 111310892 B CN111310892 B CN 111310892B
- Authority
- CN
- China
- Prior art keywords
- layer
- neural network
- word
- independent
- neurons
- 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.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 title claims abstract description 46
- 125000004122 cyclic group Chemical group 0.000 title claims abstract description 28
- 210000002569 neuron Anatomy 0.000 claims abstract description 73
- 238000012549 training Methods 0.000 claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims abstract description 17
- 239000013598 vector Substances 0.000 claims description 34
- 230000000306 recurrent effect Effects 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 13
- 238000004880 explosion Methods 0.000 claims description 10
- 230000004913 activation Effects 0.000 claims description 9
- 230000008034 disappearance Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 230000003993 interaction Effects 0.000 claims description 4
- 238000010030 laminating Methods 0.000 claims description 3
- 238000009499 grossing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000002537 cosmetic Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 229910052731 fluorine Inorganic materials 0.000 description 1
- 125000001153 fluoro group Chemical group F* 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 238000013519 translation 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/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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于独立循环神经网络的语言模型建模方法,使用独立循环神经网络代替循环神经网络作为基本单元,由于独立循环神经网络的神经元只从输入和上一时刻的隐态本身接收信息,同一层之间的神经元没有相互作用,梯度的计算可以独立进行,同时针对独立循环神经网络进行dropout正则化,在时间序列上通过在层与层之间应用dropout以改善模型的过拟合现象;使用对数双线性模型降低输出层的计算量,加快训练速度。本发明结合了独立循环神经网络、正则化方法以及对数双线性模型的优越性,可以降低语言模型的困惑度并提升训练效率。
Description
技术领域
本发明涉及一种使用独立循环神经网络构建语言模型的方法,属于人工智能领域。
背景技术
语言模型(Language Model,LM)作为自然语言处理(Nature LanguageProcessing,NLP)的重要组成部分,一直是人们研究的热点。它通常表示为字符串s的概率分布p(s),它反映的是一个句子出现的概率。目前在自然语言处理中有着广泛的应用,如:语音识别、机器翻译、手写识别、句法分析、词性标注等。
传统的方法主要基于统计模型,即统计语言模型——给定前面的词,求后面一个词出现的概率,通常使用单词组合出现的频率作为其概率。但是统计语言模型存在两个问题:自由参数数目过多;数据的稀疏性也叫零概率问题。为了解决这两个问题,出现了n-gram语言模型。数据稀疏的问题通过平滑化方法来解决,假设有一个词组在训练语料中没有出现过,那么它的频次就为0,但实际上不能认为它出现的概率就是0,这是因为我们无法保证训练语料的完备性。最简单的解决办法就是我们默认每一个词组都出现1次,无论词组出现的频次是多少,都往上加1,这就能够解决概率为0的问题,这种方法叫做加1平滑也叫拉普拉斯平滑。虽然n-gram语言模型具有实现简单、可靠等优点,但是也存在长距离依赖、泛化能力弱、维度灾难等缺陷。
随着深度学习方法的不断发展,使用神经网络构建语言模型的方法正逐渐取代传统的 n-gram语言模型方法。Bengio等[Y Bengio,R Ducharme,P Vincent et al.A neuralprobabilistic language model.Journal ofMachine Learning Research 3,no.Feb(2003):1137-1155.]首先提出使用前馈神经网络构建语言模型的方法并采用词的分布式表示解决了数据稀疏对统计建模的影响,克服了模型参数的维度灾难问题。同时,其训练的语言模型无需使用传统n-gram模型中复杂的平滑方法,具有较好的性能。但是前馈神经网络的sofimax层存在运算量大的问题而且本质上其输入层仍采用n-1个词作为历史信息且n值需要事先指定,并没有解决长期依赖的问题。基于Bengio等人的工作,Mikolov等[TMikolov,M Karafiát,L Burget,et al.Recurrent neural network based languagemodel.In Eleventh Annual Conference of the International Speech CommunicationAssociation.2010.]提出使用循环神经网络(Recurrent Neural Network,RNN)训练语言模型,通过隐藏层的循环获得更大的上下文信息同时降低了模型的参数个数。然而由于循环神经网络存在梯度消失/爆炸的问题,使得该方法对长距离信息的学习变得困难,虽然理论上RNN可以得到任意长度的上下文信息但实际的性能分析表明,RNNLM的性能相当于N为8或9时的n-gram语言模型。此外,NNLM中存在的输出层计算量太大的问题也没有得到很好的解决。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种基于独立循环神经网络的语言模型建模方法,本发明使用独立循环神经网络进行语言模型建模,由于独立循环神经网络使用哈达马内积代替了点积运算且网络层叠方式的不同,因此可以消除梯度爆炸和梯度消失的问题,获得长期依赖进而提高语言模型的性能。其中,针对神经网络普遍存在的过拟合问题,我们提出了IndDrop正则化技术。对于网络最后的softmax层计算量大的问题,使用对数双线性模型方法进行调解,降低计算量。最终,可以达到提高模型性能的同时减少计算量。
技术方案:为实现上述目的,本发明采用的技术方案为:
一种基于独立循环神经网络的语言模型建模方法,本发明与传统语言模型方法的不同在于在模型中使用独立循环神经网络代替循环神经网络作为基本单元,独立循环神经网络的加入使得模型可以利用更加丰富的上下文信息;此外,由于独立循环神经网络的神经元只从输入和上一时刻的隐态本身接收信息,同一层之间的神经元没有相互作用,梯度的计算可以独立进行,从而解决了RNN存在的梯度消失和梯度爆炸的问题。并且,本发明提出了针对独立循环神经网络的dropout正则化方法——IndDrop,在时间序列上通过在层与层之间应用 dropout以改善模型的过拟合现象;针对softmax层计算量大的问题使用对数双线性模型降低输出层的计算量,加快训练速度。本发明结合了独立循环神经网络、正则化方法以及对数双线性模型的优越性,可以降低语言模型的困惑度并提升训练效率。同时,训练完成的语言模型可和声学模型结合用于语音识别模型的训练,可提高语音识别的准确率,具体包括以下步骤:
步骤1)、获取训练数据集,并对训练数据集进行数据预处理;
步骤2)、以独立循环神经网络为基本单元构建网络结构;
步骤201)、以独立循环神经网络为基本单元,以单向层叠的方式建立网络结构,其中每层的各个神经元之间相互独立,它们的联系通过层与层之间的连接实现,第一层为输入层,输入为单词的one-hot向量;从第二层开始到倒数第二层为中间处理层,即隐藏层,隐藏层之间按全连接的方式互连,隐藏层的层内的神经元之间没有连接;最后一层为softmax输出层;每个神经元只从输入和上一时刻的隐态本身接收信息;不同神经元之间的相关性通过堆叠两层或多层网络得以实现;下一层中的每个神经元将处理前一层中所有神经元的输出;
步骤202)、对于第n个神经元,隐藏状态hn,t计算方式如下:
其中,hn,t表示隐藏状态,σ(·)表示激活函数,wn表示第n个神经元的输入权重,un表示第n个神经元的循环权重,表示哈达玛内积,xl,t表示第l层在时刻t的输入,来自于上一层的所有输出,hn,t-1表示当前隐态上一时刻的输出信息,bn表示第n个神经元的偏置;
步骤203)、由于在一个层中它们之间没有相互作用,对每个独立循环神经网络神经元可以独立地计算的梯度;对于第n个神经元隐藏状态hn,t,忽略偏置项b,在时间T内最小化的目标是Jn,则在时刻t的反向传播梯度为:
步骤3)、对构建的网络结构使用IndDrop正则化;
步骤301)、独立循环神经网络属于循环神经网络的变体,也会存在过拟合的问题,为此引入IndDrop正则化方法。在独立循环神经网络中每个神经元接收的信息仅来自于输入和上一时间步中神经元本身的隐藏状态;下一层中的每个神经元将处理前一层中所有神经元的输出;为了不影响时间信息对结果的影响,仅在层与层之间应用IndDrop正则化操作,保持各时间步之间的数据输入:
其中,D表示IndDrop操作;
具体做法为:dropout破坏单元所携带的信息,迫使他们更加鲁棒的进行中间计算;同时,不会删除神经元携带的所有信息,即神经元将会记住过去若干时间步的信息,只在下一层神经元接收前一层所有神经元的输出时进行dropout操作;
步骤4)、使用对数双线性模型计算softmax输出层的输出;
步骤401)、训练时间长和参数过多是神经网络语言模型的通病,在这里我们使用分布式单词表示来定义给定历史词汇下下一个单词的分布,以上的两个短板都可以通过分布式表示来解决:将每个单词用一个实值特征向量表示,我们用rw表示单词w的特征向量,R表示包含所有这些特征向量的矩阵;给定上下文w1:n-1,为了预测下一个单词wn,对数双线性模型将线性组合上下文单词特征向量来计算下一个单词的特征向量r*:
其中,Wi表示与上下文位置i相关联的权重矩阵;
步骤402)、使用内积计算词汇表中每个词的预测特征向量和特征向量之间的相似性;之后对相似性进行取幂和归一化,以获得下一个单词的分布:
其中,P(wn=w|w1:n)表示在给定历史词汇w1:n-1的情况下,当前单词wn出现的概率,r*T表示r*的转置,b’w表示单词w的偏置项,用于捕获与上下文无关的单词频率;该方法通过计算上下文词特征向量的线性函数来预测下一个词的特征向量。然后,它根据词汇特征向量与内积测量的预测特征向量的相似性,为词汇表中的所有单词分配概率。
步骤5)、将训练完成的语言网络模型应用到语音识别中。
优选的:步骤1)中数据预处理的方法,包括以下步骤:
步骤101)、将数据集中的原始文件转化为以单词编号的文件;
步骤102)、将数据集中的原始文件按句子进行划分,删除每个句子头尾的空格和换行符,在句首和句尾分别添加开始符<SOS>和结束符<EOS>,得到句子进行划分的文件;
步骤103)、根据步骤101)得到单词编号的文件和步骤102)得到句子进行划分的文件生成词汇表和每个单词的one-hot向量。
优选的:隐藏层的层数在5到20层之间。
优选的:隐藏层的层内的神经元数量在500-2000。
优选的:D取值范围为[0,1]。
本发明相比现有技术,具有以下有益效果:
1、一般的RNN及其变体存在梯度消失和梯度爆炸的问题,本发明利用独立循环神经网络的特性,消除了这一问题,从而可以获得更长的上下文信息。
2、IndDrop和对数双线性模型的使用减轻了模型的过拟合风险并提高了模型的性能。
本发明可降低语言模型的困惑度并减轻过拟合现象,同时提高训练效率。
附图说明
图1是本发明的整体流程示意图。
图2是基于独立循环神经网络的语言模型结构图。
图3是独立循环神经网络的内部处理图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
一种基于独立循环神经网络的语言模型建模方法,为了方便描述,我们使用PennTree Bank(PTB)数据集为例进行描述,包括以下步骤:
配置环境以及模型参数如下:实验系统为Ubuntu16.04,实验环境为Intel(R)Xeon(R)CPU E5-2690v4@2.60GHz,使用单个NVIDIA Tesla T4 GPU进行训练。编程语言为python、使用tensorflow作为模型框架。one-hot向量作为模型输入,将初始学习率设为1,并进行60轮训练,在15轮以后开始以1.2的因子降低学习率,丢弃率被设置为0.60。AdaDelta算法被用于优化训练。
如图1所示,首先需要选取合适的数据集,这里我们使用PTB数据集,本数据集可从以下地址获取http://www.fit.vutbr.cz/~imikolov/rnnlm/simple-examples.tgz。PTB数据集是一个相对较小、标准的语言模型数据集,包含的数据量在1M左右。
数据预处理的步骤,包括:
步骤1)将原始文件转化为以单词编号的文件;
步骤2)将原始数据按句子进行划分,将所有单词转换为小写并删除每个句子头尾的空格和换行符,在句首和句尾分别添加开始符<SOS>和结束符<EOS>;
步骤3)生成词汇表和每个单词的one-hot向量。
选取PTB数据集中的一个句子为例,如语句:He is the Chief TechnologyOfficer of the company.
预处理后的文件包括:
1.wordInNumber.txt,其内容为:1he 2the 3chief 4technology 5officer 6is7of 8company
2.sentenceAfterProcess.txt,其内容为:<SOS>he is the chief technologyofficer of the company<EOS>
3.oneHot.txt,其内容为:10000000 01000000 00100000 00010000 0000100000000100 00000010 00000001
需要说明的是,预处理阶段可使用任何现有方法,以上方法只是其中的一种。预处理后的数据将作为语言建模任务的输入使用。
按图2所示,以独立循环神经网络(IndRNN)为基本单元构建网络结构步骤,包括:
步骤1)使用独立循环神经网络为基本单元,以单向层叠的方式建立网络结构,其中每层的各个神经元之间相互独立,它们的联系通过层与层之间的连接实现。其中第一层为输入层,输入为单词的one-hot向量;从第二层开始到倒数第二层为中间处理层,即隐藏层,隐藏层的层数一般在5到20层之间,过多的层数将会降低训练的鲁棒性,另外,层内的神经元数量一般在500-2000不等,隐藏层之间按全连接的方式互连,层内的神经元之间没有连接,且在层与层的连接上引入IndDrop;最后一层为softmax输出层,用于计算模型的输出,在这里使用了对数双线性模型进行计算以降低计算的复杂度。在本次实现中,我们设置每层2000个隐藏单元,共6层,网络结构如图2所示。从图中我们可以看到,每个神经元只从输入和上一时刻的隐态本身接收信息。不同神经元之间的相关性通过堆叠两层或多层网络得以实现。在这种情况下,下一层中的每个神经元将处理前一层中所有神经元的输出,如图3给出了隐藏层神经元的处理过程。那么,对于第l层的第n个神经元,当前时刻t(t>1)的隐藏状态hn,t计算方式如下:
其中,wn表示第n个神经元的输入权重,un表示第n个神经元的循环权重,经训练得到;表示哈达玛内积;xl,t表示第l层在时刻t的输入,来自于上一层的所有输出;hn,t-1表示当前隐态上一时刻的输出信息;bn表示第n个神经元的偏置,可通过训练得到;σ(·)表示激活函数,这里我们使用的是ReLu函数。当t=1时,隐态hn,1仅由输入xl,1和偏置b1决定。从上述公式可以发现每个神经元只从输入和上一时刻的隐态本身接收信息。不同神经元之间的相关性可以通过堆叠两层或多层网络来实现。在这种情况下,下一层中的每个神经元将处理前一层中所有神经元的输出。
步骤2)由于在一个层中它们之间没有相互作用,梯度计算独立的在各个独立循环神经网络单元中进行。对于第n个神经元,忽略偏置项bn,假设在时间T内最小化的目标是Jn,则在时刻t的反向传播梯度为:
其中,σ′n,k+1表示激活函数的导数。我们可以发现梯度仅与标量值un的指数项有关。假设有效梯度的范围为[ε,γ],ε表示最小的有效梯度值,γ表示不发生梯度爆炸时的最大梯度值,则为了避免梯度消失/爆炸现象的出现,un应满足其中由于在这里激活函数为ReLu函数,。
对网络使用IndDrop正则化包括以下步骤:
步骤1)独立循环神经网络属于循环神经网络的变体,也会存在过拟合的问题,为此引入IndDrop正则化方法。在独立循环神经网络中每个神经元接收的信息仅来自于输入和上一时间步中神经元本身的隐藏状态。下一层中的每个神经元将处理前一层中所有神经元的输出。为了不影响时间信息对结果的影响,在层与层之间应用正则化技术,即IndDrop,而保持各时间步之间的数据输入:
其中,D表示IndDrop操作,取值范围为[0,1],本实施例中取值0.60。
IndDrop的原理在于:dropout破坏单元所携带的信息,迫使他们更加鲁棒的进行中间计算。同时,不会删除神经元携带的所有信息,即神经元将会记住过去若干时间步的信息,只在下一层神经元接收前一层所有神经元的输出时进行dropout操作。
使用对数双线性模型计算sofimax包括以下步骤:
步骤1)训练时间长和参数过多是神经网络语言模型的通病,在这里我们使用分布式单词表示来定义给定历史词汇下下一个单词的分布,以上的两个短板都可以通过分布式表示来解决:将每个单词用实值特征向量表示。我们用表示单词vj的特征向量,R表示包含所有这些特征向量的矩阵。给定上下文v1:j-1,为了预测下一个单词vj,对数双线性模型将线性组合上下文单词特征向量来计算下一个单词的特征向量r*:
其中,Wi表示与上下文位置i相关联的权重矩阵。
步骤2)使用内积计算词汇表中每个词的预测特征向量和特征向量之间的相似性。之后对相似性进行取幂和归一化,以获得下一个单词的分布:
其中,P(vj=v|v1:j-1)表示在给定历史词汇w1:n-1的情况下,当前单词wn出现的概率,biasv表示单词v的偏置项,用于捕获与上下文无关的单词频率,r*T表示r*的转置。该方法通过计算上下文词特征向量的线性函数来预测下一个词的特征向量。然后,它根据词汇特征向量与内积测量的预测特征向量的相似性,为词汇表中的所有单词分配概率。
最后,将训练完成的语言模型和基于RNN的声学模型结合,完成语音识别的解码。首先需要将语音信号进行特征提取,变成可被声学模型处理的输入,常用特征有MFCC特征,LPCC 特征,这里我们选取MFCC特征作为声学模型的输入。训练完成的声学模型将和语言模型共同组成解码器,其中使用到的算法包括beam search以及n-best等,完成语音到文字的解码。
本发明引入了独立循环神经网络作为网络的基本单元,这一循环神经网络的变体的不同指出在于使用哈达马内积代替了传统的点积操作,可以消除循环神经网络中存在的梯度消失/ 爆炸的问题,从而获取更加长期的上下文信息。
针对神经网络语言模型隐层到输出层的计算量大的问题,我们使用对数双线性模型减少计算的复杂度。对于循环神经网络只能利用有限步长的上下文信息的问题,本文提出使用一种新的循环网络变体--独立循环神经网络进行语言模型建模。此外,为了减轻训练过程中可能出现的过拟合现象,我们提出了IndDrop--一种用于独立循环神经网络的dropout的变体,针对网络的weight部分应用dropout。
本发明利用独立循环神经网络能够获取全局上下文的特点进行语言模型建模,获得更加丰富的上下文信息;并利用dropout的特点减轻模型的过拟合现象,同时,针对softmax层计算量大的问题,引入了对数双线性模型,从而降低模型的困惑度同时提高训练效率。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种基于独立循环神经网络的语言模型建模方法,其特征在于,包括以下步骤:
步骤1)、获取训练数据集,并对训练数据集进行数据预处理;
步骤2)、以独立循环神经网络为基本单元构建网络结构;
步骤201)、以独立循环神经网络为基本单元,以单向层叠的方式建立网络结构,其中每层的各个神经元之间相互独立,它们的联系通过层与层之间的连接实现,第一层为输入层,输入为单词的one-hot向量;从第二层开始到倒数第二层为中间处理层,即隐藏层,隐藏层之间按全连接的方式互连,隐藏层的层内的神经元之间没有连接;最后一层为softmax输出层;每个神经元只从输入和上一时刻的隐态本身接收信息;不同神经元之间的相关性通过堆叠两层或多层网络得以实现;下一层中的每个神经元将处理前一层中所有神经元的输出;
步骤202)、对于第n个神经元,隐藏状态hn,t计算方式如下:
其中,hn,t表示隐藏状态,σ(·)表示激活函数,wn表示第n个神经元的输入权重,un表示第n个神经元的循环权重,表示哈达玛内积,xl,t表示第l层在时刻t的输入,来自于上一层的所有输出,hn,t-1表示当前隐态上一时刻的输出信息,bn表示第n个神经元的偏置;
步骤203)、由于在一个层中它们之间没有相互作用,对每个独立循环神经网络神经元可以独立地计算的梯度;对于第n个神经元隐藏状态hn,t,忽略偏置项b,在时间T内最小化的目标是Jn,则在时刻t的反向传播梯度为:
步骤3)、对构建的网络结构使用IndDrop正则化;
步骤301)、在独立循环神经网络中每个神经元接收的信息仅来自于输入和上一时间步中神经元本身的隐藏状态;下一层中的每个神经元将处理前一层中所有神经元的输出;为了不影响时间信息对结果的影响,仅在层与层之间应用IndDrop正则化操作,保持各时间步之间的数据输入:
其中,D表示IndDrop操作;
具体做法为:dropout破坏单元所携带的信息,迫使他们更加鲁棒的进行中间计算;同时,不会删除神经元携带的所有信息,即神经元将会记住过去若干时间步的信息,只在下一层神经元接收前一层所有神经元的输出时进行dropout操作;
步骤4)、使用对数双线性模型计算softmax输出层的输出;
步骤401)、将每个单词用一个实值特征向量表示,用rw表示单词w的特征向量,R表示包含所有这些特征向量的矩阵;给定上下文w1:n-1,为了预测下一个单词wn,对数双线性模型将线性组合上下文单词特征向量来计算下一个单词的特征向量r*:
其中,Wi表示与上下文位置i相关联的权重矩阵;
步骤402)、使用内积计算词汇表中每个词的预测特征向量和特征向量之间的相似性;之后对相似性进行取幂和归一化,以获得下一个单词的分布:
其中,P(wn=w|w1:n)表示在给定历史词汇w1:n-1的情况下,当前单词wn出现的概率,r*T表示r*的转置,b’w表示单词w的偏置项,用于捕获与上下文无关的单词频率;
步骤5)、将训练完成的语言网络模型应用到语音识别中。
2.根据权利要求1所述基于独立循环神经网络的语言模型建模方法,其特征在于:步骤1)中数据预处理的方法,包括以下步骤:
步骤101)、将数据集中的原始文件转化为以单词编号的文件;
步骤102)、将数据集中的原始文件按句子进行划分,删除每个句子头尾的空格和换行符,在句首和句尾分别添加开始符<SOS>和结束符<EOS>,得到句子进行划分的文件;
步骤103)、根据步骤101)得到单词编号的文件和步骤102)得到句子进行划分的文件生成词汇表和每个单词的one-hot向量。
3.根据权利要求2所述基于独立循环神经网络的语言模型建模方法,其特征在于:隐藏层的层数在5到20层之间。
4.根据权利要求3所述基于独立循环神经网络的语言模型建模方法,其特征在于:隐藏层的层内的神经元数量在500-2000。
6.根据权利要求5所述基于独立循环神经网络的语言模型建模方法,其特征在于:D取值范围为[0,1]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010067852.8A CN111310892B (zh) | 2020-01-20 | 2020-01-20 | 一种基于独立循环神经网络的语言模型建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010067852.8A CN111310892B (zh) | 2020-01-20 | 2020-01-20 | 一种基于独立循环神经网络的语言模型建模方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111310892A CN111310892A (zh) | 2020-06-19 |
CN111310892B true CN111310892B (zh) | 2022-08-02 |
Family
ID=71161631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010067852.8A Active CN111310892B (zh) | 2020-01-20 | 2020-01-20 | 一种基于独立循环神经网络的语言模型建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111310892B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113051815B (zh) * | 2021-03-18 | 2023-08-11 | 浙江大学 | 一种基于独立指针网络的敏捷成像卫星任务规划方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150066496A1 (en) * | 2013-09-02 | 2015-03-05 | Microsoft Corporation | Assignment of semantic labels to a sequence of words using neural network architectures |
CN110070172A (zh) * | 2019-03-13 | 2019-07-30 | 西安理工大学 | 基于双向独立循环神经网络的序列预测模型的建立方法 |
CN110210513A (zh) * | 2019-04-23 | 2019-09-06 | 深圳信息职业技术学院 | 数据分类方法、装置及终端设备 |
-
2020
- 2020-01-20 CN CN202010067852.8A patent/CN111310892B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150066496A1 (en) * | 2013-09-02 | 2015-03-05 | Microsoft Corporation | Assignment of semantic labels to a sequence of words using neural network architectures |
CN110070172A (zh) * | 2019-03-13 | 2019-07-30 | 西安理工大学 | 基于双向独立循环神经网络的序列预测模型的建立方法 |
CN110210513A (zh) * | 2019-04-23 | 2019-09-06 | 深圳信息职业技术学院 | 数据分类方法、装置及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111310892A (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111145729B (zh) | 语音识别模型训练方法、系统、移动终端及存储介质 | |
Huang et al. | Sndcnn: Self-normalizing deep cnns with scaled exponential linear units for speech recognition | |
CN112541356B (zh) | 一种生物医学命名实体识别的方法和系统 | |
US20230325673A1 (en) | Neural network training utilizing loss functions reflecting neighbor token dependencies | |
Li et al. | End-to-end speech recognition with adaptive computation steps | |
CN113158665A (zh) | 一种基于文本摘要生成与双向语料改善对话文本生成的方法 | |
Masumura et al. | Large context end-to-end automatic speech recognition via extension of hierarchical recurrent encoder-decoder models | |
CN111414481A (zh) | 基于拼音和bert嵌入的中文语义匹配方法 | |
CN112967739B (zh) | 一种基于长短期记忆网络的语音端点检测方法及系统 | |
Heigold et al. | Neural morphological tagging from characters for morphologically rich languages | |
CN109766523A (zh) | 词性标注方法和标注系统 | |
Variani et al. | Neural oracle search on n-best hypotheses | |
CN113157919A (zh) | 语句文本方面级情感分类方法及系统 | |
CN114254645A (zh) | 一种人工智能辅助写作系统 | |
Alsayadi et al. | Non-diacritized Arabic speech recognition based on CNN-LSTM and attention-based models | |
Bai et al. | A universal bert-based front-end model for mandarin text-to-speech synthesis | |
Luo et al. | Improving neural language models by segmenting, attending, and predicting the future | |
CN111310892B (zh) | 一种基于独立循环神经网络的语言模型建模方法 | |
JP6820764B2 (ja) | 音響モデル学習装置および音響モデル学習プログラム | |
CN112967720A (zh) | 少量重口音数据下的端到端语音转文本模型优化方法 | |
CN114386425B (zh) | 用于对自然语言文本内容进行处理的大数据体系建立方法 | |
Deng et al. | History utterance embedding transformer lm for speech recognition | |
CN111177381A (zh) | 基于语境向量反馈的槽填充和意图检测联合建模方法 | |
CN115510230A (zh) | 一种基于多维特征融合与比较增强学习机制的蒙古语情感分析方法 | |
CN115600597A (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 | ||
CB02 | Change of applicant information |
Address after: 210009, 66 new model street, Gulou District, Jiangsu, Nanjing Applicant after: NANJING University OF POSTS AND TELECOMMUNICATIONS Address before: Yuen Road Qixia District of Nanjing City, Jiangsu Province, No. 9 210000 Applicant before: NANJING University OF POSTS AND TELECOMMUNICATIONS |
|
GR01 | Patent grant | ||
GR01 | Patent grant |