这可能是一个非常基本/琐碎的问题。
对于负输入,
下面提到的是我的问题:
- 为什么所有上述激活函数都对负输入值饱和。
- 如果我们要预测负目标值,是否有任何激活函数。
谢谢。
正确-ReLU设计为负值导致零。(如果学习速度过高,初始化不正确或单位很少,可能会很危险-所有神经元都可能卡在零,模型冻结)
False-对于“非常负面”的输入,Sigmoid的结果为零,对于“负面”的输入则为零。如果输入介于-3和+3之间,则将看到0和1之间的结果非常令人满意。
False-与Sigmoid相同的评论。如果您的输入介于-2和2之间,则您将在-1和1之间看到不错的结果。
因此,饱和问题仅存在于绝对值太大的输入中。
根据定义,输出为:
您可能希望BatchNormalization
在这些激活之前使用一个图层,以避免产生较大的值并避免饱和。
为了预测负输出,这tanh
是三个能够做到的唯一功能。
但是,您可以发明一个负的S型曲面,这很简单:
def neg_sigmoid(x):
return -keras.backend.sigmoid(x)
#use the layer:
Activation(neg_sigmoid)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句