CN109086865B - 一种基于切分循环神经网络的序列模型建立方法 - Google Patents
一种基于切分循环神经网络的序列模型建立方法 Download PDFInfo
- Publication number
- CN109086865B CN109086865B CN201810594531.6A CN201810594531A CN109086865B CN 109086865 B CN109086865 B CN 109086865B CN 201810594531 A CN201810594531 A CN 201810594531A CN 109086865 B CN109086865 B CN 109086865B
- Authority
- CN
- China
- Prior art keywords
- sequence
- rnn
- layer
- length
- subsequence
- 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
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Character Discrimination (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于切分循环神经网络的序列模型建立方法,本发明的SRNN通过对RNN整体结构改进,使其可以并行训练,SRNN的速度相较传统RNN有了较大的提升。本发明的SRNN可以获取序列的高层次信息,例如当层数为3时,最底层的RNN可以获得词汇层次的信息,中间层的RNN可以获得句子层次的信息,最顶层的RNN可以获得段落层次的信息,并且,SRNN将每个RNN都限制在最小子序列的长度,有效地提高了保留序列中重要信息的能力。
Description
技术领域
本发明涉及人工智能领域,具体地涉及一种基于切分循环神经网络的序列模型建立方法。
背景技术
随着人工智能与计算机硬件的发展,循环神经网络由于可以提取序列中的词序等深层信息,被广泛应用于如自然语言处理、语音识别等序列模型中,使性能较传统模型相比得到了大幅度提升。循环神经网络的结构如图1所示,其中图中序列长度为8,其中下方的x代表每一时刻的输入,若是自然语言处理任务,则x代表字或词,若是语音识别任务,则x代表音素。A代表循环单元,可以是SimpleRNN,GRU,LSTM等。I代表初始状态,通常设为0。h代表每一时刻的隐藏状态,若是输出一个序列,则保留每一时刻的h;若输出一个向量,则通常保留最后一个时刻的h作为序列的特征表示。RNN网络中,每一时刻需要等待上一时刻的输出作为这一时刻的输入,用公式可表示如下;
ht=f(ht-1,xt)
其中f函数可以是简单的tanh函数或是复杂的如GRU,LSTM等门控单元,若取简单的tanh函数,则A为SimpleRNN。
ht=tanh(Wht-1+Uxt+b)
若取更复杂的门控单元,则GRU运算为:
rt=σ(Wrht-1+Urxt+br)
zt=σ(Wzht-1+Uzxt+bz)
LSTM运算为:
it=σ(Wiht-1+Uixt+bi)
ot=σ(Woht-1+Uoxt+bo)
ft=σ(Wfht-1+Ufxt+bf)
循环神经网络有多种应用,有多对一,多对多等等。多对一的典型应用是文本分类,即多个单词作为输入,一个最终状态作为输出。取输入的文本作为输入,每一个单词作为输入x,将RNN的最终状态h作为文本的特征表示,在其后加softmax层,即可文本分类。多对多的典型应用是翻译、自动摘要等,可称为sequence to sequence模型。例如英法翻译,取第一个RNN作为编码器,其最终状态h作为英文句子的特征表示,并将其作为第二个RNN解码器的初始状态并进行解码,得到最终的法语句子,如图2所示。
但传统的RNN的弱点是速度很慢。由于每一时刻都需要等待上一时刻的输出作为此刻的输入,当序列长时需要花费大量的时间。同时,LSTM,GRU等门控单元内部也无法并行,也需要花费大量时间等待。为了解决速度慢的问题,一些学者对门控单元内部进行改进,提升了其并行性,例如QRNN:
本发明的SRNN是对RNN的整体结构进行改进,是第一个在整体结构上使RNN并行从而提升速度的创新,因此并未有与本发明十分接近的已有技术方案。一项结构图类似的方案为DilatedRNN,结构如图3所示:即在第一层使用RNN,将其返回的每一时刻的值作为下一层RNN的输入,每一层的步长是上一层的二倍。但这种结构并不能解决RNN速度慢的问题,只是这种层次结构与本发明提出的SRNN类似。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于切分循环神经网络的序列模型建立方法。本发明能够解决传统RNN速度慢的问题。在自然语言处理等序列任务中,RNN由于可以有效地提取序列中的顺序信息,被广泛应用于情感分析、翻译、文本摘要、问答系统等应用中。但由于每一时刻需要等待上一时刻的输出作为这一时刻的输入,RNN速度非常慢。无论是在工业界或是学术界,训练RNN都是一项很耗时间的工程。
本发明的SRNN通过对RNN整体结构改进,使其可以并行训练,SRNN的速度相较传统RNN提升了高达135倍,若取更长的序列进行训练,甚至可以提升更多的速度。可以说,SRNN完全解决了传统RNN速度慢的问题。同时,与传统RNN相比,SRNN可以获取序列高层次的信息。在情感分析数据集上的实验结果表明,SRNN的准确率相较RNN有所提升。
本发明是根据以下技术方案实现的:
一种基于切分循环神经网络的序列模型建立方法,其特征在于,包括如下步骤:
步骤S1:输入序列,进行预处理;
将输入序列预处理至长度为T的序列X,长度不足T的序列采用末尾补0的策略,长度超过T的序列取前T个字符,则获得输入序列X为:
X=[x1,x2,...,xT]
其中x通过多维度表示;
步骤S2:选择合适的切分长度与切分次数;
根据长度T选择合适的切分长度和切分次数,若T=nk+1,则取切分长度为n,切分次数为k;
步骤S3:将原序列切分成许多最小子序列;
将序列X切分成n个子序列N,则每个子序列长度为
这时X表示成:
X=[N1,N2,...,Nn]
再将每个子序列切分成n个子子序列,重复这个切分步骤k次,直至得到一个合适长度的最小子序列,得到共k+1层;
步骤S4:将RNN作用于每层的最小子序列;
步骤S5:获得每个最小子序列的最终状态h。
上述技术方案中,步骤S4包括:将共享参数的RNN作用于最底层的每个最小子序列,这个过程是并行的,其中RNN循环单元选择基本的SimpleRNN单元,GRU、LSTM门控单元或是经过改进的门控单元,循环激活函数选择tanh,sigmoid或是hard_sigmoid激活函数,循环单元间使用循环dropout正则化。
上述技术方案中,步骤S5包括:对最底层的每个最小子序列得到RNN的最终状态h,同时,对h使用tanh,sigmoid,relu激活函数或者dropout正则化技术:
其中,mss表示最小子序列;
步骤S6:将h作为上一层RNN的输入,重复S4与S5步骤,
直至得到最顶层的最终状态F,将其作为序列的特征表示:
与现有技术相比,本发明具有如下的有益效果:
1、本发明可以提高训练速度:与传统RNN相比,SRNN速度有巨大提升。在长文本分类任务中,SRNN比传统RNN速度快135倍。可以说,解决了传统RNN训练速度慢的难题。
2、本发明可以获取序列的高层次信息:SRNN可以获取序列的高层次信息。例如以文本长度为512的情感分析为例,取切分长度为8,切分次数为2的SRNN,则最底层的RNN可以获得词汇层次的信息,中间层的RNN可以获得句子层次的信息,最顶层的RNN可以获得段落层次的信息。
3:本发明可以提高保留重要信息的能力:虽然GRU、LSTM等可以通过遗忘门、输入门、输出门等门控单元控制信息的流入与流出,但对于长序列,它们保留重要信息的能力仍然有限。SRNN将每个RNN都限制在最小子序列的长度,有效地提高了保留序列中重要信息的能力。
4、本发明可以提高准确率:在6个大型情感分析数据集上的实验结果表明,SRNN相比传统RNN有较大的准确率提升。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为循环神经网络的结构示意图:
图2为sequence to sequence模型示意图;
图3为DilatedRNN结构示意图;
图4为SRNN结构示意图;
图5为本发明的步骤示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明对以下技术术语定义:RNN(Recurrent neural network):循环神经网络;CNN(Convolutional neural network):卷积神经网络;LSTM(Long-short term memory):长短期记忆网络;GRU(Gated recurrent unit):门控循环单元;SRNN(Sliced recurrentneural network):切分循环神经网络。
图4为SRNN结构示意图,本发如图4所示,明将原序列切分成许多最小子序列,并将共享参数的RNN同时应用在最小子序列上,从而达到并行的效果。接着,将最底层的每一个RNN的最终状态h作为其上一层RNN的输入,重复这个步骤直至获得最终的特征表示F。通过这个步骤,SRNN在获得序列的顺序信息的同时,可以获得序列的高层次信息,从而更好地保留序列中的重要信息。具体步骤如图5所示,本发明的一种基于切分循环神经网络的序列模型建立方法,其特征在于,包括如下步骤:
步骤S1:输入序列,进行预处理;
将输入序列预处理至长度为T的序列X,长度不足T的序列采用末尾补0的策略,长度超过T的序列取前T个字符。则获得输入序列X为:
X=[x1,x2,...,xT]
其中x是多维度表示;
步骤S2:选择合适的切分长度与切分次数;
根据长度T选择合适的切分长度和切分次数,若T=nk+1,则取切分长度为n,切分次数为k;
步骤S3:将原序列切分成许多最小子序列;
将序列X切分成n个子序列N,则每个子序列长度为
这时X表示成:
X=[N1,N2,...,Nn]
再将每个子序列切分成n个子子序列,重复这个切分步骤k次,直至得到一个合适长度的最小子序列,得到共k+1层;
步骤S4:将RNN作用于每层的最小子序列;
将共享参数的RNN作用于最底层的每个最小子序列,这个过程是并行的,其中RNN循环单元选择基本的SimpleRNN单元,GRU、LSTM门控单元或是经过改进的门控单元,循环激活函数选择tanh,sigmoid或是hard_sigmoid激活函数,循环单元间使用循环dropout正则化;
步骤S5:获得每个最小子序列的最终状态h;
对最底层的每个最小子序列得到RNN的最终状态h,同时,对h使用tanh,sigmoid,relu激活函数或者dropout正则化技术:
步骤S6:将h作为上一层RNN的输入,重复S4与S5步骤,
直至得到最顶层的最终状态F,将其作为序列的特征表示:
若在F后增加softmax层,则可将其应用于文本分类、语音识别等任务中。若将F作为另一个RNN解码器的初始状态,则可将其应用于机器翻译、自动摘要、问答系统等任务中。
本发明的SRNN可以有很多层,当k=2时,层数为3,则所述情况成立,分别获得词汇、句子、段落的层次。在具体使用时,若输入序列很长,可以选取更多的层数。例如语音识别,若SRNN层数为5,则最底层可获得音素层次的信息,第二层可获得字符层次的信息,第三、四、五层分别获得词语、句子、段落层次的信息。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (3)
1.一种基于切分循环神经网络的序列模型建立方法,其特征在于,包括如下步骤:
步骤S1:输入序列,进行预处理;
将输入序列预处理至长度为T的序列X,长度不足T的序列采用末尾补0的策略,长度超过T的序列取前T个字符,则获得输入序列X为:
X=[x1,x2,...,xT]
其中x通过多维度表示;
步骤S2:选择合适的切分长度与切分次数;根据长度T选择合适的切分长度和切分次数,
若T=nk+1,则取切分长度为n,切分次数为k;
步骤S3:将原序列切分成许多最小子序列;将序列X切分成n个子序列N,则每个子序列长度为:
这时X表示成:
X=[N1,N2,...,Nn]
再将每个子序列切分成n个子子序列,重复这个切分步骤k次,直至得到一个合适长度的最小子序列,得到共k+1层;
步骤S4:将RNN作用于每层的最小子序列;步骤S5:获得每个最小子序列的最终状态h;
当k=2时,层数为3,分别获得词汇、句子、段落的层次;在具体使用时,若输入序列很长,可以选取更多的层数;若层数为5,则最底层可获得音素层次的信息,第二层可获得字符层次的信息,第三、四、五层分别获得词语、句子、段落层次的信息。
2.根据权利要求1所述的一种基于切分循环神经网络的序列模型建立方法,其特征在于,步骤S4具体包括:将共享参数的RNN作用于最底层的每个最小子序列,这个过程是并行的,其中RNN循环单元选择基本的SimpleRNN单元,GRU、LSTM门控单元或是经过改进的门控单元,循环激活函数选择tanh,sigmoid或hard_sigmoid激活函数,循环单元间使用循环
dropout正则化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810594531.6A CN109086865B (zh) | 2018-06-11 | 2018-06-11 | 一种基于切分循环神经网络的序列模型建立方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810594531.6A CN109086865B (zh) | 2018-06-11 | 2018-06-11 | 一种基于切分循环神经网络的序列模型建立方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109086865A CN109086865A (zh) | 2018-12-25 |
CN109086865B true CN109086865B (zh) | 2022-01-28 |
Family
ID=64839868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810594531.6A Active CN109086865B (zh) | 2018-06-11 | 2018-06-11 | 一种基于切分循环神经网络的序列模型建立方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109086865B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109842210B (zh) * | 2019-02-22 | 2020-02-14 | 广东科源电气股份有限公司 | 一种用于变压器的监控系统及方法 |
CN110058943B (zh) * | 2019-04-12 | 2021-09-21 | 三星(中国)半导体有限公司 | 用于电子设备的内存优化方法和设备 |
CN110955826B (zh) * | 2019-11-08 | 2023-06-20 | 上海交通大学 | 基于改进型循环神经网络单元的推荐系统 |
CN111436939B (zh) * | 2020-03-17 | 2023-04-18 | 佛山市台风网络科技有限公司 | 基于深度学习的识别体征信号的方法、系统、设备及介质 |
CN114500193A (zh) * | 2020-10-27 | 2022-05-13 | 上海诺基亚贝尔股份有限公司 | 用于高速通信系统的信号均衡的方法和装置 |
CN112396001B (zh) * | 2020-11-20 | 2022-07-12 | 安徽一视科技有限公司 | 基于人体姿态估计和tpa注意力机制的跳绳个数统计方法 |
CN114154616B (zh) * | 2021-10-15 | 2023-08-18 | 西安交通大学 | 一种rnn并行模型及其在多核cpu上的实现方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9263036B1 (en) * | 2012-11-29 | 2016-02-16 | Google Inc. | System and method for speech recognition using deep recurrent neural networks |
WO2016101688A1 (zh) * | 2014-12-25 | 2016-06-30 | 清华大学 | 一种基于深度长短期记忆循环神经网络的连续语音识别方法 |
CN106372058A (zh) * | 2016-08-29 | 2017-02-01 | 中译语通科技(北京)有限公司 | 一种基于深度学习的短文本情感要素抽取方法及装置 |
CN106782518A (zh) * | 2016-11-25 | 2017-05-31 | 深圳市唯特视科技有限公司 | 一种基于分层循环神经网络语言模型的语音识别方法 |
CN107358948A (zh) * | 2017-06-27 | 2017-11-17 | 上海交通大学 | 基于注意力模型的语言输入关联性检测方法 |
-
2018
- 2018-06-11 CN CN201810594531.6A patent/CN109086865B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9263036B1 (en) * | 2012-11-29 | 2016-02-16 | Google Inc. | System and method for speech recognition using deep recurrent neural networks |
WO2016101688A1 (zh) * | 2014-12-25 | 2016-06-30 | 清华大学 | 一种基于深度长短期记忆循环神经网络的连续语音识别方法 |
CN106372058A (zh) * | 2016-08-29 | 2017-02-01 | 中译语通科技(北京)有限公司 | 一种基于深度学习的短文本情感要素抽取方法及装置 |
CN106782518A (zh) * | 2016-11-25 | 2017-05-31 | 深圳市唯特视科技有限公司 | 一种基于分层循环神经网络语言模型的语音识别方法 |
CN107358948A (zh) * | 2017-06-27 | 2017-11-17 | 上海交通大学 | 基于注意力模型的语言输入关联性检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109086865A (zh) | 2018-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109086865B (zh) | 一种基于切分循环神经网络的序列模型建立方法 | |
WO2022022163A1 (zh) | 文本分类模型的训练方法、装置、设备及存储介质 | |
CN107291795B (zh) | 一种结合动态词嵌入和词性标注的文本分类方法 | |
CN109376242B (zh) | 基于循环神经网络变体和卷积神经网络的文本分类方法 | |
CN110502749B (zh) | 一种基于双层注意力机制与双向gru的文本关系抽取方法 | |
Huang et al. | Deep sentiment representation based on CNN and LSTM | |
Lin et al. | Automatic translation of spoken English based on improved machine learning algorithm | |
CN111930942B (zh) | 文本分类方法、语言模型训练方法、装置及设备 | |
CN110321563B (zh) | 基于混合监督模型的文本情感分析方法 | |
CN109308353B (zh) | 词嵌入模型的训练方法及装置 | |
CN107273358B (zh) | 一种基于管道模式的端到端英文篇章结构自动分析方法 | |
CN111046661B (zh) | 基于图卷积网络的阅读理解方法 | |
CN110688862A (zh) | 一种基于迁移学习的蒙汉互译方法 | |
WO2023134083A1 (zh) | 基于文本的情感分类方法和装置、计算机设备、存储介质 | |
CN111291556A (zh) | 基于实体义项的字和词特征融合的中文实体关系抽取方法 | |
WO2023137911A1 (zh) | 基于小样本语料的意图分类方法、装置及计算机设备 | |
WO2023134402A1 (zh) | 一种基于孪生卷积神经网络的书法字识别方法 | |
CN112199503B (zh) | 一种基于特征增强的非平衡Bi-LSTM的中文文本分类方法 | |
CN109271636B (zh) | 词嵌入模型的训练方法及装置 | |
CN111639186A (zh) | 动态嵌入投影门控的多类别多标签文本分类模型及装置 | |
CN116049387A (zh) | 一种基于图卷积的短文本分类方法、装置、介质 | |
CN113806543B (zh) | 一种基于残差跳跃连接的门控循环单元的文本分类方法 | |
Zhao et al. | Tibetan multi-dialect speech recognition using latent regression Bayesian network and end-to-end mode | |
WO2023159759A1 (zh) | 模型的训练方法、情感消息生成方法和装置、设备、介质 | |
CN115687627A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230810 Address after: Room 1390, Zone B, 5th Floor, Building 1, No. 668 Shangda Road, Baoshan District, Shanghai, 200444 Patentee after: Shanghai Zhihua Technology Co.,Ltd. Address before: 200240 No. 800, Dongchuan Road, Shanghai, Minhang District Patentee before: SHANGHAI JIAO TONG University |