一种基于切分循环神经网络的序列模型建立方法技术

技术编号:19904587 阅读:49 留言:0更新日期:2018-12-26 03:15
本发明专利技术提供了一种基于切分循环神经网络的序列模型建立方法,本发明专利技术的SRNN通过对RNN整体结构改进,使其可以并行训练,SRNN的速度相较传统RNN有了较大的提升。本发明专利技术的SRNN可以获取序列的高层次信息,例如当层数为3时,最底层的RNN可以获得词汇层次的信息,中间层的RNN可以获得句子层次的信息,最顶层的RNN可以获得段落层次的信息,并且,SRNN将每个RNN都限制在最小子序列的长度,有效地提高了保留序列中重要信息的能力。

【技术实现步骤摘要】
一种基于切分循环神经网络的序列模型建立方法
本专利技术涉及人工智能领域,具体地涉及一种基于切分循环神经网络的序列模型建立方法。
技术介绍
随着人工智能与计算机硬件的发展,循环神经网络由于可以提取序列中的词序等深层信息,被广泛应用于如自然语言处理、语音识别等序列模型中,使性能较传统模型相比得到了大幅度提升。循环神经网络的结构如图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层,即可文本分类。多对多的典型应用是翻译、自动摘要等,可称为sequencetosequence模型。例如英法翻译,取第一个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层;经过如上切分,最底层的最小子序列的个数为s0=nk,长度为至此,原序列被切分成许多子序列;步骤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为sequencetosequence模型示意图;图3为DilatedRNN结构示意图;图4为SRNN结构示意图;图5为本专利技术的步骤示意图。具体实施方式下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。本专利技术对以下技术术语定义:RNN(Recurrentneuralnetwork):循环神经网络;CNN(C本文档来自技高网
...

【技术保护点】
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,则每个子序列长度为:

【技术特征摘要】
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层;经过如上切分,最底层的最小子序列的个数为s0=nk,长度为至此,原序列被切分成许多子序列;步骤S4:将RNN作用于每层的最小子序列;步骤...

【专利技术属性】
技术研发人员:于泽平刘功申
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1