为什么几乎每个激活函数都会在神经网络中的负输入值处饱和

RakTheGeek

这可能是一个非常基本/琐碎的问题。

对于负输入,

  1. ReLu激活功能的输出为零
  2. 乙状结肠激活函数的输出为零
  3. Tanh激活函数的输出为-1

下面提到的是我的问题:

  1. 为什么所有上述激活函数都对负输入值饱和。
  2. 如果我们要预测负目标值,是否有任何激活函数。

谢谢。

丹尼尔·莫勒
  1. 正确-ReLU设计为负值导致零。(如果学习速度过高,初始化不正确或单位很少,可能会很危险-所有神经元都可能卡在零,模型冻结)

  2. False-对于“非常负面”的输入,Sigmoid的结果为零,对于“负面”的输入则为零。如果输入介于-3和+3之间,则将看到0和1之间的结果非常令人满意。

  3. False-与Sigmoid相同的评论。如果您的输入介于-2和2之间,则您将在-1和1之间看到不错的结果。


因此,饱和问题仅存在于绝对值太大的输入中。

根据定义,输出为:

  • ReLU:0 <y <inf(中心在0)
  • 乙状结肠:0 <y <1(中心为0.5)
  • TanH:-1 <y <1(中心在0)

您可能希望BatchNormalization在这些激活之前使用一个图层,以避免产生较大的值并避免饱和。


为了预测负输出,这tanh是三个能够做到的唯一功能。

但是,您可以发明一个负的S型曲面,这很简单:

def neg_sigmoid(x):
    return -keras.backend.sigmoid(x)

#use the layer:
Activation(neg_sigmoid)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么神经网络中的激活函数取这么小的值?

来自分类Dev

为什么我们在卷积神经网络的卷积层之后使用激活函数?

来自分类Dev

将激活函数放置在神经网络架构中的什么位置?

来自分类Dev

神经网络的激活函数选择

来自分类Dev

神经网络和激活函数的选择

来自分类Dev

Tensorflow:为什么没有激活函数的单个神经网络节点的结果与我自己的计算不同?

来自分类Dev

人工神经网络 - 为什么通常在隐藏层使用 sigmoid 激活函数而不是 tanh-sigmoid 激活函数?

来自分类Dev

为什么在神经网络中需要隐藏层?

来自分类Dev

为什么要在神经网络中添加零偏差?

来自分类Dev

神经网络中的成本函数是什么?

来自分类Dev

在PyBrain中,当创建人工神经网络时,在传递给激活函数之前,神经元的输入是否经过加权和求和?

来自分类Dev

非线性激活函数在神经网络的基本层面上做什么?

来自分类Dev

您可以反转PyTorch神经网络并激活输出中的输入吗?

来自分类Dev

如何计算人工神经网络的激活函数的导数

来自分类Dev

我的神经网络有更好的激活函数吗?

来自分类Dev

神经网络中密集层之后的激活函数有多必要?

来自分类Dev

提高神经网络输出中负类的精度

来自分类Dev

MATLAB中的神经网络成本函数

来自分类Dev

神经网络中的误差函数定义

来自分类Dev

在神经网络中,为什么通常将神经元数设置为2 ^ n?

来自分类Dev

神经网络中的“层”是什么

来自分类Dev

为什么较大的神经网络比较小的神经网络反向传播更快

来自分类Dev

更新神经网络输入

来自分类Dev

神经网络输入形状

来自分类Dev

神经网络的图像输入

来自分类Dev

logit 函数的输出作为神经网络的附加输入

来自分类Dev

我的神经网络中每个时期的时间是0秒

来自分类Dev

为什么重塑我的数据会完全改变Keras中完全连接的神经网络的行为?

来自分类Dev

为什么神经网络的提升在SAS Viya演示中稳定?

Related 相关文章

  1. 1

    为什么神经网络中的激活函数取这么小的值?

  2. 2

    为什么我们在卷积神经网络的卷积层之后使用激活函数?

  3. 3

    将激活函数放置在神经网络架构中的什么位置?

  4. 4

    神经网络的激活函数选择

  5. 5

    神经网络和激活函数的选择

  6. 6

    Tensorflow:为什么没有激活函数的单个神经网络节点的结果与我自己的计算不同?

  7. 7

    人工神经网络 - 为什么通常在隐藏层使用 sigmoid 激活函数而不是 tanh-sigmoid 激活函数?

  8. 8

    为什么在神经网络中需要隐藏层?

  9. 9

    为什么要在神经网络中添加零偏差?

  10. 10

    神经网络中的成本函数是什么?

  11. 11

    在PyBrain中,当创建人工神经网络时,在传递给激活函数之前,神经元的输入是否经过加权和求和?

  12. 12

    非线性激活函数在神经网络的基本层面上做什么?

  13. 13

    您可以反转PyTorch神经网络并激活输出中的输入吗?

  14. 14

    如何计算人工神经网络的激活函数的导数

  15. 15

    我的神经网络有更好的激活函数吗?

  16. 16

    神经网络中密集层之后的激活函数有多必要?

  17. 17

    提高神经网络输出中负类的精度

  18. 18

    MATLAB中的神经网络成本函数

  19. 19

    神经网络中的误差函数定义

  20. 20

    在神经网络中,为什么通常将神经元数设置为2 ^ n?

  21. 21

    神经网络中的“层”是什么

  22. 22

    为什么较大的神经网络比较小的神经网络反向传播更快

  23. 23

    更新神经网络输入

  24. 24

    神经网络输入形状

  25. 25

    神经网络的图像输入

  26. 26

    logit 函数的输出作为神经网络的附加输入

  27. 27

    我的神经网络中每个时期的时间是0秒

  28. 28

    为什么重塑我的数据会完全改变Keras中完全连接的神经网络的行为?

  29. 29

    为什么神经网络的提升在SAS Viya演示中稳定?

热门标签

归档