CN108351982B - 卷积门控递归神经网络 - Google Patents
卷积门控递归神经网络 Download PDFInfo
- Publication number
- CN108351982B CN108351982B CN201680066470.5A CN201680066470A CN108351982B CN 108351982 B CN108351982 B CN 108351982B CN 201680066470 A CN201680066470 A CN 201680066470A CN 108351982 B CN108351982 B CN 108351982B
- Authority
- CN
- China
- Prior art keywords
- state tensor
- vector
- convolution
- cgru
- tensor
- 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/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
- Error Detection And Correction (AREA)
- Machine Translation (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
用于实现卷积门控递归神经网络(CGRN)的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。在其中一个系统中,CGRN被配置为维持尺寸为x乘y乘m的状态张量,其中x、y和m各大于1,并且对于多个时间步长中的每一个,通过经多个卷积门处理当前维持的状态张量来更新该状态。CGRN的架构允许CGRN高度平行,即,因为CGRN是由高度平行的卷积算子构成的,使得CGRN以更小计算强度来训练并且更有计算效率地运行,即,计算推论。CGRN的架构允许CGRN泛化到不同大小的输入,例如,允许在较短输入上训练的CGRN有效地针对较长输入计算推论。
Description
背景技术
本说明书涉及神经网络系统架构。
神经网络是采用一层或多层非线性单元来预测接收到的输入的输出的机器学习模型。一些神经网络除了输出层外还包含一个或多个隐藏层。每个隐藏层的输出被用作网络中下一层(即下一隐藏层或输出层)的输入。网络的每一层根据相应参数集的当前值从接收到的输入产生输出。
一些神经网络是递归神经网络。递归神经网络是接收输入序列并从输入序列生成输出序列的神经网络。特别地,递归神经网络可以使用来自前一时间步长的网络的部分或全部内部状态来计算当前时间步长的输出。递归神经网络的例子是长短期记忆(LSTM)神经网络,其包括一个或多个LSTM细胞,每个LSTM细胞包括输入门、遗忘门和输出门,其允许细胞存储对于该细胞的先前状态例如用于产生电流激活或被提供给LSTM神经网络的其他组件。
发明内容
本说明书描述了涉及递归神经网络架构的技术。
通常,卷积门控递归神经网络(CGRN)包括多个卷积门控递归单元(CGRU)并且维持作为具有x乘y乘m的尺寸的状态张量,其中x、y和m各自大于1。
在多个时间步长中的每一个,CGRN被配置为通过经由每个CGRU处理当前维持的状态张量来更新当前维持的状态张量。在最后的步骤之后,状态张量由生成系统输出的输出层处理。
对于要被配置为执行特定操作或动作的一个或多个计算机的系统意味着系统已经在其上安装了软件、固件、硬件或它们的组合,其在操作中使系统执行操作或动作。对于要被配置为执行特定操作或动作的一个或多个计算机程序意味着一个或多个程序包括在由数据处理设备执行时使设备执行操作或动作的指令。
本说明书中描述的主题可以在特定实施例中实现,以便实现以下优点中的一个或多个。如本说明书中所描述的CGRN的架构允许CGRN高度平行,即,因为CGRN是由高度平行的卷积算子构建的,使得CGRN以更小计算强度训练并且更有计算效率地运行,即,使用CGRN计算推论。CGRN的架构允许CGRN泛化到不同大小的输入,例如,允许在较短输入上训练的CGRN有效计算较长输入的推论。
本说明书的主题的一个或多个实施例的细节在附图和下面的描述中阐述。本主题的其他特征、方面和优点将从说明书、附图和权利要求中变得显而易见。
附图说明
图1示出了示例神经网络系统。
图2是用于使用CGRN处理神经网络输入的示例过程的流程图。
图3是用于使用CGRU在当前时间步长处理当前维持的状态张量以更新当前维持的细胞状态张量的示例过程的流程图。
各附图中相同的参考数字和附图标记指示相同的元件。
具体实施方式
图1示出了示例神经网络系统100。神经网络系统100是在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统的示例,其中实现了下面描述的系统、组件和技术。
神经网络系统100是机器学习系统,其接收神经网络输入并且从神经网络输入生成系统输出。例如,神经网络系统100可以接收神经网络输入102并且生成系统输出132。通常,神经网络输入是数字输入序列,例如矢量或其他有序的数值集合,并且系统输出可以是单个矢量或多个矢量的序列。
神经网络系统100可以将所生成的系统输出存储在输出数据仓库中或者提供系统输出以用于某种直接目的,例如通过提供表征系统输出的数据以呈现给用户或者通过将一些或所有的系统输出提供给另一系统用于进一步处理。
神经网络系统100可以被配置为接收任何种类的数字数据输入并且基于输入生成任何种类的分数、分类或回归输出。
作为示例,如果对神经网络系统100的输入是表示一种语言的文本的序列,则由神经网络系统100生成的输出可以是表示输入文本向其他语言的转换的另一种语言的文本的序列。
作为另一个例子,如果对神经网络系统100的输入是表示口头话语的特征的序列,则由神经网络系统100生成的输出可以是表示作为该话语的转录的文本的序列。
作为另一示例,如果对神经网络系统100的输入是表示文本的序列,则由神经网络系统100生成的输出可以是针对话题集中的每一个话题的分数,其中该分数表示相应的话题是文本序列的话题的可能性。
作为另一示例,如果对神经网络系统100的输入是表示文本的序列,则由神经网络系统100生成的输出可以是表示作为输入文本的概要的文本的序列,即,比输入文本序列短。
特别地,神经网络系统100包括卷积门控递归神经网络(CGRN)110。CGRN 110包括卷积门控递归单元(CGRU)120和输出层130的序列。
通常,CGRU接收从神经网络输入102生成的初始状态张量122,并共同地重复更新初始状态张量122以生成最终状态张量128。
也即,CGRN 110维持一状态,该状态是具有尺寸为x乘y乘m的张量,其中x、y和m各自大于1并且该状态从神经网络输入102初始化。下面参照图2更详细地描述初始化来自神经网络输入102的状态张量。CGRU120共同地重复更新维持的状态张量以生成最终状态张量128。
更具体地说,CGRU120在多个时间步长中的每个步骤执行处理。在每个时间步长,每个CGRU接收输入状态张量,更新输入状态张量,并将经更新的状态张量提供给CGRN的另一组件,即另一CGRU或输出层。例如,在多个时间步长中的给定时间步长处,序列中的CGRU120a可以接收当前状态张量122并处理当前状态张量126以生成经更新的状态张量126。最终状态张量126是由多个时间步长中最后一个时间步长的序列中最后一个CGRU生成的状态张量。
输出层130处理最终状态张量126以生成系统输出132。下面参照图2更详细地描述处理最终状态张量126。
图2是用于使用CGRN处理神经网络输入的示例过程200的流程图。为了方便,过程200将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,神经网络系统,例如图1的神经网络系统100,根据本说明书适当地编程,可以执行过程200。
系统接收神经网络输入(步骤202)。通常,神经网络输入是各具有长度m的矢量序列。例如,该序列可以是嵌入矢量的序列,每个嵌入矢量表示来自可能输入词汇表的相应输入。
系统使用神经网络输入来初始化CGRN的状态张量(步骤204)。特别地,系统将每个输入矢量连接到状态张量的第一列,并将状态张量的所有其他条目设定为零。也即,序列中的第k个矢量被添加到条目(0,k,0)到(0,k,m)的状态张量中,并且列1到x-1中的条目被设定为零。
系统通过用于多个时间步长的CGRU序列来处理初始状态张量以生成最终状态张量(步骤206)。具体地,在每个时间步长中,系统通过序列中的每个CGRU处理当前状态张量以生成序列的经更新的状态张量。下面参照图3更详细地描述通过CGRU处理输入状态张量。
系统使用输出层来处理最终状态张量以生成CGRN输出,即,用于所接收的神经网络输入的系统输出(步骤208)。
特别地,输出层被配置为将输出参数矩阵应用于最终状态张量的第一列的每个深度矢量,其中第一列的第k个深度矢量是在最终状态张量的(0,k,0)至(0,k,m)的条目,以从该列的每个深度矢量生成相应的初始输出矢量。
在一些实现中,输出层然后被配置为从每个初始输出矢量选择最大条目以生成最终输出矢量,即,使得最终输出矢量是来自每个初始输出矢量的相应最大条目的矢量。
图3是用于使用CGRU在当前时间步长处理当前维持的状态张量以更新当前维持的细胞状态张量的示例过程300的流程图。为了方便,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统实现的CGRU执行。例如,神经网络系统中的CGRU,例如图1的神经网络系统100的CGRU 120a,根据本说明书适当地编程,可以执行过程300。
CGRU接收当前维持的状态张量(步骤302)。如果当前时间步长是第一时间步长,并且CGRU是该序列中的第一CGRU,则状态张量是已经从神经网络输入初始化的状态张量。如果当前时间步长不是第一时间步长,并且CGRU是序列中的第一CGRU,则状态张量是紧邻的前一时间步长的序列中最后CGRU生成的状态张量。如果CGRU不是序列中的第一CGRU,则状态张量是在当前时间步长的序列中由前一CGRU生成的状态张量。
CGRU将主卷积门应用于当前维持的状态张量以生成主卷积门输出(步骤304)。特别地,CGRU执行CGRU的主核库与当前维持的状态张量之间的卷积。核库是形状的四维张量[kx,ky,m,m],即它含有kx·ky·m2参数,其中kx和ky是核宽度和高度。具有状态张量的核库的卷积生成具有与状态张量相同维度的新张量。
当执行具有形状为[kx,ky,m,m]的滤波器组与心理图像s的卷积时,所得张量的条目[x,y,i]的值满足:
在一些实现中,遗忘卷积门输出g满足:
g=σ(U′*s+B′),
其中s是当前维持的状态张量,U′*s是主卷积门的主核库与状态张量的卷积,并且B'是主卷积门的偏差矢量。
CGRU将遗忘卷积门应用于当前维持的状态张量以生成遗忘卷积门输出(步骤306)。特别地,CGRU执行CGRU的遗忘核库与当前维持的状态张量之间的卷积。在一些实现中,遗忘卷积门输出r满足:
r=σ(U″*s+B″),
其中U″*s是遗忘核库和当前维持的状态张量的卷积,并且B”是遗忘卷积门的偏差矢量。
CGRU组合当前维持的状态张量,主卷积门输出和遗忘卷积门输出以生成经更新的状态张量(步骤308)。也即,CGRU将主卷积门输出和遗忘卷积门输出应用于当前维持的状态张量以生成经更新的状态张量。在一些实现中,经更新的状态张量满足:
CGRU(s)=u·s+(1-u)·tanh(U*(r·s)+B)
其中U是GRU的输出核库,B是GRU输出的偏差矢量,并且r·s表示逐点矢量乘法。
CGRU将经更新的状态张量提供给CGRN中的下一组件(步骤310)。特别地,如果CGRU不是序列中的最后一个CGRU,则CGRU将经更新的状态张量提供给序列中的下一个CGRU。如果CGRU是序列中最后一个CGRU,并且当前时间步长不是最后时间步长,则CGRU将经更新的状态张量提供给序列中的第一个CGRU,以便在下一时间步长进行处理。如果CGRU是序列中最后CGRU,并且当前时间步长是最后时间步长,则CGRU将经更新的状态张量提供给输出层,以生成神经网络输入的系统输出。
因为CGRN的所有组件都是可区分的,所以系统可以通过使用常规机器学习训练技术优化目标函数来训练CGRN,例如通过时间训练技术带有反向传播的随机梯度下降。也即,系统可以执行训练技术的多次迭代以通过调整CGRN的参数的值(即,滤波器组的值和CGRU的偏差以及输出层的输出参数矩阵)来优化目标函数。
在一些情况下,在CGRN的训练期间,不是限制要在所有时间步长中共享的CGRU的每个参数的值,系统将时间步长划分为多个子集,并且仅限制用于要在子集内共享的CGRU的每个参数的值。也即,对于给定的时间步长子集和给定CGRU的给定参数,系统限制参数在子集中的每个时间步长具有相同的值,但允许其他子集的值发生变化。因此,在训练之后,CGRU将参数值的集合应用于时间步长的一个子集内的输入,并将参数值的另一集合应用于时间步长的另一个子集内的输入。
本说明书中描述的主题和功能操作的实施例可以以数字电子电路、有形地实施的计算机软件或固件、计算机硬件(包括本说明书中公开的结构及其结构等同物)或以它们中的一个或多个的组合来实现。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上、由数据处理执行或控制数据处理设备操作的计算机程序指令的一个或多个模块。备选地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电信号,光信号或电磁信号,其被生成以对信息进行编码以便传输给合适的接收机设备供数据处理设备执行。计算机存储介质可以是机器可读存储设备,机器可读存储基板,随机或串行存取存储设备,或它们中的一个或多个的组合。
术语“数据处理设备”是指数据处理硬件并且涵盖所有种类的用于处理数据的设备、设备以及机器,作为实例,包括可编程处理器、计算机或者多重处理器或者多重计算机。设备也可以是或者进一步包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路)。设备除了包括硬件之外,还可以任选地包括创建计算机程序的执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或者它们中的一种或多种的组合代码。
计算机程序(还可以被称为或者描述为程序、软件、软件应用、模块、软件模块、脚本或者代码)可以以任意形式的编程语言而被写出,包括编译语言或者解释语言或者声明性语言或过程式语言,并且计算机程序可以以任意形式展开,包括作为独立程序或者作为模块、组件、子例程或者适于在计算环境中使用的其他单元。计算机程序可以但不必须对应于文件系统中的文件。程序可以被存储在保存其他程序或者数据的文件的一部分中,例如,存储在如下中的一个或多个脚本:在标记语言文档中;在专用于相关程序的单个文件中;或者在多个协同文件中,例如,存储一个或多个模块、子程序或者代码部分的文件。计算机程序可以被展开为执行在一个计算机或者多个计算机上,所述计算机位于一处,或者分布至多个场所并且通过通信网络而互相连接。
在本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机执行,该计算机通过运算输入数据并且生成输出而执行一个或多个的计算机程序,以运算函数。过程和逻辑流程还可以由专用逻辑电路,例如,FPGA(可现场编程门阵列)或者ASIC(专用集成电路)执行,并且设备也可以被实施为专用逻辑电路。
适于实行计算机程序的计算机包括并且示例性地可以基于通用微处理器或者专用微处理器或者上述处理器两者,或者任意其他种类的中央处理单元。通常地,中央处理单元将接收来自只读存储器或者随机存取存储器或者这两者的指令和数据。计算机的主要元件是用于运行或者执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常地,计算机还将包括或者是可操作性地耦合,以从用于存储数据的一个或多个大容量存储设备接收数据或者传递数据到大容量存储设备,或者接收和传递两者,该大容量存储器例如为磁盘、磁光盘或者光盘。然而,计算机不是必须具有这样的设备。此外,计算机可以被嵌入到另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或者视频播放器、游戏主控台、全球定位系统(GPS)接收器或者可移动存储设备,例如,通用串行总线(USB)闪存盘等。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失存储器、介质和存储器设备,作为实例,包括:半导体存储器设备,例如,EPROM、EEPROM和闪速存储器设备;磁盘,例如,内置硬盘或者可移动磁盘;磁光盘;CD-ROM和DVD-ROM盘。处理器和存储器可以补充有或者并入至专用逻辑电路。
为了提供与客户的交互,本说明书中描述的主题的实施例可以被实施在计算机上,该计算机具有:显示设备,例如,CRT(阴极射线管)或者LCD(液晶显示器)监控器,用于向用户显示信息;以及键盘和例如鼠标或者轨迹球这样的指针设备,用户利用它们可以将输入提供给计算机。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任意形式的传感反馈,例如,视觉反馈、听觉反馈或者触觉反馈;以及来自用户的输入可以以任意形式接收到,包括声响输入、语音输入或者触觉输入。另外,计算机可以通过将文档发送至由用户使用的设备并且接收来自该设备的文档而与用户交互;例如,通过响应于接收到的来自web浏览器的请求,而将网页发送到用户的客户端设备上的web浏览器。
本说明书中描述的主题的实施例可以在计算系统中实施,该计算系统包括例如数据服务器这样的后端组件,或者包括例如应用服务器这样的中间组件,或者包括例如客户端计算机这样的前端组件,该客户端计算机具有关系图形用户界面或者网络浏览器,用户可以通过图形用户界面或者网络浏览器而与本说明书中描述的主题的实施进行交互,或者该计算机系统包括一个或多个这种后端组件、中间组件或者前端组件的任意组合。系统中的组件可以通过例如通信网络的任意形式或介质的数字数据通信而互相连接。通信网络的实例包括局域网络(“LAN”)和广域网络(“WAN”),例如,互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络而交互。客户端与服务器之间的关系利用在各自的计算机上运行并且具有彼此之间的客户端-服务器关系的计算机程序而产生。
虽然本说明书包含很多具体的实施细节,但是这些不应当被解释为对任何发明的范围或者对可以要求保护的内容的范围的限制,而是作为可以使特定发明的特定实施例具体化的特征的说明。在独立的实施例的语境中的本说明书中描述的特定特征还可以与单个实施例组合地实施。相反地,在单个实施例的语境中描述的各种特征还可以独立地在多个实施例中实施,或者在任何合适的子组合中实施。此外,虽然以上可以将特征描述为组合作用并且甚至最初这样要求,但是来自要求的组合的一个或多个特征在一些情况下可以从该组合去掉,并且要求的组合可以转向子组合或者子组合的变形。
相似地,虽然以特定顺序在附图中描述了操作,但是不应当理解为:为了实现期望的结果,要求这样的操作以示出的特定顺序或者以顺序次序而执行,或者所有图示的操作都被执行。在特定情况下,多任务处理和并行处理可以是有利的。此外,上述实施例中的各种系统模块和组件的分离不应当理解为在所有实施例中要求这样的分离,并且应当理解程序组件和系统可以通常被集成在单个软件产品中或者封装至多个软件产品中。
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,在权利要求中记载的活动可以以不同的顺序执行并且仍旧实现期望的结果。作为一个实例,为了实现期望的结果,附图中描述的过程不必须要求示出的特定顺序或者顺序次序。在特定实现中,多任务处理和并行处理可以是有优势的。
Claims (19)
1.一种由一个或多个计算机执行的用于从神经网络输入生成系统输出的方法,所述方法包括:
接收所述神经网络输入,其中所述神经网络输入包括嵌入矢量的序列,其中所述序列中的每个嵌入矢量表示均从输入词汇表选择的输入序列中的对应输入,并且其中每个嵌入矢量具有尺寸m;
使用所述神经网络输入来初始化状态张量,其中所述状态张量是具有尺寸x乘y乘m的张量,其中x、y和m各自大于1,并且其中使用所述神经网络输入来初始化状态张量包括:
将所述序列中的每个嵌入矢量连接到所述状态张量的第一列中,并将所述状态张量的所有其他条目设定为零,使得所述序列中的每个位置j处的相应嵌入矢量被添加到条目(0,j,0)到(0,j,m)的状态张量中,并且所述状态张量的列1到x-1的全部中的条目被设定为零;以及
使用由一个或多个计算机实现的卷积门控递归神经网络CGRN来处理所述状态张量,其中所述CGRN被配置为:
通过以下步骤来重复地更新所述状态张量:对于多个时间步长中的每一个,通过经多个卷积门处理所述状态张量来更新所述状态张量,每个卷积门执行相应接收的状态张量和相应的核库之间的相应卷积,以及
通过由所述一个或多个计算机实现的输出神经网络层在所述多个时间步长中的最后时间步长之后处理所述状态张量来生成所述系统输出。
2.根据权利要求1所述的方法,其中,所述CGRN包括布置在序列中的多个卷积门控递归单元CGRU,并且其中,对于每个时间步长,所述序列中的最低CGRU被配置为:
接收在该时间步长时的状态张量并处理该时间步长时的状态张量以生成最低经更新的状态张量,并且其中每个其他CGRU被配置为:
接收由所述序列中的前一个CGRU更新的状态张量;以及
更新所接收的状态张量。
3.根据权利要求2所述的方法,其中,每个CGRU包括主卷积门,并且其中,所述主卷积门被配置为生成满足u=σ(U'*s+B')的主卷积门输出u,其中,σ是sigmoid激活函数,s是由所述CGRU接收的状态张量,U'*s是所述主卷积门的核库和由所述CGRU接收的状态张量的卷积,并且B'是所述主卷积门的偏差矢量。
4.根据权利要求3所述的方法,其中,每个CGRU进一步包括遗忘卷积门,并且其中,所述遗忘卷积门被配置为生成满足r=σ(U”*s+B”)的遗忘卷积门输出r,其中,s是由所述CGRU接收的状态张量,U”*s是遗忘卷积门的核库和状态张量的卷积,并且B”是遗忘卷积门的偏差矢量。
5.根据权利要求4所述的方法,其中,由所述CGRU更新的所述经更新的内部状态CGRU(s)满足:
CGRU(s)=u·s+(1-u)·tanh(U*(r·s)+B)
其中U是GRU的核库,B是偏差矢量,并且r·s表示逐点矢量乘法。
6.根据权利要求1所述的方法,其中,所述一个或多个计算机包括多个计算机,并且其中,所述处理包括在所述多个计算机中的两个或更多个计算机上并行地执行所述CGRN神经网络的多个操作。
7.根据权利要求1所述的方法,其中,所述输出神经网络层被配置为:
在所述多个时间步长中的最后时间步长之后接收所述状态张量;
在所述多个时间步长中的最后时间步长之后向所述状态张量的第一列的每个深度矢量应用输出参数矩阵以从该列的每个深度矢量生成相应的初始输出矢量,其中,第一列的每个深度矢量对应于k的相应值并且是最终状态张量的在(0,k,0)到(0,k,m)处的条目的矢量;以及
通过从每个初始输出矢量选择来自该初始输出矢量的相应最大条目使得所述输出矢量是来自每个所述初始输出矢量的相应最大条目的矢量,来生成表示所述系统输出的最终输出矢量。
8.一种包括一个或多个计算机和存储指令的一个或多个存储设备的系统,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机执行用于从系统输入生成系统输出的操作,所述操作包括:
接收神经网络输入,其中所述神经网络输入包括嵌入矢量的序列,其中所述序列中的每个嵌入矢量表示均从输入词汇表选择的输入序列中的对应输入,并且其中每个嵌入矢量具有尺寸m;
使用所述神经网络输入来初始化状态张量,其中所述状态张量是具有尺寸x乘y乘m的张量,其中x、y和m各自大于1,并且其中使用所述神经网络输入来初始化状态张量包括:
将所述序列中的每个嵌入矢量连接到所述状态张量的第一列中,并将所述状态张量的所有其他条目设定为零,使得所述序列中的每个位置j处的相应嵌入矢量被添加到条目(0,j,0)到(0,j,m)的状态张量中,并且所述状态张量的列1到x-1的全部中的条目被设定为零;以及
使用由一个或多个计算机实现的卷积门控递归神经网络CGRN来处理所述状态张量,其中所述CGRN被配置为:
通过以下步骤来重复地更新所述状态张量:对于多个时间步长中的每一个,通过经多个卷积门处理所述状态张量来更新所述状态张量,每个卷积门执行相应接收的状态张量和相应的核库之间的相应卷积,以及
通过由所述一个或多个计算机实现的输出神经网络层在所述多个时间步长中的最后时间步长之后处理所述状态张量来生成表示所述系统输出。
9.根据权利要求8所述的系统,其中,所述CGRN包括布置在序列中的多个卷积门控递归单元CGRU,并且其中,对于每个时间步长,所述序列中的最低CGRU被配置为:
接收在该时间步长时的状态张量并处理该时间步长时的状态张量以生成最低经更新的状态张量,并且其中每个其他CGRU被配置为:接收由所述序列中的前一个CGRU更新的状态张量;以及更新所接收的状态张量。
10.根据权利要求9所述的系统,其中,每个CGRU包括主卷积门,并且其中,所述主卷积门被配置为生成满足u=σ(U'*s+B')的主卷积门输出u,其中,σ是sigmoid激活函数,s是由所述CGRU接收的状态张量,U'*s是所述主卷积门的核库和由所述CGRU接收的状态张量的卷积,并且B'是所述主卷积门的偏差矢量。
11.根据权利要求10所述的系统,其中,每个CGRU进一步包括遗忘卷积门,并且其中,所述遗忘卷积门被配置为生成满足r=σ(U”*s+B”)的遗忘卷积门输出r,其中,s是由所述CGRU接收的状态张量,U”*s是遗忘卷积门的核库和状态张量的卷积,并且B”是遗忘卷积门的偏差矢量。
12.根据权利要求11所述的系统,其中,由所述CGRU更新的所述经更新的内部状态CGRU(s)满足:
CGRU(s)=u·s+(1-u)·tanh(U*(r·s)+B)
其中,U是GRU的核库,B是偏差矢量,并且r·s表示逐点矢量乘法。
13.根据权利要求8所述的系统,其中,所述输出神经网络层被配置为:
在所述多个时间步长中的最后时间步长之后接收所述状态张量;
在所述多个时间步长中的最后时间步长之后向所述状态张量的第一列的每个深度矢量应用输出参数矩阵以从该列的每个深度矢量生成相应的初始输出矢量,其中,第一列的每个深度矢量对应于k的相应值并且是最终状态张量的在(0,k,0)到(0,k,m)处的条目的矢量;以及
通过从每个初始输出矢量选择来自该初始输出矢量的相应最大条目使得所述输出矢量是来自每个所述初始输出矢量的相应最大条目的矢量,来生成表示所述系统输出的最终输出矢量。
14.一种存储指令的一个或多个非暂时性计算机可读存储介质,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机执行用于从系统输入生成系统输出的操作,所述操作包括:
接收神经网络输入,其中所述神经网络输入包括嵌入矢量的序列,其中所述序列中的每个嵌入矢量表示均从输入词汇表选择的输入序列中的对应输入,并且其中每个嵌入矢量具有尺寸m;
使用所述神经网络输入来初始化状态张量,其中所述状态张量是具有尺寸x乘y乘m的张量,其中x、y和m各自大于1,并且其中使用所述神经网络输入来初始化状态张量包括:
将所述序列中的每个嵌入矢量连接到所述状态张量的第一列中,并将所述状态张量的所有其他条目设定为零,使得所述序列中的每个位置j处的相应嵌入矢量被添加到条目(0,j,0)到(0,j,m)的状态张量中,并且所述状态张量的列1到x-1的全部中的条目被设定为零;以及
使用由一个或多个计算机实现的卷积门控递归神经网络CGRN来处理所述状态张量,其中所述CGRN被配置为:
通过以下步骤来重复地更新所述状态张量:对于多个时间步长中的每一个,通过经多个卷积门处理所述状态张量来更新所述状态张量,每个卷积门执行相应接收的状态张量和相应的核库之间的相应卷积,以及
通过由所述一个或多个计算机实现的输出神经网络层在所述多个时间步长中的最后时间步长之后处理所述状态张量来生成所述系统输出。
15.根据权利要求14所述的非暂时性计算机可读存储介质,其中,所述CGRN包括布置在序列中的多个卷积门控递归单元CGRU,并且其中,对于每个时间步长,所述序列中的最低CGRU被配置为:
接收在该时间步长时的状态张量并处理该时间步长时的状态张量以生成最低经更新的状态张量,并且其中,每个其他CGRU被配置为:
接收由所述序列中的前一个CGRU更新的状态张量;以及
更新所接收的状态张量。
16.根据权利要求15所述的非暂时性计算机可读存储介质,其中,每个CGRU包括主卷积门,并且其中,所述主卷积门被配置为生成满足u=σ(U'*s+B')的主卷积门输出u,其中,σ是sigmoid激活函数,s是由所述CGRU接收的状态张量,U'*s是所述主卷积门的核库和由所述CGRU接收的状态张量的卷积,并且B'是所述主卷积门的偏差矢量。
17.根据权利要求16所述的非暂时性计算机可读存储介质,其中,每个CGRU进一步包括遗忘卷积门,并且其中,所述遗忘卷积门被配置为生成满足r=σ(U”*s+B”)的遗忘卷积门输出r,其中,s是由所述CGRU接收的状态张量,U”*s是遗忘卷积门的核库和状态张量的卷积,并且B”是遗忘卷积门的偏差矢量。
18.根据权利要求17所述的非暂时性计算机可读存储介质,其中,由所述CGRU更新的所述经更新的内部状态CGRU(s)满足:
CGRU(s)=u·s(1-u)·tanh(U*(r·s)+B)
其中,U是GRU的核库,B是偏差矢量,并且r·s表示逐点矢量乘法。
19.根据权利要求14所述的非暂时性计算机可读存储介质,其中,所述输出神经网络层被配置为:
在所述多个时间步长中的最后时间步长之后接收所述状态张量;
在所述多个时间步长中的最后时间步长之后向所述状态张量的第一列的每个深度矢量应用输出参数矩阵以从该列的每个深度矢量生成相应的初始输出矢量,其中,第一列的每个深度矢量对应于k的相应值并且是最终状态张量的在(0,k,0)到(0,k,m)处的条目的矢量;以及
通过从每个初始输出矢量选择来自该初始输出矢量的相应最大条目使得所述输出矢量是来自每个所述初始输出矢量的相应最大条目的矢量,来生成表示所述系统输出的最终输出矢量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562254702P | 2015-11-12 | 2015-11-12 | |
US62/254,702 | 2015-11-12 | ||
PCT/US2016/061670 WO2017083752A1 (en) | 2015-11-12 | 2016-11-11 | Convolutional gated recurrent neural networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108351982A CN108351982A (zh) | 2018-07-31 |
CN108351982B true CN108351982B (zh) | 2022-07-08 |
Family
ID=57485886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680066470.5A Active CN108351982B (zh) | 2015-11-12 | 2016-11-11 | 卷积门控递归神经网络 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10977547B2 (zh) |
EP (1) | EP3360081A1 (zh) |
JP (1) | JP6676165B2 (zh) |
KR (1) | KR102271262B1 (zh) |
CN (1) | CN108351982B (zh) |
WO (1) | WO2017083752A1 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10229111B1 (en) * | 2016-02-03 | 2019-03-12 | Google Llc | Sentence compression using recurrent neural networks |
US10896367B2 (en) * | 2017-03-07 | 2021-01-19 | Google Llc | Depth concatenation using a matrix computation unit |
US10447635B2 (en) | 2017-05-17 | 2019-10-15 | Slice Technologies, Inc. | Filtering electronic messages |
EP3596665A1 (en) | 2017-05-19 | 2020-01-22 | Google LLC | Depthwise separable convolutions for neural machine translation |
US10334456B2 (en) * | 2017-07-06 | 2019-06-25 | Futurewei Technologies, Inc. | Optimizing cellular networks using deep learning |
US11106976B2 (en) | 2017-08-19 | 2021-08-31 | Wave Computing, Inc. | Neural network output layer for machine learning |
US10949328B2 (en) | 2017-08-19 | 2021-03-16 | Wave Computing, Inc. | Data flow graph computation using exceptions |
CN109492747A (zh) * | 2017-09-13 | 2019-03-19 | 杭州海康威视数字技术股份有限公司 | 一种神经网络的网络结构生成方法及装置 |
WO2019084254A1 (en) * | 2017-10-27 | 2019-05-02 | Wave Computing, Inc. | TENSEUR HANDLING IN A NEURONAL NETWORK |
WO2019089553A1 (en) * | 2017-10-31 | 2019-05-09 | Wave Computing, Inc. | Tensor radix point calculation in a neural network |
US10977546B2 (en) | 2017-11-29 | 2021-04-13 | International Business Machines Corporation | Short depth circuits as quantum classifiers |
CN107798385B (zh) * | 2017-12-08 | 2020-03-17 | 电子科技大学 | 基于块张量分解的循环神经网络稀疏连接方法 |
US10628295B2 (en) * | 2017-12-26 | 2020-04-21 | Samsung Electronics Co., Ltd. | Computing mechanisms using lookup tables stored on memory |
US10732929B2 (en) * | 2018-01-09 | 2020-08-04 | Samsung Electronics Co., Ltd. | Computing accelerator using a lookup table |
US11803883B2 (en) | 2018-01-29 | 2023-10-31 | Nielsen Consumer Llc | Quality assurance for labeled training data |
CN108282262B (zh) * | 2018-04-16 | 2019-11-26 | 西安电子科技大学 | 基于门控循环单元深度网络的智能时序信号分类方法 |
US10643092B2 (en) | 2018-06-21 | 2020-05-05 | International Business Machines Corporation | Segmenting irregular shapes in images using deep region growing with an image pyramid |
US10776923B2 (en) | 2018-06-21 | 2020-09-15 | International Business Machines Corporation | Segmenting irregular shapes in images using deep region growing |
EP3716366B1 (en) | 2018-07-10 | 2024-02-14 | LG Energy Solution, Ltd. | Method for preparing iron nitrate oxyhydroxide, cathode containing iron nitrate oxyhydroxide prepared thereby for lithium secondary battery, and lithium secondary battery comprising same |
US11645178B2 (en) | 2018-07-27 | 2023-05-09 | MIPS Tech, LLC | Fail-safe semi-autonomous or autonomous vehicle processor array redundancy which permits an agent to perform a function based on comparing valid output from sets of redundant processors |
CN111160516B (zh) * | 2018-11-07 | 2023-09-05 | 杭州海康威视数字技术股份有限公司 | 一种深度神经网络的卷积层稀疏化方法及装置 |
US11416733B2 (en) * | 2018-11-19 | 2022-08-16 | Google Llc | Multi-task recurrent neural networks |
CN111612489B (zh) * | 2019-02-25 | 2024-03-29 | 北京嘀嘀无限科技发展有限公司 | 订单量的预测方法、装置及电子设备 |
US11481472B2 (en) | 2019-04-01 | 2022-10-25 | Wave Computing, Inc. | Integer matrix multiplication engine using pipelining |
US11227030B2 (en) | 2019-04-01 | 2022-01-18 | Wave Computing, Inc. | Matrix multiplication engine using pipelining |
CN111693667A (zh) * | 2020-05-06 | 2020-09-22 | 杭州电子科技大学 | 一种基于门控递归阵列水质检测系统及方法 |
CN112052894B (zh) * | 2020-09-02 | 2023-02-07 | 北京理工大学 | 一种动力舱状态实时监控评价方法 |
US20220121901A1 (en) * | 2020-10-20 | 2022-04-21 | International Business Machines Corporation | Gated unit for a gated recurrent neural network |
WO2022232196A1 (en) * | 2021-04-26 | 2022-11-03 | The Trustees Of Dartmouth College | Low power analog circuitry for artificial neural networks |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102934131A (zh) * | 2010-04-14 | 2013-02-13 | 西门子公司 | 用于计算机辅助地学习递归神经网络以对动态系统建模的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007305072A (ja) | 2006-05-15 | 2007-11-22 | Sony Corp | 情報処理装置、情報処理方法、およびプログラム |
JP5368687B2 (ja) | 2007-09-26 | 2013-12-18 | キヤノン株式会社 | 演算処理装置および方法 |
US9165243B2 (en) * | 2012-02-15 | 2015-10-20 | Microsoft Technology Licensing, Llc | Tensor deep stacked neural network |
US9620108B2 (en) * | 2013-12-10 | 2017-04-11 | Google Inc. | Processing acoustic sequences using long short-term memory (LSTM) neural networks that include recurrent projection layers |
-
2016
- 2016-11-11 WO PCT/US2016/061670 patent/WO2017083752A1/en active Application Filing
- 2016-11-11 US US15/349,867 patent/US10977547B2/en active Active
- 2016-11-11 JP JP2018524364A patent/JP6676165B2/ja active Active
- 2016-11-11 CN CN201680066470.5A patent/CN108351982B/zh active Active
- 2016-11-11 EP EP16806343.6A patent/EP3360081A1/en not_active Ceased
- 2016-11-11 KR KR1020187016385A patent/KR102271262B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102934131A (zh) * | 2010-04-14 | 2013-02-13 | 西门子公司 | 用于计算机辅助地学习递归神经网络以对动态系统建模的方法 |
Non-Patent Citations (2)
Title |
---|
Gated Feedback Recurrent Neural Networks;Junyoung Chung 等;《https://arxiv.org/pdf/1502.02367.pdf》;20150611;第2-5页 * |
Junyoung Chung 等.Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling.《https://arxiv.org/pdf/1412.3555.pdf》.2014, * |
Also Published As
Publication number | Publication date |
---|---|
US10977547B2 (en) | 2021-04-13 |
JP2018533804A (ja) | 2018-11-15 |
KR20180082531A (ko) | 2018-07-18 |
US20170140263A1 (en) | 2017-05-18 |
KR102271262B1 (ko) | 2021-06-30 |
CN108351982A (zh) | 2018-07-31 |
JP6676165B2 (ja) | 2020-04-08 |
EP3360081A1 (en) | 2018-08-15 |
WO2017083752A1 (en) | 2017-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108351982B (zh) | 卷积门控递归神经网络 | |
US11741366B2 (en) | Compressed recurrent neural network models | |
EP3574454B1 (en) | Learning neural network structure | |
EP3459021B1 (en) | Training neural networks using synthetic gradients | |
US20210110115A1 (en) | Selecting actions using multi-modal inputs | |
EP3371747B1 (en) | Augmenting neural networks with external memory | |
EP4312157A2 (en) | Progressive neurale netzwerke | |
US11200482B2 (en) | Recurrent environment predictors | |
WO2017136070A1 (en) | Compressed recurrent neural network models | |
US20200410365A1 (en) | Unsupervised neural network training using learned optimizers | |
US11144782B2 (en) | Generating video frames using neural networks | |
US11755879B2 (en) | Low-pass recurrent neural network systems with memory | |
US10635972B1 (en) | Recurrent neural networks with rectified linear units | |
CN114492758A (zh) | 使用逐层损失来训练神经网络 | |
US20190294967A1 (en) | Circulant neural networks | |
US10482373B1 (en) | Grid long short-term memory neural networks | |
WO2023059737A1 (en) | Self-attention based neural networks for processing network inputs from multiple modalities |
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 |