解决 VAE 中的爆炸梯度

Posted

技术标签:

【中文标题】解决 VAE 中的爆炸梯度【英文标题】:Resolve exploding gradient in VAE 【发布时间】:2019-09-09 09:08:30 【问题描述】:

如何解决深度生成模型 (VAE) 中的爆炸梯度?

注意:数据集的列中包含很多 NaN 值

【问题讨论】:

【参考方案1】:

我不确定 VAE 是否具有典型的爆炸梯度。这可能是您的代码中的另一个问题。然而,爆炸梯度通常通过梯度裁剪来解决:

weights = weights*clipping_threshold/l2_norm(weights)

其中clipping_threshold 等于1。

【讨论】:

【参考方案2】:

默认情况下,VAE 无法处理丢失的数据。首先清理您的数据或尝试应用一些方法来处理丢失的数据,即:

https://arxiv.org/abs/2006.05301

【讨论】:

以上是关于解决 VAE 中的爆炸梯度的主要内容,如果未能解决你的问题,请参考以下文章

RNN 梯度消失/爆炸问题的解决方法

RNN 梯度消失/爆炸问题的解决方法

机器学习梯度消失和梯度爆炸的原因分析表现及解决方案

机器学习梯度消失和梯度爆炸的原因分析表现及解决方案

loss出现Nan的解决办法(梯度爆炸)

出现梯度消失和梯度爆炸的原因及解决方案