首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ada-Delta方法用于MSE损失和ReLU激活的AutoEncoder去噪时不收敛?

Ada-Delta方法用于MSE损失和ReLU激活的AutoEncoder去噪时不收敛?
EN

Stack Overflow用户
提问于 2014-07-19 01:06:07
回答 1查看 2.5K关注 0票数 3

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

当我在去噪AutoEncoder中使用AdaDelta作为学习方法时,它确实在某些特定的设置下收敛,但并不总是收敛。当我使用均方误差作为损失函数,Sigmoid作为激活函数时,它非常快地收敛,并且经过100个时期的迭代,最终的重建损失比所有的平面SGD,动量SGD和AdaGrad都要好。

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

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

EN

回答 1

Stack Overflow用户

发布于 2014-07-20 02:03:44

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

done here一样,您可以通过对输出层应用一些转换来强制将ReLU转换为自动编码器。然而,嘿并没有从自动编码器的角度来讨论结果的质量,而只是作为一种分类的预训练方法。因此,这是不是值得努力建立一个自动编码器也不清楚。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24830365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档