CN109086865A - 一种基于切分循环神经网络的序列模型建立方法 - Google Patents

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

Info

Publication number
CN109086865A
CN109086865A CN201810594531.6A CN201810594531A CN109086865A CN 109086865 A CN109086865 A CN 109086865A CN 201810594531 A CN201810594531 A CN 201810594531A CN 109086865 A CN109086865 A CN 109086865A
Authority
CN
China
Prior art keywords
rnn
sequence
cutting
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.)
Granted
Application number
CN201810594531.6A
Other languages
English (en)
Other versions
CN109086865B (zh
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.)
Shanghai Zhihua Technology Co.,Ltd.
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201810594531.6A priority Critical patent/CN109086865B/zh
Publication of CN109086865A publication Critical patent/CN109086865A/zh
Application granted granted Critical
Publication of CN109086865B publication Critical patent/CN109086865B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Character Discrimination (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层;
经过如上切分,最底层的最小子序列的个数为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为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层;
经过如上切分,最底层的最小子序列的个数为s0=nk,长度为至此,原序列被切分成许多子序列;
步骤S4:将RNN作用于每层的最小子序列;
将共享参数的RNN作用于最底层的每个最小子序列,这个过程是并行的,其中RNN循环单元选择基本的SimpleRNN单元,GRU、LSTM门控单元或是经过改进的门控单元,循环激活函数选择tanh,sigmoid或是hard_sigmoid激活函数,循环单元间使用循环dropout正则化;
步骤S5:获得每个最小子序列的最终状态h;
对最底层的每个最小子序列得到RNN的最终状态h,同时,对h使用tanh,sigmoid,relu激活函数或者dropout正则化技术:
其中,mss表示最小子序列;
步骤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层;
经过如上切分,最底层的最小子序列的个数为s0=nk,长度为至此,原序列被切分成许多子序列;
步骤S4:将RNN作用于每层的最小子序列;
步骤S5:获得每个最小子序列的最终状态h。
2.根据权利要求1所述的一种基于切分循环神经网络的序列模型建立方法,其特征在于,步骤S4具体包括:将共享参数的RNN作用于最底层的每个最小子序列,这个过程是并行的,其中RNN循环单元选择基本的SimpleRNN单元,GRU、LSTM门控单元或是经过改进的门控单元,循环激活函数选择tanh,sigmoid或hard_sigmoid激活函数,循环单元间使用循环dropout正则化。
3.根据权利要求2所述的一种基于切分循环神经网络的序列模型建立方法,其特征在于,步骤S5具体包括:对最底层的每个最小子序列得到RNN的最终状态h,同时,对h使用tanh,sigmoid,relu激活函数或者dropout正则化技术:
其中,mss表示最小子序列;
步骤S6:将h作为上一层RNN的输入,重复S4与S5步骤,
直至得到最顶层的最终状态F,将其作为序列的特征表示:
CN201810594531.6A 2018-06-11 2018-06-11 一种基于切分循环神经网络的序列模型建立方法 Active CN109086865B (zh)

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 true CN109086865A (zh) 2018-12-25
CN109086865B 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)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109842210A (zh) * 2019-02-22 2019-06-04 广东科源电气有限公司 一种用于变压器的监控***及方法
CN110058943A (zh) * 2019-04-12 2019-07-26 三星(中国)半导体有限公司 用于电子设备的内存优化方法和设备
CN110955826A (zh) * 2019-11-08 2020-04-03 上海交通大学 基于改进型循环神经网络单元的推荐***
CN111436939A (zh) * 2020-03-17 2020-07-24 佛山市台风网络科技有限公司 健康监测方法、***、计算机设备及可读存储介质
CN112396001A (zh) * 2020-11-20 2021-02-23 安徽一视科技有限公司 基于人体姿态估计和tpa注意力机制的跳绳个数统计方法
CN114154616A (zh) * 2021-10-15 2022-03-08 西安交通大学 一种rnn并行模型及其在多核cpu上的实现方法及***
CN114500193A (zh) * 2020-10-27 2022-05-13 上海诺基亚贝尔股份有限公司 用于高速通信***的信号均衡的方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
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 上海交通大学 基于注意力模型的语言输入关联性检测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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 上海交通大学 基于注意力模型的语言输入关联性检测方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109842210A (zh) * 2019-02-22 2019-06-04 广东科源电气有限公司 一种用于变压器的监控***及方法
CN109842210B (zh) * 2019-02-22 2020-02-14 广东科源电气股份有限公司 一种用于变压器的监控***及方法
CN110058943A (zh) * 2019-04-12 2019-07-26 三星(中国)半导体有限公司 用于电子设备的内存优化方法和设备
CN110058943B (zh) * 2019-04-12 2021-09-21 三星(中国)半导体有限公司 用于电子设备的内存优化方法和设备
CN110955826A (zh) * 2019-11-08 2020-04-03 上海交通大学 基于改进型循环神经网络单元的推荐***
CN110955826B (zh) * 2019-11-08 2023-06-20 上海交通大学 基于改进型循环神经网络单元的推荐***
CN111436939A (zh) * 2020-03-17 2020-07-24 佛山市台风网络科技有限公司 健康监测方法、***、计算机设备及可读存储介质
CN114500193A (zh) * 2020-10-27 2022-05-13 上海诺基亚贝尔股份有限公司 用于高速通信***的信号均衡的方法和装置
CN112396001A (zh) * 2020-11-20 2021-02-23 安徽一视科技有限公司 基于人体姿态估计和tpa注意力机制的跳绳个数统计方法
CN114154616A (zh) * 2021-10-15 2022-03-08 西安交通大学 一种rnn并行模型及其在多核cpu上的实现方法及***
CN114154616B (zh) * 2021-10-15 2023-08-18 西安交通大学 一种rnn并行模型及其在多核cpu上的实现方法及***

Also Published As

Publication number Publication date
CN109086865B (zh) 2022-01-28

Similar Documents

Publication Publication Date Title
CN109086865A (zh) 一种基于切分循环神经网络的序列模型建立方法
CN107169035B (zh) 一种混合长短期记忆网络和卷积神经网络的文本分类方法
CN111061862B (zh) 一种基于注意力机制生成摘要的方法
CN109992779B (zh) 一种基于cnn的情感分析方法、装置、设备及存储介质
CN111046661B (zh) 基于图卷积网络的阅读理解方法
Wang et al. Research on Web text classification algorithm based on improved CNN and SVM
CN109101235A (zh) 一种软件程序的智能解析方法
CN109543181A (zh) 一种基于主动学习和深度学习相结合的命名实体模型和***
CN107871158A (zh) 一种结合序列文本信息的知识图谱表示学习方法及装置
CN110765264A (zh) 一种增强语义相关性的文本摘要生成方法
Xu et al. Image captioning with deep LSTM based on sequential residual
CN107679225A (zh) 一种基于关键词的回复生成方法
CN105679308A (zh) 基于人工智能的生成g2p模型和英文语音合成方法、装置
CN117217223A (zh) 基于多特征嵌入的中文命名实体识别方法及***
Wu et al. Hierarchical memory decoder for visual narrating
CN114969269A (zh) 基于实体识别和关系抽取的虚假新闻检测方法及***
CN114510576A (zh) 一种基于BERT和BiGRU融合注意力机制的实体关系抽取方法
CN116720519B (zh) 一种苗医药命名实体识别方法
CN117349311A (zh) 一种基于改进RetNet的数据库自然语言查询方法
CN113010676B (zh) 一种文本知识提取方法、装置及自然语言推断***
CN101436194B (zh) 一种基于数据挖掘技术的文本多精度表示方法
Liang Research on pre-training model of natural language processing based on recurrent neural network
Fu et al. A hybrid algorithm for text classification based on CNN-BLSTM with attention
CN110390010A (zh) 一种自动文本摘要方法
CN112287640A (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