2016-11-06 6 views
1

テンソルフローの自動微分を使用する場合、正確にどの変数が各反復を更新しますか?Tensorflowはすべての変数を訓練していますか?

たとえば、状態変数付きのバニラRNNを使用していた場合、自動的に差異を計算して勾配を計算し、損失の一因となる時間間隔ごとに更新しますか?

例えば、バニラRNNのための方程式は次のようになります

h_t = X_T W_x + H_ {T-1} W_h + B の値を更新するために知っているtensorflowどのよう

W_x,W_h,bh_ {t-1}

申し訳ありませんが、わかりやすいものがありません。

+0

あなたが 'opt.minimize'を呼び出すと、あなたが差別化する変数のリストを与えることができるので、最小化したい場合は" h_t "を与えることができます –

答えて

0

RNNの状態は、訓練可能なテンソルフロー変数として定義されていません。それは、他のノードを接続するために使用される単なるグラフのノードです。逆に、重み行列W_xおよびW_hは、テンソルフロー変数として、tf.Variable(..., trainable = True)と明示的に定義されています。勾配は、訓練可能な変数に関して計算されるので、最適化プロセス中に更新されるオブジェクトのみである。

関連する問題