主要内容

格勒乌

封闭的复发性单元

自从R2020a

描述

封闭的复发性单元(格勒乌)操作允许网络学习时间步骤时间序列和序列数据之间的依赖关系。

请注意

这个函数应用深度学习格勒乌操作dlarray数据。如果你想应用在格勒乌操作layerGraph对象或数组,使用以下层:

例子

Y=格勒乌(X,H0,权重,recurrentWeights,偏见)一个封闭的复发性单元(格勒乌)计算适用于输入X使用最初的隐藏状态H0和参数权重,recurrentWeights,偏见。输入X必须是一个格式化的dlarray。输出Y是一个格式化的dlarray同样的尺寸格式X,除了任何“S”维度。

格勒乌函数使用双曲正切函数更新隐藏的状态(双曲正切)状态激活函数。的格勒乌函数使用的s形的函数 σ ( x ) = ( 1 + e x ) 1 随着门激活函数。

(Y,hiddenState)=格勒乌(X,H0,权重,recurrentWeights,偏见)格勒乌操作后还返回隐藏状态。

___=格勒乌(X,H0,权重,recurrentWeights,偏见,DataFormat = FMT)还指定了尺寸格式FMTX不是一个格式化的dlarray。输出Y是一个非格式化dlarray顺序相同的维度X,除了任何“S”维度。

___=格勒乌(X,H0,权重,recurrentWeights,偏见名称=值)使用一个或多个名称参数指定附加选项。

例子

全部折叠

使用100隐藏单位执行格勒乌操作。

创建输入序列数据32观察十频道和序列长度为64。

numFeatures = 10;numObservations = 32;sequenceLength = 64;X = randn (numFeatures numObservations sequenceLength);X = dlarray (X,“认知行为治疗”);

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

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

创建可学的格勒乌操作的参数。

重量= dlarray (randn (3 * numHiddenUnits numFeatures));recurrentWeights = dlarray (randn (3 * numHiddenUnits numHiddenUnits));偏见= dlarray (randn (3 * numHiddenUnits, 1));

执行格勒乌计算。

[Y, hiddenState] =格勒乌(X, H0重量、recurrentWeights、偏差);

视图的大小和尺寸格式输出。

大小(Y)
ans =1×3100 32 64
Y.dims
ans =“认知行为治疗”

视图的大小隐藏状态。

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

您可以使用隐藏的状态跟踪的状态进一步格勒乌操作和输入序列数据。

输入参数

全部折叠

输入数据,指定为一个格式化的dlarray,一个非格式化dlarray或数字数组。当X不是一个格式化的dlarray,您必须指定维度标签格式使用DataFormat名称-值参数。如果X是一个数值数组,至少有一个的H0,权重,recurrentWeights,或偏见必须是一个dlarray

X必须包含一个序列维标签吗“T”。如果X有任何空间维度标签吗“S”,它们夷为平地“C”通道尺寸。如果X没有一个通道尺寸,然后一个是补充道。如果X尺寸标注不明确吗“U”,他们必须独立。

数据类型:|

最初的隐藏状态向量,指定为一个格式化的dlarray,一个非格式化dlarray或数字数组。

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

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

数据类型:|

重量、指定为一个格式化的dlarray,一个非格式化dlarray或数字数组。

指定权重矩阵的大小3 * NumHiddenUnits——- - - - - -InputSize,在那里NumHiddenUnits的大小吗“C”维度的H0,InputSize的大小吗“C”维度的X乘以每个的大小“S”维度的X,礼物。

如果权重是一个格式化的dlarray,它必须包含一个“C”尺寸的大小3 * NumHiddenUnits和一个“U”尺寸的大小InputSize

数据类型:|

经常性的权重,指定为一个格式化的dlarray,一个非格式化dlarray或数字数组。

指定recurrentWeights矩阵的大小3 * NumHiddenUnits——- - - - - -NumHiddenUnits,在那里NumHiddenUnits的大小吗“C”维度的H0

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

数据类型:|

偏见,指定为一个格式化的dlarray,一个非格式化dlarray或数字数组。

指定偏见作为一个向量的长度3 * NumHiddenUnits,在那里NumHiddenUnits的大小吗“C”维度的H0

如果偏见是一个格式化的dlarray必须贴上,nonsingleton维度“C”

数据类型:|

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:Y =格勒乌(X, H0重量、recurrentWeights、偏见,DataFormat =“施”)应用格勒乌操作和指定的数据格式“施”(通道、时间、批次)。

维度的非格式化输入数据,指定为一个特征向量或字符串标量FMT为每个维度的数据提供一个标签。

当你指定的格式dlarray对象,每个字符为每个维度的数据提供了一个标签,必须这些选项之一:

  • “S”——空间

  • “C”——频道

  • “B”批处理(例如,样品和观察)

  • “T”时间(例如,时间序列的步骤)

  • “U”——未指明的

您可以指定多个维度标签“S”“U”。您可以使用标签“C”,“B”,“T”最多一次。

您必须指定DataFormat当输入数据不是一个格式化的dlarray

数据类型:字符|字符串

自从R2023a

重置门模式下,指定为以下之一:

  • “after-multiplication”——申请重置门后的矩阵乘法。这个选项是cuDNN兼容。

  • “before-multiplication”——申请重置门之前矩阵乘法。

  • “recurrent-bias-after-multiplication”——申请重置门后矩阵乘法和使用一组额外的偏见条款复发性权重。

更多信息重置门计算,看到封闭的复发性单元层定义上的gruLayer参考页面。

输出参数

全部折叠

格勒乌输出,作为一个返回dlarray。输出Y有相同的底层数据类型作为输入X

如果输入数据X是一个格式化的dlarray,Y有相同的尺寸格式吗X,除了任何“S”维度。如果没有一个格式化的输入数据dlarray,Y是一个非格式化dlarray相同的尺寸订单作为输入数据。

的大小“C”维度的Y是一样的隐藏单位的数量,规定的大小“C”维度的H0

为每个观察隐藏状态向量,作为一个返回dlarray或数字数组数据类型一样H0

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

更多关于

全部折叠

封闭的复发性单元

格勒乌操作允许网络学习时间步骤时间序列和序列数据之间的依赖关系。有关更多信息,请参见封闭的复发性单元层定义上的gruLayer参考页面。

引用

[1]曹、Kyunghyun Bart Van Merrienboer卡Gulcehre, Dzmitry Bahdanau, Fethi Bougares, Holger Schwenk, Yoshua Bengio。“学习使用短语表示RNN encoder-decoder统计机器翻译。”arXiv预印本arXiv: 1406.1078(2014)。

扩展功能

版本历史

介绍了R2020a

全部展开