【发布时间】:2018-08-25 12:44:26
【问题描述】:
在this post 我读到 ReLU 应该只用于隐藏层。为什么会这样?
我有一个执行回归任务的神经网络。它输出一个 0 到 10 之间的数字。我认为 ReLU 在这里会是一个不错的选择,因为它不会返回小于 0 的数字。这里输出层的最佳激活函数是什么?
【问题讨论】:
标签: neural-network
在this post 我读到 ReLU 应该只用于隐藏层。为什么会这样?
我有一个执行回归任务的神经网络。它输出一个 0 到 10 之间的数字。我认为 ReLU 在这里会是一个不错的选择,因为它不会返回小于 0 的数字。这里输出层的最佳激活函数是什么?
【问题讨论】:
标签: neural-network
通常,您仍然可以对输出层使用激活函数。我经常使用 Sigmoid 激活函数将我的输出压缩在 0-1 范围内,效果非常好。
使用 ReLU 时应该考虑的一个原因是,它们会产生死神经元。这意味着在某些情况下,您的网络可以生成网络不会更新的区域,并且输出始终为 0。
本质上,如果您的输出中有 ReLU,您将根本没有梯度,请参阅here 了解更多详细信息。
如果你在初始化过程中小心,我不明白为什么它不应该工作。
【讨论】: