我在RNN上關注this tutorial,其中在第177行執行了以下代碼。爲什麼我們clip_by_global_norm在執行RNN時獲得梯度
max_grad_norm = 10
....
grads, _ = tf.clip_by_global_norm(tf.gradients(cost, tvars), max_grad_norm)
optimizer = tf.train.GradientDescentOptimizer(self.lr)
self._train_op = optimizer.apply_gradients(zip(grads, tvars),
global_step=tf.contrib.framework.get_or_create_global_step())
爲什麼我們要做clip_by_global_norm
? max_grad_norm
的價值是如何決定的?
查找_exploding漸變problem_。 – Styrke