chainer.functions.
n_step_rnn
(n_layers, dropout_ratio, hx, ws,
bs, xs, activation='tanh')[source]¶
シーケンス入力のための積層一方向 RNN 関数。
この関数はシーケンスを伴う積層一方向RNNを計算します。隠れ状態の初期値h0、セル状態の初期値 c0 、入力シーケンス x、 荷重行列 W、バイアスベクトルb. を取得します。また、各時間 t において、入力 xtから隠れ状態 ht と ctを計算します。h0c0xWbhtcttxt
は活性関数。
荷重行列 W
は2つの行列 Wf と Wbを含みます。 Wf は順方向のRNNの荷重行列です。Wb逆方向のRNNの荷重行列です。
Wf
は入力シーケンスのための Wf0 と隠れ状態のための Wf1 を含みます。 Wb は入力シーケンスのための Wb0 と隠れ状態のための Wb1を含みます。
バイアス行列 b
は2つの行列 bf と bfを含みます。 bf は入力シーケンスのための bf0 と隠れ状態のための bf1を含みます。 bb は入力シーケンスのための bb0 と隠れ状態のための bb1を含みます。
この関数はシーケンスを受容するので、全ての t
における ht を一度の呼び出しで計算します。 2つの荷重行列と2つのバイアスベクトルは各層について必要になります。ですからS層が存在する場合、2S 個の荷重行列と 2S個のバイアスベクトルを用意する必要があります。
層の数 n_layers
が1
k
層目の入力は k-1
層目の隠れ状態h_t
です。1層目を除く全ての層の入力値は、1層目と異なるshapeである可能性があることに、注意してください。ht=f(W0xt+W1ht−1+b0+b1)
train
と use_cudnn
引数はv2以降サポートされません。替わりにそれぞれchainer.using_config('train', train)
とchainer.using_config('use_cudnn', use_cudnn)
を使用してください。
chainer.using_config()
をお読みください。
Parameters: |
|
---|---|
Returns: |
この関数は3つの要素(訳注:2つ?)
|
Return type: |