格勒乌

封闭的复发性单元

描述

门控循环单元(GRU)操作允许网络学习时间序列和序列数据中时间步骤之间的依赖关系。

请注意

该函数应用了GRU深度学习操作dlarray数据。如果您想在一个分层图反对或数组,使用下面的图层:

例子

海底=格勒乌(dlXH0砝码recurrentWeights偏见对输入应用选通循环单位(GRU)计算dlX使用初始隐藏状态H0,以及参数砝码recurrentWeights偏见。输入dlX是一个格式化的dlarray与尺寸标签。输出海底是一个格式化的dlarray使用与相同的标注标签dlX,但任何“年代”维度。

格勒乌函数使用双曲正切函数(tanh)作为状态激活函数来更新隐藏状态。的格勒乌函数使用给出的s形函数 σ x 1 + e x 1 作为门激活功能。

(海底hiddenState) =格勒乌(dlXH0砝码recurrentWeights偏见还返回GRU操作后的隐藏状态。

(___) =格勒乌(___,“数据格式”,FMT还指定维度格式FMTdlX不是格式化的dlarray.输出海底是一个无格式的dlarray具有与相同的维度顺序dlX,但任何“年代”维度。

例子

全部折叠

使用100个隐藏单位执行GRU操作。

创建输入序列数据为32个观测值,10个通道,序列长度为64。

numFeatures = 10;numObservations = 32;sequenceLength = 64;X = randn (numFeatures numObservations sequenceLength);dlX = dlarray (X,“CBT”);

使用100个隐藏单位创建初始隐藏状态。对所有观察使用相同的初始隐藏状态。

numHiddenUnits = 100;H0 = 0 (numHiddenUnits, 1);

为GRU操作创建可学习的参数。

权重=dlarray(randn(3*numHiddenUnits,numFeatures));递归权重=dlarray(randn(3*numHiddenUnits,numHiddenUnits));偏差=dlarray(randn(3*numHiddenUnits,1));

执行GRU计算。

[dlY,hiddenState]=gru(dlX,H0,权重,重复权重,偏差);

查看的尺寸和尺寸标签海底

大小(海底)
ans =1×3100 32 64
dlY.dims
ans='CBT'

查看hiddenState

大小(hiddenState)
ans =1×2100年32

您可以使用隐藏状态跟踪GRU操作的状态,并输入进一步的顺序数据。

输入参数

全部折叠

输入数据,指定为dlarray带或不带标注标签或数字数组。当dlX不是格式化的dlarray,必须使用指定标注标签格式“数据格式”,FMT。如果dlX是一个数字数组,至少是H0砝码recurrentWeights,或偏见必须是一个dlarray

dlX必须包含标记为的序列维度“T”。如果dlX是否标记了任何空间维度“年代”,它们被压扁成“C”通道尺寸。如果dlX是否有未指明的尺寸标注“U”,它们必须是单例的。

数据类型:|

初始隐藏状态向量,指定为dlarray有或没有维度标签或数字数组。

如果H0是一个格式化的dlarray,它必须包含标记的通道维度“C”以及可选的批处理尺寸标记“B”和它的大小一样“B”尺寸dlX。如果H0没有“B”维数,函数使用相同的隐藏状态向量对每个观测dlX

如果H0是一个格式化的dlarray,然后是“C”尺寸确定隐藏单位的数量。否则,第一个尺寸标注的大小将决定隐藏单位的数量。

数据类型:|

权重,指定为dlarray有或没有维度标签或数字数组。

指定砝码作为大小矩阵3 * NumHiddenUnits-借-输入大小,在那里NumHiddenUnits大小是多少“C”尺寸H0输入大小大小是多少“C”尺寸dlX乘以每一个的大小“年代”尺寸dlX,礼物。

如果砝码是一个格式化的dlarray,它必须包含一个“C”尺寸3 * NumHiddenUnits“U”尺寸输入大小

数据类型:|

循环权重,指定为dlarray有或没有维度标签或数字数组。

指定recurrentWeights作为大小矩阵3 * NumHiddenUnits-借-NumHiddenUnits,在那里NumHiddenUnits大小是多少“C”尺寸H0

如果recurrentWeights是一个格式化的dlarray,它必须包含一个“C”尺寸3 * NumHiddenUnits“U”尺寸NumHiddenUnits

数据类型:|

偏差,指定为dlarray带或不带标注标签的向量或数字向量。

指定偏见作为一个长度向量3 * NumHiddenUnits,在那里NumHiddenUnits大小是多少“C”尺寸H0

如果偏见是一个格式化的dlarray,非Singleton标注必须标记为“C”

数据类型:|

未格式化输入数据的维度顺序,指定为逗号分隔对,由“数据格式”和一个字符数组或字符串FMT为数据的每个维度提供一个标签。每个字符在FMT必须是下列情况之一:

  • “年代”——空间

  • “C”——频道

  • “B”-批次(例如,样品和观察)

  • “T”-时间(例如,序列)

  • “U”——未指明的

可以指定多个标注“年代”“U”。你可以使用标签“C”“B”“T”最多一次。

您必须指定“数据格式”,FMT当输入数据dlX不是格式化的dlarray

例子:“数据格式”、“SSCB”

数据类型:烧焦|字符串

输出参数

全部折叠

GRU输出,作为dlarray.输出海底与输入具有相同的基础数据类型dlX

如果输入数据dlX是一个格式化的dlarray海底具有与相同的标注标签dlX,但任何“年代”维度。如果输入数据没有格式化dlarray海底是一个无格式的dlarray与输入数据的维度顺序相同。

大小“C”尺寸海底与隐藏单元的数量相同,由“C”尺寸H0

每个观测值的隐藏状态向量,作为dlarray或具有与相同数据类型的数字数组H0

如果输入H0是一个格式化的dlarray,则输出hiddenState是一个格式化的dlarray的格式“CB”

局限性

  • functionToLayerGraph不支持万博1manbetx格勒乌函数。如果你使用functionToLayerGraph的函数格勒乌操作,由此产生的LayerGraph包含占位符层。

更多关于

全部折叠

封闭的复发性单元

GRU操作允许网络学习时间序列和序列数据中时间步骤之间的依赖关系。有关更多信息,请参见选通循环单元层定义上的gruLayer参考页。

工具书类

[1] Cho, Kyunghyun, Bart Van Merriënboer, Caglar Gulcehre, Dzmitry Bahdanau, Fethi Bougares, Holger Schwenk, Yoshua Bengio。使用RNN编码器-解码器学习短语表示,用于统计机器翻译。arXiv预印本arXiv: 1406.1078(2014).

扩展功能

介绍了R2020a