問題: 非常に長い RNN ネット
N1 -- N2 -- ... --- N100
のようなオプティマイザーの場合AdamOptimizer
、 はcompute_gradient()
すべてのトレーニング変数に勾配を与えます。
ただし、一部のステップで爆発する可能性があります。
how-to-effectively-apply-gradient-clipping-in-tensor-flow のようなメソッドは、 大きな最終勾配をクリップできます。
しかし、それらの中間のものを切り取る方法は?
1 つの方法は、"N100 --> N99" から手動で backprop を実行し、勾配をクリップしてから "N99 --> N98" などを行うことですが、これは複雑すぎます。
私の質問は次のとおりです。中間のグラデーションをクリップする簡単な方法はありますか? (もちろん、厳密に言えば、それらは数学的な意味での勾配ではありません)