chainer.functions.
n_step_birnn
(n_layers, dropout_ratio, hx, ws,
bs, xs, activation='tanh')[source]¶
シーケンス入力のための積層型双方向(Bi-dimensional)RNN関数。
この関数は シーケンス入力のための積層型双方向(Bi-dimensional)RNN関数を演算します。隠れ状態の初期値h0h0、セル状態の初期値 c0c0 、入力シーケンス xx、 荷重行列 WW、バイアスベクトルbb. を取得します。また、各時間 tt において、入力 xtxtから隠れ状態 htht と ctctを計算します。
ただし ff は活性関数。
荷重行列 WW は2つの行列 WfWf と WbWbを含みます。 WfWf は順方向のRNNの荷重行列です。WbWb 逆方向のRNNの荷重行列です。
WfWf は入力シーケンスのための Wf0W0f と隠れ状態のための Wf1W1f を含みます。 WbWb は入力シーケンスのための Wb0W0b と隠れ状態のための Wb1W1b を含みます。
バイアス行列 bb は2つの行列 bfbf と bfbfを含みます。 bfbf は入力シーケンスのための bf0b0f と隠れ状態のための bf1b1fを含みます。 bbbb は入力シーケンスのための bb0b0b と隠れ状態のための bb1b1b を含みます。
この関数はシーケンスを受容するので、全ての tt における htht を一度の呼び出しで計算します。 2つの荷重行列と2つのバイアスベクトルは各層について必要になります。ですからSS層が存在する場合、2S2S 個の荷重行列と 2S2S 個のバイアスベクトルを用意する必要があります。
層の数 n_layers
が11より大きい場合、 k
層目の入力は k-1
層目の隠れ状態h_t
です。1層目を除く全ての層の入力値は、1層目と異なるshapeである可能性があることに、注意してください。
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: |