GRUCell#
バージョン名: GRUCell-3
カテゴリー: シーケンス処理
簡単な説明: RNNCell は、論文で説明されている式で出力を計算する単一の GRU セルを表します。
詳細な説明: GRUCell は、次の式で現在のタイムステップの出力 Ht を計算します:
式: * - 行列乗算
(.)- 甘ダール積(要素ごと)
[,] - 連結
f, g - は活性化関数。
zt = f(Xt*(Wz^T) + Ht-1*(Rz^T) + Wbz + Rbz)
rt = f(Xt*(Wr^T) + Ht-1*(Rr^T) + Wbr + Rbr)
ht = g(Xt*(Wh^T) + (rt (.)Ht-1)*(Rh^T) + Rbh + Wbh) # default, when linear_before_reset = 0
ht = g(Xt*(Wh^T) + (rt (.)(Ht-1*(Rh^T) + Rbh)) + Wbh) # when linear_before_reset != 0
Ht = (1 - zt) (.) ht + zt (.)Ht-1
属性
hidden_size
説明: hidden_size は隠れ状態のサイズを指定します。
値の範囲: 正の整数
タイプ:
int
必須: はい
activations
説明: ゲートの活性化関数
値の範囲: relu、sigmoid、tanh の任意の組み合わせ
タイプ: 文字列のリスト
デフォルト値: f は sigmoid、g は tanh
必須: いいえ
activations_alpha、activations_beta
説明: activates_alpha、activations_beta 関数の属性
値の範囲: 浮動小数点数のリスト
タイプ:
float[]
デフォルト値: なし
必須: いいえ
clip
説明: clip は、活性化の前にテンソル・クリッピングの値を [-C, C] に指定します。
値の範囲: 正の浮動小数点数
タイプ:
float
デフォルト値: infinity はクリッピングが適用されないことを意味します
必須: いいえ
linear_before_reset
説明: linear_before_reset フラグは、ONNX ドキュメントの式で説明されている GRUCell の変更に従ってレイヤーが動作するかどうかを示します。
値の範囲: true または false
タイプ:
boolean
デフォルト値 : false
必須: いいえ
入力
1:
X
- タイプ T[batch_size, input_size]
の 2D テンソル、入力データ。必須。2:
initial_hidden_state
- タイプ T[batch_size, hidden_size]
の 2D テンソル。必須。3:
W
- タイプ T[3 * hidden_size, input_size]
の 2D テンソル、行列乗算の重み、ゲートオーダー: zrh必須。4:
R
- タイプ T[3 * hidden_size, hidden_size]
の 2D テンソル、行列乗算の再帰重み、ゲートオーダー: zrh必須。5:
B
- T タイプの 1D テンソル。linear_before_reset が 1 に設定されている場合、形状は[4 * hidden_size]
- z ゲートと r ゲートのバイアス (重みと再帰重み) の合計であり、h ゲートのバイアスは個別に配置されます。それ以外は、形状は[3 * hidden_size]
、つまりバイアス (重みと反復重み) の合計になります。オプション。
出力
1:
Ho
- タイプ T[batch_size, hidden_size]
の 2D テンソル、隠し状態の最後の出力値。
タイプ
T: サポートされている浮動小数点タイプ。
例
<layer ... type="GRUCell" ...>
<data hidden_size="128" linear_before_reset="1"/>
<input>
<port id="0">
<dim>1</dim>
<dim>16</dim>
</port>
<port id="1">
<dim>1</dim>
<dim>128</dim>
</port>
<port id="2">
<dim>384</dim>
<dim>16</dim>
</port>
<port id="3">
<dim>384</dim>
<dim>128</dim>
</port>
<port id="4">
<dim>768</dim>
</port>
</input>
<output>
<port id="5">
<dim>1</dim>
<dim>128</dim>
</port>
</output>
</layer>