首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在简单的神经网络中,tanh比relu表现更好?

为什么在简单的神经网络中,tanh比relu表现更好?
EN

Stack Overflow用户
提问于 2018-02-18 08:18:36
回答 1查看 3.4K关注 0票数 5

这是我的场景

我使用了EMNIST数据库的英文大写字母。

我的神经网络如下

  1. 输入层有784个神经元,这是图像28x28灰度图像的像素值除以255,因此值将在0,1。
  2. 隐藏层有49个神经元与先前的784完全连接。
  3. 输出层有9个代表图像类别的神经元。
  4. 损耗函数定义为输出层的softmax的交叉熵。 将所有权值从-1,+1初始化为随机实数。

现在我为每堂课做了500 fixed samples的训练。

简单地说,通过传递500x9图像来训练函数,该函数使用backpropagation进行100次迭代,通过learning_rate*derivative_of_loss_wrt_corresponding_weight更改权重。

我发现,当我在神经元上使用tanh激活时,网络的学习速度要快于学习速率为0.0001的relu。

我得出的结论是,由于在固定测试数据集上的准确性高于relu。此外,100天后的损失值也略有降低。

雷鲁不是应该表现得更好吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-18 12:58:27

雷鲁不是应该表现得更好吗?

一般情况下,不。在许多问题上,RELU会表现得更好,但不是所有的问题。

此外,如果使用经过优化以使一个激活函数执行良好的体系结构和参数集,则在交换不同的激活函数后可能会得到更坏的结果。

通常,您将需要调整结构和参数,如学习速率,以获得可比较的结果。这可能意味着更改示例中隐藏节点的数量和/或学习速率。

最后一个注意:在我看到的MNIST示例体系结构中,带有RELU激活的隐藏层通常后面跟着Dropout层,而带有sigmoid或tanh激活的隐藏层则不是。尝试在隐藏层之后添加下拉列表,看看这是否会改善您的RELU结果。请参阅Keras示例这里

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

https://stackoverflow.com/questions/48849730

复制
相关文章

相似问题

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