gpt4 book ai didi

machine-learning - Ada-Delta 方法在具有 MSE 损失和 ReLU 激活的去噪自动编码器中使用时不会收敛?

转载 作者:行者123 更新时间:2023-11-30 08:44:24 25 4
gpt4 key购买 nike

我刚刚为我自己的深度神经网络库实现了 AdaDelta ( http://arxiv.org/abs/1212.5701 )。这篇论文说的是 AdaDelta 的 SGD 对超参数不敏感,并且它总是收敛到好的地方。 (至少AdaDelta-SGD的输出重建损失与经过良好调整的Momentum方法相当)

当我在去噪自动编码器中使用 AdaDelta-SGD 作为学习方法时,它确实在某些特定设置中收敛,但并非总是如此。当我使用MSE作为损失函数,Sigmoid作为激活函数时,它收敛得很快,经过100个epoch的迭代,最终的重建损失优于所有普通SGD、带有Momentum的SGD和AdaGrad。

但是当我使用 ReLU 作为激活函数时,它没有收敛,而是继续以高(坏)重建损失堆叠(振荡)(就像使用具有非常高学习率的普通 SGD 时的情况一样)。它叠加的重建损失的大小比Momentum方法生成的最终重建损失大约高10到20倍。

我真的不明白为什么会发生这种情况,因为报纸上说 AdaDelta 很好。请让我知道这些现象背后的原因,并教我如何避免它。

最佳答案

ReLU 的激活是无界的,这使得它在自动编码器中的使用变得困难,因为您的训练向量可能没有任意大且无界的响应! ReLU 根本不适合这种类型的网络。

您可以通过对输出层应用一些转换来强制将 ReLU 转换为自动编码器,如 done here 。然而,嘿,不要讨论自动编码器的结果质量,而只是作为分类的预训练方法。因此,尚不清楚构建自动编码器是否值得付出努力。

关于machine-learning - Ada-Delta 方法在具有 MSE 损失和 ReLU 激活的去噪自动编码器中使用时不会收敛?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24830365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com