GRUBブロックセル

パブリック最終クラスGRUBlockCell

1 タイム ステップの GRU セル順方向伝播を計算します。

Args x: GRU セルへの入力。 h_prev: 前の GRU セルからの状態入力。 w_ru: リセットおよび更新ゲートの重み行列。 w_c: セル接続ゲートの重み行列。 b_ru: リセットおよびアップデート ゲートのバイアス ベクトル。 b_c: セル接続ゲートのバイアス ベクトル。

戻り値 r: リセットゲートの出力。 u: アップデートゲートの出力。 c: セル接続ゲートの出力。 h: GRU セルの現在の状態。

変数の表記に関する注意:

a と b の連結は a_b で表されます a と b の要素ごとの内積は ab で表されます 要素ごとの内積は \circ で表されます 行列の乗算は * で表されます

バイアスは次のように初期化されます: `b_ru` - constant_initializer(1.0) `b_c` - constant_initializer(0.0)

このカーネル演算は、次の数式を実装します。

x_h_prev = [x, h_prev]
 
 [r_bar u_bar] = x_h_prev * w_ru + b_ru
 
 r = sigmoid(r_bar)
 u = sigmoid(u_bar)
 
 h_prevr = h_prev \circ r
 
 x_h_prevr = [x h_prevr]
 
 c_bar = x_h_prevr * w_c + b_c
 c = tanh(c_bar)
 
 h = (1-u) \circ c + u \circ h_prev
 

パブリックメソッド

出力<T>
c ()
static <T extends Number> GRUBlockCell <T>
create (スコープscope,オペランド<T>x,オペランド<T>hPrev,オペランド<T>wRu,オペランド<T>wC,オペランド<T>bRu,オペランド<T>bC)
新しい GRUBlockCell オペレーションをラップするクラスを作成するためのファクトリ メソッド。
出力<T>
()
出力<T>
()
出力<T>
()

継承されたメソッド

パブリックメソッド

public出力<T> c ()

public static GRUBlockCell <T> create (スコープscope、オペランド<T> x、オペランド<T> hPrev、オペランド<T> wRu、オペランド<T> wC、オペランド<T> bRu、オペランド<T> bC)

新しい GRUBlockCell オペレーションをラップするクラスを作成するためのファクトリ メソッド。

パラメータ
範囲現在のスコープ
返品
  • GRUBlockCell の新しいインスタンス

public出力<T> h ()

public出力<T> r ()

public出力<T> u ()