TensorFlowがtf.train.GradientDescentOptimizer
のグラデーションをどのように計算するかを理解しようとしています。TensorFlowはtf.train.GradientDescentOptimizerのグラデーションをどのように計算しますか?
TensorFlowホワイトペーパーのセクション4.1を正しく理解すると、元のグラフのノードの導出を計算するノードをTensorFlowグラフに追加することで、バックプロパゲーションに基づいてグラディエントを計算します。 TensorFlow Cは異なりIれているいくつかのテンソルに対してテンソルCの勾配を計算する必要がある場合
、それは最初のCにIから計算グラフ内のパスを見つけそしてそれは、CからIまで後戻り後方パス上の各操作について、ノードをTensorFlowグラフに追加し、チェーンルールを使用して後方パスに沿って部分勾配を構成する。新たに追加されたノードは、往路の対応する演算の「勾配関数」を計算する。任意の操作によって勾配関数を登録することができる。この関数は、逆方向パスに沿って既に計算された部分勾配だけでなく、オプションで順方向操作の入力と出力を入力として取ります。 [Section 4.1 TensorFlow whitepaper]
質問1:オリジナルTensorFlowノードの派生を表す各TensorFlowノードの第2ノードの実装がありますか?
質問2:どの派生ノードがグラフ(またはログ)に追加されるのかを視覚化する方法はありますか?
カーネルの各ノードに対してバックプロパテート値を計算するメソッドは自動的に生成されますか? – Paul
はカーネルごとに手作業で実装されています –