Python 使用渐变剪裁生成对抗性文本,仍然面临渐变爆炸
我正在训练一个具有生成性对抗网络的文本生成模型。 作为一种常用方法,我使用了Python 使用渐变剪裁生成对抗性文本,仍然面临渐变爆炸,python,tensorflow,deep-learning,Python,Tensorflow,Deep Learning,我正在训练一个具有生成性对抗网络的文本生成模型。 作为一种常用方法,我使用了tf.clip\u by\u global\u norm()来避免梯度问题。然而,即使我使用了渐变剪裁,我仍然面临渐变爆炸问题,错误是由tf.clip\u by\u global\u norm()函数引起的。 文档中说:如果global\u norm==infinity,那么t\u列表中的条目都设置为NaN,表示发生了错误 我几乎找不到这种情况的问题根源,因为我相信tf.clip\u by\u global\u norm
tf.clip\u by\u global\u norm()
来避免梯度问题。然而,即使我使用了渐变剪裁,我仍然面临渐变爆炸问题,错误是由tf.clip\u by\u global\u norm()
函数引起的。
文档中说:如果global\u norm==infinity
,那么t\u列表中的条目都设置为NaN
,表示发生了错误
我几乎找不到这种情况的问题根源,因为我相信tf.clip\u by\u global\u norm
绝对可以避免梯度问题。你试过tf.clip\u by\u value吗?您可以将clip_value_min设置为-1,将max设置为1。
如果对文本使用嵌入矩阵,则嵌入值不应大于1
另一方面,人们已经尝试使用GAN的文本生成,但结果不是很好