CN113806543B - 一种基于残差跳跃连接的门控循环单元的文本分类方法 - Google Patents
一种基于残差跳跃连接的门控循环单元的文本分类方法 Download PDFInfo
- Publication number
- CN113806543B CN113806543B CN202111105709.4A CN202111105709A CN113806543B CN 113806543 B CN113806543 B CN 113806543B CN 202111105709 A CN202111105709 A CN 202111105709A CN 113806543 B CN113806543 B CN 113806543B
- Authority
- CN
- China
- Prior art keywords
- layer
- vector
- formula
- neural network
- gate control
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000004913 activation Effects 0.000 claims abstract description 40
- 239000013598 vector Substances 0.000 claims description 67
- 238000013528 artificial neural network Methods 0.000 claims description 60
- 239000011159 matrix material Substances 0.000 claims description 36
- 238000012549 training Methods 0.000 claims description 32
- 210000002569 neuron Anatomy 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 14
- 125000004122 cyclic group Chemical group 0.000 claims description 13
- 238000010606 normalization Methods 0.000 claims description 8
- 210000004027 cell Anatomy 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 230000002441 reversible effect Effects 0.000 claims description 2
- 238000002474 experimental method Methods 0.000 abstract description 10
- 238000011156 evaluation Methods 0.000 abstract description 4
- 230000008034 disappearance Effects 0.000 abstract description 2
- 230000010485 coping Effects 0.000 abstract 1
- 229920006395 saturated elastomer Polymers 0.000 abstract 1
- 230000006870 function Effects 0.000 description 44
- 230000000306 recurrent effect Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 4
- 230000008451 emotion Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 241000288105 Grus Species 0.000 description 2
- 238000002679 ablation Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000008033 biological extinction Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- 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/044—Recurrent networks, e.g. Hopfield 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于残差跳跃连接的门控循环单元的文本分类方法,在现有的门控循环单元的基础上,利用跳跃连接引入残差信息并结合高速公路网络的门控限制,同时使用非饱和激活函数以及批标准化来改进门控循环单元定义公式,使门控循环单元在应对梯度消失问题的同时能够捕获超长期依赖关系,并利用高速公路网络的门控来限制残差信息不占主要地位。本发明利用训练好的网络模型自动对中文文本进行分类,以及对电影影评正/负评价分类,以便降低人力成本。通过多组对比实验,证明了本发明在文本分类任务中有一定的适用性。
Description
技术领域
本发明涉及一种基于残差跳跃连接的门控循环单元的文本分类方法。
背景技术
近年来,深度学习在天文、地理、工业等科技领域得到广泛应用。时间序列数据在我们的日常生活中无处不在,从股市走势、不同城市的气候数据、一段时间的产品销售情况、能源使用状况等等。其中,网络上的文本数据也是日益增多,这些数据主要应用于舆情监测、信息检索、及新闻文本分类等领域。如果能对这些数据进行有效分类,那么就会更有利于从中挖掘出有价值的信息,因此对文本数据的管理和整合显得尤为重要。文本分类属于自然语言处理任务中的一项基础性工作,通过利用计算机相关理论知识及技能,达到对文本资源进行整理和归类的目的。现有的文本分类技术有存在一些不完善之处,比如:FastText方法,其缺点是没有完全考虑词序信息,TextCNN方法,其缺点一方面无法建立更长的序列信息,另一方面它的超参调节额外繁琐。神经网络方法:循环神经网络(RNN)具有捕获和利用顺序依赖性的能力,广泛用于处理此类时间序列数据,尤其是在机器翻译、文本分类、语音识别和其他任务。然而,随着网络的加深,传统的RNN会出现梯度消失的问题。虽然长短期记忆网络(LSTM)及门控循环单元(GRU)方法可以捕获长期上下文信息,但它们的门结构的复杂性使得训练速度变慢。虽然简单循环单元(SRU)方法能减少神经网络的训练时间,但其精度无法满足需求。
发明内容
发明目的:为解决背景技术中存在的技术问题,本发明提出一种基于残差跳跃连接的门控循环单元的文本分类方法。包括以下所述步骤:
步骤1,定义数据集的词汇表并将词汇表的文本数据进行预处理,去除文本中的不规范数据(乱码或空行);
步骤2,将步骤1得到的文本信息进行门控循环单元神经网络建模;
步骤3,设置门控循环单元神经网络的全连接层以及分类层;
步骤4,为门控循环单元神经网络的表示中建立残差跳跃连接并引入高速公路网络门限控制方法;
步骤5,将残差跳跃连接的门控循环单元的饱和激活函数改为非饱和激活函数;
步骤6,设置残差跳跃连接的门控循环单元神经网络的权重初始化方式为正交初始化;
步骤7,为残差跳跃连接的门控循环单元神经网络设置批标准化;
步骤8,设置残差跳跃连接的门控循环单元神经网络的超参数;
步骤9,配置残差跳跃连接的门控循环单元神经网络的损失函数以及优化器;
步骤10,结合步骤1得到的文本信息,使用残差跳跃连接的门控循环单元神经网络进行文本分类。
步骤1包括:
定义数据集的词汇表,包括统计单词的出现频率和按词频顺序对单词进行排序;
在定义词汇表后,将训练数据转化成单词的数字编号(按一定比例将数据集分为训练集和测试集,比例一般为7:3,训练集包括训练数据);
对训练数据进行批处理,使用填充的方法,即将同一批块内的句子长度补齐;
定义词向量层:在输入层(这里的输入层指的是数据向量化后,作为输入给门控循环单元神经网络,这层叫输入层),每个单词用一个实数向量表示,所述实数向量称为词向量,使用Word2Vec方法对文本进行向量化操作。
步骤2包括:
建立门控循环单元的循环神经网络的前向算法:建立更新门和重置门,设zt和rt分别为更新门向量和重置门向量,xt为当前层的t时刻的输入值,Wz和Wr为模型参数,即权重向量,Uz、Ur、Ua为输入时序信息的权重,ht-1为前一时刻的状态向量,bz和br为偏置向量;更新门向量和重置门向量计算公式如下:
zt=σ(Wzxt+Uzht-1+bz)
rt=σ(Wrxt+Urht-1+br)
式中,σ为Sigmoid激活函数,Sigmoid激活函数Sigmoid(x)的计算公式如下:
其中,x为函数输入;e为自然常数;
使用如下门控循环单元的输出公式:
at=g(Waxt+Ua(ht-1*rt)+ba)
ht=zt*at+(1-zt)*ht-1
式中,at是t时刻的候选隐状态,ht为当前时刻t的隐状态向量,候选隐状态的激活函数g(·)为Tanh,Wa为模型权重参数;
其中,Tanh激活函数Tanh(x)的计算公式如下:
式中,x为函数输入。
步骤3包括:
在门控循环单元神经网络之后需要接全连接层来修正神经元输出值的维度,全连接层公式如下:
f=Wyh
式中,Wy为维度匹配矩阵;h为网络最后一层的神经元输出;f为全连接层输出值;
在全连接层之后需连接分类层进行分类,通过如下归一化指数函数S(f)j公式进行分类处理:
式中,N为类别数;fj表示f的第j元素,j的范围为1到N;fn表示f的第n元素,n取值为1到N。
步骤4包括:
在门控循环单元结构的时间轴方向和空间轴反向上建立残差的跳跃连接,引入高速公路网络的门控限制,公式定义如下所示:
ht l=(1-zt l)⊙ht-1 l+zt l⊙at l
Ht l=T(x)l⊙ht l+C(x)l⊙ht-α l
式中,⊙表示矩阵的点乘运算,l表示堆叠层数,为l层的t时刻的输入值,/>和/>为l层的模型参数,即权重向量,/>和/>为l层输入时序信息的权重,/>和/>分别为门控循环单元(GRU)在l层的更新门、重置门和候选隐状态,/>为前一时刻的状态向量,Vl是l层的维度匹配矩阵,当网络前后层维度一致时,则不需要维度匹配矩阵,/>是l层未激活的候选隐状态,g(·)为激活函数,/>为l层t时刻的输出状态,T(x)l与C(x)l是高速网络的门控限制;ht-α表示在时间轴方向上建立残差连接,α表示神经元个数,其取值与句子的长度有关,/>为l层在t时刻的最终输出向量。
步骤5包括:
将残差跳跃连接的门控循环单元的饱和激活函数改为非饱和激活函数ReLU,得到l层t时刻的输出公式为:
其中,x为函数输入值。
步骤6包括:
正交初始化是将权重参数W、Wf、Wr的初始值初始化为单位正交矩阵,单位正交矩阵A需满足如下条件:
A为正交矩阵;
A的转置AT为正交矩阵;
AAT=E,E为单位矩阵;
A的各行是单位向量且两两正交;
A的各列是单位向量且两两正交;
(Ax,Ay)=(x,y),x,y都为常数;A是正交矩阵;
|A|=1或-1;
A的维度为权重所在的神经网络层的神经元个数。
步骤7包括:
批标准化公式如下:
步骤8包括:
参数设置:隐藏层的神经元数量设置为650,embedding设置为650,初始学习率设置为1,设置每次迭代后若交叉训练集精准度下降则下次迭代的学习率自动衰减。迭代次数epoch设置为40次,batch设置为35,神经元丢弃率dropout设置为50%。使用NVIDIAGeForce RTX 2080TI进行cuda加速训练。
步骤9包括:
针对残差跳跃连接所设计的连接项即单元状态的反向传播有如下推导:
推导误差项之前的部分设定及公式:
ReLU函数的导数ReLU(x)′和Sigmoid函数的导数Sigmoid(x)′分别为:
Sigmoid(x)′=Sigmoid(x)(1-Sigmoid(x))
式中,x为输入值,符号′为求导符;
对残差跳跃连接的门控循环单元神经网络的单元状态公式进行等效替换,令:
F(m)=Waxt+Ua(ht-1⊙rt)+ba
式中,Wa为权重向量,Ua为输入时序信息的权重,ba为偏移量;F(m)是一个代数符号;
有益效果:本发明方法基于残差跳跃连接的门控循环单元(RT-GRU)是在误差反向传播(BP)方向将残差信息引入到门控循环单元(GRU)的候选隐藏状态表示中,使网络对梯度变化更加敏感。并且在沿时间轴的反向传播(BPTT)方向建立残差连接,使网络捕获非常长期的依赖。利用高速公路网络的门控来限制残差信息不占主要地位。此外,结合激活函数和批量归一化。本发明进行了三个应用实验测试,语言建模、文本分类和情感分析。实验结果表明,本发明的建模方法在上述三个应用中均得到不错的结果。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1是本发明方法架构图。
具体实施方式
如图1所示,本发明提供了一种基于残差跳跃连接的门控循环单元的文本分类方法,包括以下所述步骤:
步骤1,定义数据集的词汇表并将词汇表的文本数据进行预处理;
步骤2,将步骤1得到的文本信息进行门控循环单元神经网络建模;
步骤3,设置门控循环单元神经网络的全连接层以及分类层(softmax层);
步骤4,为门控循环单元神经网络的表示中建立残差跳跃连接并引入高速公路网络门限控制方法;
步骤5,将残差跳跃连接的门控循环单元的饱和激活函数改为非饱和激活函数;
步骤6,设置残差跳跃连接的门控循环单元神经网络的权重初始化方式为正交初始化;
步骤7,为残差跳跃连接的门控循环单元神经网络设置批标准化;
步骤8,设置残差跳跃连接的门控循环单元神经网络的超参数;
步骤9,配置残差跳跃连接的门控循环单元神经网络的损失函数以及优化器;
步骤10,结合步骤1得到的文本信息,使用残差跳跃连接的门控循环单元神经网络进行文本分类,应用在文本分类任务以及情感分析任务中,验证有效性。
步骤1包括:
确定词汇表包括统计单词的出现频率和按词频顺序对单词进行排序。在确定词汇表后,就可以将训练数据,转化成单词的数字编号。确定词汇表后需要对文本数据进行批处理,由于每个句子的长度不同,又无法像图像一样可以调整到固定高度,所以需要使用填充的方法,即将同一批块内的句子长度补齐。定义词向量层:在输入层,每个单词用一个实数向量表示,这个向量被称为“词向量”。具体来说,词向量可以理解为将词汇表嵌入到一个固定的维度的实数空间中,其单词编号转化为词向量。这样做有两大作用:一是降低输入的维度。如果不使用词向量层,而直接把单词以one-hot vector(独热编码)形式输入神经网络模型中,那么输入的维度大小将和词汇表的大小相同,通常在10000以上。而词向量的维度通常在200-1000之间,这样循环神经网络的参数数量和计算量就得到大大地减少。二是增加语义信息。单纯的单词编号是不包含任何语义信息的,而词向量层将稀疏的编号转化为稠密的向量表示,就使得词向量有可能包含更为丰富的信息。
步骤2包括:
语言文本数据主要是时序数据,当输入数据是具有语义依赖性且是序列模式时,循环神经网络对数据序列的记忆有助于解决连续序列的问题,并且门控循环单元简化了状态计算,降低了神经网络训练耗时。
建立门控循环单元的循环神经网络的前向算法:建立更新门和重置门,设zt和rt分别为更新门向量和重置门向量,xt为当前层的t时刻的输入值,Wz和Wr为模型参数,即权重向量,Uz、Ur、Ua为输入时序信息的权重,ht-1为前一时刻的状态向量,bz和br为偏置向量;更新门向量和重置门向量计算公式如下:
zt=σ(Wzxt+Uzht-1+bz)
rt=σ(Wrxt+Urht-1+br)
式中,σ为Sigmoid激活函数,Sigmoid激活函数Sigmoid(x)的计算公式如下:
其中,x为函数输入;e为自然常数;
使用如下门控循环单元的输出公式:
at=g(Waxt+Ua(ht-1*rt)+ba)
ht=zt*at+(1-zt)*ht-1
式中,at是t时刻的候选隐状态,ht为当前时刻t的隐状态向量,候选隐状态的激活函数g(·)为Tanh,Wa为模型权重参数;
其中,Tanh激活函数Tanh(x)的计算公式如下:
式中,x为函数输入;
步骤3包括:
为了让输出值与分类层的维度匹配,在门控循环单元神经网络之后需要接全连接层来修正神经元输出值的维度,全连接层公式如下:
f=Wyh
式中,Wy为维度匹配矩阵,其意义为使h的维度与f的维度保持一致;h为残差门控循环神经网络最后一层的神经元输出;f为全连接层输出值;
在全连接层之后需连接分类层进行分类,这里给出归一化指数函数S(f)j公式用于分类处理:
式中,f为全连接层的输出,也是此时归一化指数函数的输入;e为自然常数;N为类别数;fj表示f的第j元素,j的范围为1到N;fn表示f的第n元素,n取值为1到N。
步骤4包括:
在门控循环单元结构的时间轴方向(BPTT)上及空间轴反向(BP)上建立残差跳跃连接,目的是使其能够回忆更久远的信息,捕获超长期趋势。为使残差信息不占据主要地位,引入高速公路网络的门控限制,仅让网络回忆更久远的信息,以此用来控制信息流。其公式定义如下所示:
ht l=(1-zt l)⊙ht-1 l+zt l⊙at l
Ht l=T(x)l⊙ht l+C(x)l⊙ht-α l
式中,⊙表示矩阵的点乘运算,l表示堆叠层数,为l层的t时刻的输入值,/>和/>为l层的模型参数,即权重向量,/>和/>为l层输入时序信息的权重,/>和/>分别为门控循环单元(GRU)在l层的更新门、重置门和候选隐状态,/>为前一时刻的状态向量,Vl是l层的维度匹配矩阵,当网络前后层维度一致时,则不需要该矩阵,/>是l层未激活的候选隐状态,g(·)为激活函数,/>为l层t时刻的输出状态,T(x)l与C(x)l是高速网络的门控限制,不仅能够控制残差信息,同时也能在一定程度上防止过拟合问题;ht-α表示在时间轴方向上建立残差连接,α表示神经元个数,其取值与句子的长度有关,/>为l层在t时刻的最终输出向量。
步骤5包括:
为了防止梯度消失并且加快收敛速度,将门控循环单元隐状态的激活函数替换为非饱和激活函数ReLU,由此可得l层t时刻的输出公式为:
其中,x为函数输入值。
步骤6包括:
正交初始化是将权重参数W、Wf、Wr的初始值初始化为单位正交矩阵,单位正交矩阵A需满足如下条件:
A为正交矩阵;
A的转置AT为正交矩阵;
AAT=E,E为单位矩阵;
A的各行是单位向量且两两正交;
A的各列是单位向量且两两正交;
(Ax,Ay)=(x,y),x,y都为常数;
|A|=1或-1;
A的维度为权重所在的神经网络层的神经元个数。
步骤7包括:
批标准化:用来规范化某些层或者所有层的输入,从而固定每层输入信号的均值与方差。为了加快网络训练,应对非饱和激活函数的梯度爆炸隐患,为网络设置批标准化,批标准化公式如下:
步骤9包括:
神经网络的训练是需要经过反复迭代来达到最终的收敛,而每一次的迭代过程都是要经过步骤2的公式进行正向传播,接着根据损失函数计算权重梯度完成反向传播的计算,一般的循环神经网络,误差项的反向传播包括两个方向,一个是沿时间的反向传播,另一个则是将误差在空间上向上一层传播。针对残差跳跃连接所设计的连接项即单元状态的反向传播有如下推导:
推导误差项之前的部分设定及公式:
ReLU以及Sigmoid的导数分别为:
Sigmoid(x)′=Sigmoid(x)(1-Sigmoid(x))
式中,x为输入值,符号′为求导符;
对残差跳跃连接的门控循环单元神经网络的单元状态公式进行等效替换,同时为了计算方便,令
F(m)=Waxt+Ua(ht-1⊙rt)+ba
式中,Wa为权重向量,Ua为输入时序信息的权重,ht-1为前一时刻的状态向量,ba为偏移量。
在门控循环单元的基础上通过改变激活函数和引入高速连接在单元状态后,该误差项就能避免因l层到P层之间的空间结构信息传递的连续相乘而引起的梯度消失问题。同原本的GRU相比,基于残差的GRU将会对梯度变化更加敏感。
参数设置:隐藏层的神经元数量设置为650,Embedding设置为650,初始学习率设置为1,设置每次迭代后若交叉训练集精准度下降则下次迭代的学习率自动衰减。迭代次数epoch设置为40次,batch设置为35,神经元丢弃率dropout设置为50%。使用NVIDIAGeForce RTX 2080TI进行cuda加速训练。
实施例
本发明为了更好的对实验效果进行展示,使用的数据集是PTB,实验结果见表1、表2及表3。数据集中包含了9998个不同的单词词汇,加上稀有词语的特殊符号和语句结束标记符,一共是10000个词汇。完成PTB数据集训练和测试的源码是基于Pytorch官方的语言模型示例。为了让对比更充分,这里选择在此数据集上使用循环神经网络(RNN)、长短期记忆网络(LSTM)、门控循环单元(GRU)、Transformer、简单循环单元(SRU)、高速简单循环单元(H-SRU)、残差门控循环单元(R-GRU)、以及本发明提供的基于残差跳跃连接的门控循环单元(RT-GRU)进行对比实验。并且为了更好地比较各个网络的优劣,实验中用到的循环神经网络参数设置都是相同的,即隐藏层均设置650个神经元,Embeddings(词嵌入)的大小均设置为650,丢弃率(drop out)的大小均设置为50%,以层数堆叠的方式来训练神经网络,每种神经网络分别进行3、5、7层的网络训练,权重初始化都为正交初始化;批处理量为4;所有的模型损失函数都为交叉熵损失函数;优化器都为均方根传递优化器,动量为0.95;初始学习率初始为1,设置动态衰减;都使用了批标准化技术;所有模型都进行40次迭代训练。
评价标准采用困惑度(Perplexity,PPL),其计算公式如下:
其中,S代表句子,N是句子长度,p(ωi)是第i个词的概率,p(ωi)越大,则PPL值越小,表明语言模型越好。
表1
表1展示了网络深度在3层时,各类循环神经网络在PTB数据集上构建语言模型的具体PPL值,训练时间损耗及网络结构的参数量,其中relu+GRU、residual+GRU和R-GRU组成消融实验,R-GRU、T-GRU和RT-GRU组成消融实验,R-GRU为仅在BP方向建立残差连接,T-GRU为仅在BPTT方向建立残差连接。
表2
表2展示了网络深度在5层时,各类循环神经网络在PTB数据集上构建语言模型的具体PPL值,训练时间损耗及网络结构的参数量。可以从上表中看出,训练耗时及网络结构参数量会随着网络深度的增加而增加。
表3
表3展示了网络深度在7层时,各类循环神经网络在PTB数据集上构建语言模型的具体PPL值,训练时间损耗及网络结构的参数量。可以从上表中看出,传统的RNN结构在加深网络层数后,其PPL值不降反增,无法有效降低PPL值。
通过表1、表2及表3的实验数据,可以发现:
1)在预测单词的准确率方面:由于传统的RNN并没有任何门控限制其信息流通,因此其PPL值较高,而LSTM、GRU等网络的浅层结构都有着不错的性能,而深层结构性能反而变差,说明是由于梯度消失及网络退化等问题导致。而其他具备缓解梯度消失问题特性的结构,例如:激活函数或者跨层连接方式,相比之下能有效降低PPL值。在SRU类网络中,仅改变激活函数的(relu+SRU)结构,其性能在对应层数上不如原本的SRU,而其他结构都能够优化SRU,尤其是H-SRU结构,在对应层上都有较优的效果,能大幅降低PPL值。在GRU类网络中,特别的RT-GRU结构,其是在BP及BPTT方向上添加了残差信息,在对应的网络层数上,其性能得到极大程度的提升,且都优于其他结构,在5层时,PLL就已经下降到5.98,这是目前已知最好结果。
2)在网络训练耗时方面:SRU及Transformer结构没有依赖前一时刻隐状态向量的输出,因此其具有高并行性,训练耗时在所有结构里都比较低。而基本的RNN结构由于没有类似门控的结构,训练耗时同样是较低。因为LSTM较复杂的网络结构,其具备两个时序信息,以及多个门控结构,因此就训练耗时这方面来考虑,其并不占优。以训练耗时的角度来观察RT-GRU结构,相比于原本的GRU结构,由于添加了残差信息及门控来限制残差信息,因此使其有所增加。
3)在网络结构总参数量方面:RNN结构没有任何门限控制其信息的输入与输出,因此其网络结构的总参数量是最少的。SRU结构由于没有依赖前一时刻隐状态向量的输出,因此同样含有较少的参数量,而有着类似性质的Transformer结构,因为其是由多层的Encoder与Decoder组成,所以在参数量方面Transformer结构并不占优。而由于LSTM复杂的网络结构,其总参数量在所有结构中是最多的。本发明设计的RT-GRU结构相比于原本的GRU结构,其使用了Highway-Networks的门限控制,虽在一定程度上能避免过拟合,但也使网络的参数总量增加。
4)在网络深度方面:通过表1、表2及表3的实验对比,可观察到在浅层网络中,传统的循环神经网络(RNN、LSTM、GRU)性能都得到提升,这也验证了加深网络层数能获得更多特征信息。而随着网络层数深度的继续提升,传统的循环神经网络(RNN、LSTM、GRU)性能都逐渐下滑。而RT-GRU结构在深层网络依然能保持较优的性能。另外,层数堆叠会使模型的参数量随之增多,网络的训练耗时也会越来越高。
综合上述四个对比,可以得出的结论是本发明设计的RT-GRU,在建立残差连接的同时,利用Highway-Networks的门限控制,来控制残差信息。相比于其他的网络结构,能够极大程度的提高网络的性能,降低PPL值。
为了进一步验证本发明设计方法的有效性,将本发明应用在文本分类任务及情感分析任务中。
1)在文本分类任务中,所使用数据集是THUCNews。该数据集是筛选过滤2005-2011年新浪新闻RSS订阅频道的历史数据生成的,包含了74万篇新闻文档。为节约资源,本任务将从数据集中抽取20万条新闻标题,文本长度均在20-30之间,共有10个类别,分别为:娱乐、社会、股票、财经、房产、游戏、教育、科技、时政、体育,每个类别为2万条新闻。在此数据集上本文使用TextCNN、TextRNN(GRU)、TextRNN_Att、R-GRU、RT-GRU进行对比实验,其中TextRNN_Att为引入注意力机制的LSTM结构[65]。实验采用准确率,召回率及f1值作为评估标准。实验中用到的循环神经网络参数设置都是相同的,学习率设置为0.001,批处理设置为100,Embeddings设置为100,隐藏层神经元设置为128,丢弃率(drop out)设置为0.5。其实验结果见表4。
表4
通过表4观察到本发明设计的RT-GRU能提升原本GRU结构的性能,同时对比于TextCNN及引入注意力机制的GRU_Att结构,在分类准确率方面依然具备一定的优势。
2)在情感分析任务中,主要进行电影影评倾向分类,所使用的数据集是IMDB数据集,该数据集一共含有50000条影评,被标记为正面和负面两种评价,其中训练集和测试集各为25000条,且都包含50%的正面评价和50%的负面评价,数据集通过Keras读取,在此数据集上使用LSTM、GRU、R-GRU、RT-GRU进行对比实验。为了让实验对比更具有说服力,对于每种神经网络设置相同的超参数:隐藏层均设置128个神经元;Embeddings(词嵌入)的大小均设置为128;丢弃率(drop out)的大小均设置为0.2;所有神经网络的损失函数都使用交叉熵损失函数;所有神经网络训练的EPOCH设置为10次迭代。实验结果见表5。
表5
通过表5的观察可知,与语言模型及文本分类任务类似,本发明设计的RT-GRU结构依然能提升原本GRU结构的性能。对比于LSTM结构,RT-GRU结构在分类准确率方面也有着优势,这也证明了本文设计的RT-GRU结构具有一定的普适性。
本发明提供了一种基于残差跳跃连接的门控循环单元的文本分类方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (3)
1.一种基于残差跳跃连接的门控循环单元的文本分类方法,其特征在于,包括以下步骤:
步骤1,定义数据集的词汇表并将词汇表的文本数据进行预处理,去除文本中的不规范数据;
步骤2,将步骤1得到的文本信息进行门控循环单元神经网络建模;
步骤3,设置门控循环单元神经网络的全连接层以及分类层;
步骤4,为门控循环单元神经网络的表示中建立残差跳跃连接并引入高速公路网络门限控制方法;
步骤5,将残差跳跃连接的门控循环单元的饱和激活函数改为非饱和激活函数;
步骤6,设置残差跳跃连接的门控循环单元神经网络的权重初始化方式为正交初始化;
步骤7,为残差跳跃连接的门控循环单元神经网络设置批标准化;
步骤8,设置残差跳跃连接的门控循环单元神经网络的超参数;
步骤9,配置残差跳跃连接的门控循环单元神经网络的损失函数以及优化器;
步骤10,结合步骤1得到的文本信息,使用残差跳跃连接的门控循环单元神经网络进行文本分类;
步骤1包括:
定义数据集的词汇表,包括统计单词的出现频率和按词频顺序对单词进行排序;
将数据集分为训练集和测试集,训练集包括训练数据;在定义词汇表后,将训练数据转化成单词的数字编号;
对训练数据进行批处理,使用填充的方法,即将同一批块内的句子长度补齐;
定义词向量层:在输入层,每个单词用一个实数向量表示,所述实数向量称为词向量,使用Word2Vec方法对文本进行向量化操作;
步骤2包括:
建立门控循环单元的循环神经网络的前向算法:建立更新门和重置门,设zt和rt分别为更新门向量和重置门向量,xt为当前层的t时刻的输入值,Wz和Wr为模型参数,即权重向量,Uz、Ur、Ua为输入时序信息的权重,ht-1为前一时刻的状态向量,bz和br为偏置向量;更新门向量和重置门向量计算公式如下:
zt=σ(Wzxt+Uzht-1+bz)
rt=σ(Wrxt+Urht-1+br)
式中,σ为Sigmoid激活函数,Sigmoid激活函数Sigmoid(x)的计算公式为:
其中,x为函数输入;e为自然常数;
使用如下门控循环单元的输出公式:
at=g(Waxt+Ua(ht-1*rt)+ba)
ht=zt*at+(1-zt)*ht-1
式中,at是t时刻的候选隐状态,ht为当前时刻t的隐状态向量,候选隐状态的激活函数g(·)为Tanh,Wa为模型权重参数;
其中,Tanh激活函数Tanh(x)的计算公式如下:
式中,x为函数输入;
步骤3包括:
在门控循环单元神经网络之后需要接全连接层来修正神经元输出值的维度,全连接层公式如下:
f=Wyh
式中,Wy为维度匹配矩阵;h为网络最后一层的神经元输出;f为全连接层输出值;
在全连接层之后需连接分类层进行分类,通过如下归一化指数函数S(f)j公式进行分类处理:
式中,N为类别数;fj表示f的第j元素,j的范围为1到N;fn表示f的第n元素,n取值为1到N;
步骤4包括:
在门控循环单元结构的时间轴方向和空间轴反向上建立残差的跳跃连接,引入高速公路网络的门控限制,公式定义如下所示:
式中,⊙表示矩阵的点乘运算,l表示堆叠层数,为l层的t时刻的输入值,/>和为l层的模型参数,即权重向量,/>和/>为l层输入时序信息的权重,/>和/>分别为门控循环单元在l层的更新门、重置门和候选隐状态,/>为前一时刻的状态向量,Vl是l层的维度匹配矩阵,当网络前后层维度一致时,则不需要维度匹配矩阵,/>是l层未激活的候选隐状态,/>为l层t时刻的输出状态,T(x)l与C(x)l是高速网络的门控限制;/>表示在时间轴方向上建立残差连接,α表示神经元个数,/>为l层在t时刻的最终输出向量;
步骤5包括:
将残差跳跃连接的门控循环单元的饱和激活函数改为非饱和激活函数ReLU,得到l层t时刻的输出公式为:
其中,x为函数输入值;
步骤6包括:
正交初始化是将权重参数W、Wf、Wr的初始值初始化为单位正交矩阵,单位正交矩阵A需满足以下条件:
A为正交矩阵;
A的转置AT为正交矩阵;
AAT=E,E为单位矩阵;
A的各行是单位向量且两两正交;
A的各列是单位向量且两两正交;
(Ax,Ay)=(x,y),x,y都为常数;A是正交矩阵;
|A|=1或-1;
A的维度为权重所在的神经网络层的神经元个数。
3.如权利要求2所述的方法,其特征在于,步骤9包括:
针对残差跳跃连接所设计的连接项即单元状态的反向传播有以下推导:
推导误差项之前的部分设定及公式:
ReLU函数的导数ReLU(x)′和Sigmoid函数的导数Sigmoid(x)′分别为:
Sigmoid(x)′=Sigmoid(x)(1-Sigmoid(x))
式中,x为输入值,符号′为求导符;
对残差跳跃连接的门控循环单元神经网络的单元状态公式进行等效替换,令:
F(m)=Waxt+Ua(ht-1⊙rt)+ba
式中,Wa为权重向量,Ua为输入时序信息的权重,ba为偏移量;F(m)是一个代数符号;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111105709.4A CN113806543B (zh) | 2021-09-22 | 2021-09-22 | 一种基于残差跳跃连接的门控循环单元的文本分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111105709.4A CN113806543B (zh) | 2021-09-22 | 2021-09-22 | 一种基于残差跳跃连接的门控循环单元的文本分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113806543A CN113806543A (zh) | 2021-12-17 |
CN113806543B true CN113806543B (zh) | 2023-05-30 |
Family
ID=78896163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111105709.4A Active CN113806543B (zh) | 2021-09-22 | 2021-09-22 | 一种基于残差跳跃连接的门控循环单元的文本分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113806543B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111223493B (zh) * | 2020-01-08 | 2022-08-02 | 北京声加科技有限公司 | 语音信号降噪处理方法、传声器和电子设备 |
CN117851909B (zh) * | 2024-03-05 | 2024-05-31 | 深圳市雅乐实业有限公司 | 一种基于跳跃连接的多循环决策意图识别系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108830287A (zh) * | 2018-04-18 | 2018-11-16 | 哈尔滨理工大学 | 基于残差连接的Inception网络结合多层GRU的中文图像语义描述方法 |
CN109801621A (zh) * | 2019-03-15 | 2019-05-24 | 三峡大学 | 一种基于残差门控循环单元的语音识别方法 |
CN110286778A (zh) * | 2019-06-27 | 2019-09-27 | 北京金山安全软件有限公司 | 一种中文深度学习输入法、装置及电子设备 |
CN110800062A (zh) * | 2017-10-16 | 2020-02-14 | 因美纳有限公司 | 用于变体分类的深度卷积神经网络 |
CN112417157A (zh) * | 2020-12-15 | 2021-02-26 | 华南师范大学 | 一种基于深度学习网络的文本属性词的情感分类方法 |
CN112489616A (zh) * | 2020-11-30 | 2021-03-12 | 国网重庆市电力公司物资分公司 | 一种语音合成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10810482B2 (en) * | 2016-08-30 | 2020-10-20 | Samsung Electronics Co., Ltd | System and method for residual long short term memories (LSTM) network |
-
2021
- 2021-09-22 CN CN202111105709.4A patent/CN113806543B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110800062A (zh) * | 2017-10-16 | 2020-02-14 | 因美纳有限公司 | 用于变体分类的深度卷积神经网络 |
CN108830287A (zh) * | 2018-04-18 | 2018-11-16 | 哈尔滨理工大学 | 基于残差连接的Inception网络结合多层GRU的中文图像语义描述方法 |
CN109801621A (zh) * | 2019-03-15 | 2019-05-24 | 三峡大学 | 一种基于残差门控循环单元的语音识别方法 |
CN110286778A (zh) * | 2019-06-27 | 2019-09-27 | 北京金山安全软件有限公司 | 一种中文深度学习输入法、装置及电子设备 |
CN112489616A (zh) * | 2020-11-30 | 2021-03-12 | 国网重庆市电力公司物资分公司 | 一种语音合成方法 |
CN112417157A (zh) * | 2020-12-15 | 2021-02-26 | 华南师范大学 | 一种基于深度学习网络的文本属性词的情感分类方法 |
Non-Patent Citations (1)
Title |
---|
Residual Recurrent Highway Networks for Learning Deep Sequence Prediction Models;Tehseen Zia et al;《J Grid Computing》;第169页左栏第7段-第175页左栏第1段 * |
Also Published As
Publication number | Publication date |
---|---|
CN113806543A (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271522B (zh) | 基于深度混合模型迁移学习的评论情感分类方法及系统 | |
CN109189925B (zh) | 基于点互信息的词向量模型和基于cnn的文本分类方法 | |
CN109558487A (zh) | 基于层次性多注意力网络的文档分类方法 | |
CN109472024A (zh) | 一种基于双向循环注意力神经网络的文本分类方法 | |
CN107273913B (zh) | 一种基于多特征融合的短文本相似度计算方法 | |
CN107229610A (zh) | 一种情感数据的分析方法及装置 | |
CN111291556B (zh) | 基于实体义项的字和词特征融合的中文实体关系抽取方法 | |
CN112232087B (zh) | 一种基于Transformer的多粒度注意力模型的特定方面情感分析方法 | |
CN110348227B (zh) | 一种软件漏洞的分类方法及系统 | |
CN113806543B (zh) | 一种基于残差跳跃连接的门控循环单元的文本分类方法 | |
CN113535953B (zh) | 一种基于元学习的少样本分类方法 | |
CN111414481A (zh) | 基于拼音和bert嵌入的中文语义匹配方法 | |
CN110717330A (zh) | 基于深度学习的词句级短文本分类方法 | |
CN112199503B (zh) | 一种基于特征增强的非平衡Bi-LSTM的中文文本分类方法 | |
CN110516070A (zh) | 一种基于文本纠错与神经网络的中文问句分类方法 | |
CN113157919A (zh) | 语句文本方面级情感分类方法及系统 | |
CN111353040A (zh) | 基于gru的属性级别情感分析方法 | |
CN114153974A (zh) | 一种基于胶囊网络的字符级文本分类方法 | |
CN113204640B (zh) | 一种基于注意力机制的文本分类方法 | |
CN117932066A (zh) | 一种基于预训练的“提取-生成”式答案生成模型及方法 | |
CN116543289B (zh) | 一种基于编码器-解码器及Bi-LSTM注意力模型的图像描述方法 | |
CN115424663B (zh) | 一种基于attention的双向表示模型的RNA修饰位点预测方法 | |
CN113449517B (zh) | 基于bert门控多窗口注意力网络模型的实体关系抽取方法 | |
CN113190681B (zh) | 一种基于胶囊网络遮罩记忆注意力的细粒度文本分类方法 | |
CN115577111A (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 |