CNN中的ReLu和Dropout

18

我正在学习卷积神经网络,对CNN中的某些层感到困惑。

关于ReLu...我只知道它是无限逻辑函数之和,但ReLu并不连接任何上层。我们为什么需要ReLu,它是如何工作的?

关于Dropout...Dropout是如何工作的?我听了G. Hinton的一个视频讲座。他说有一个策略,就是在训练权重时随机忽略一半的节点,并在预测时减半权重。他说这受到了随机森林的启发,其工作方式与计算这些随机训练模型的几何平均值完全相同。

这个策略和Dropout是否相同?

有人能帮我解决这个问题吗?


1
一个非常好的资源是由Marc'Aurelio Ranzato所撰写的CVPR 2014大规模视觉识别教程。它详细介绍了这两个主题。 - deltheil
@deltheil,非常抱歉,但我在您提供的论文中没有找到有关dropout的任何信息。在文档中搜索“dropout”只返回三个出现,都只是提到dropout在这里使用。您是否有详细介绍dropout的页面号码?我已经仔细阅读了整篇文章,但没有找到有关dropout的内容。 - DBX12
1个回答

25

ReLu(修正线性单元): 修正线性单元是一种激活函数,f(x) = Max(0, x),可以像其他激活函数一样被神经元使用,使用修正线性单元作为激活函数的节点称为 ReLu 节点。主要原因是与更常规的激活函数(如 sigmoid 和双曲正切)相比,它能够更高效地计算,而且不会对泛化精度造成显著影响。修正线性单元激活函数用于添加非线性到网络中,否则网络只能计算线性函数。

Dropout: 是的,所描述的技术与 dropout 相同。随机忽略节点的原因在于防止节点之间出现相互依赖(即节点不学习依赖于另一个节点输入值的函数),这使得网络可以学习到更加稳健的关系。实现 dropout 与从网络委员会中取平均值具有几乎相同的效果,但其时间和存储成本都显著较低。


1
ReLu是否连接到上层?我检查了AlexNet在imagenet任务中的架构。看起来ReLu是一个独立的层。如果是这样,它就不会将值传递给上层。为什么我们需要这个“无关”的层呢? - user3783676
4
一个ReLu只是一个实现整流激活函数*max(0, n)*的单个神经元,而不是一个全新的层。虽然报告没有说明具体细节,但看起来这种激活函数在网络中的每个神经元上都被使用,在卷积层和全连接层都是如此。 - Hungry
ReLu函数看起来仍然有点线性。它能像Sigmoid一样解决问题吗? - Andrzej Gis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接