激活函数RELU在0点的导数是多少?

  统计/机器学习 人工神经网络    浏览次数: 213
1

RELU(x) = max(x, 0)所以它是算分段的,小于0的时候导数是0,大于0的时候导数是1,在0点不可导。

那实际操作或者计算的时候RELU在0点的导数我们认为是0还是1呢?

 

酱油   2019-01-21 11:43



   3个回答 
6

relu在0点的确不可导,正如@huluobo说的,可以用$\log(1+e^x)$来近似,这个函数是连续的,它在0点的导数是0.5。也就是相当于relu在0点的导数取为0.5,也正好是0和1的均值。

也可以就规定relu在0点的取值是0或者1,这样也比较方便。tensorflow里面就默认relu在0点的导数是0。

SofaSofa数据科学社区 DS面经 问答 实战

LiShanfei   2019-01-28 06:35

谢谢 - 酱油   2019-01-28 22:58
4

用$\ln(1 + e^x)$来approximate吧

SofaSofa数据科学社区 DS面经 问答 实战

huluobo   2019-01-24 08:21

谢谢 - 酱油   2019-01-28 22:57
2

因为数值计算中有roundoff error,计算机里的浮点数0表示是一个0周围以roundoff error为宽度的邻域,并不是一个点。所以tensorflow里Relu在0(计算机中的点,数学上的邻域)的导数应该是0和1两条不连续的线段。为简便,默认只取0。

SofaSofa数据科学社区 DS面经 问答 实战

Zealing   2019-01-29 00:28



  相关主题

elu激活函数是什么?   1回答

LeakyReLu是什么意思?   1回答

怎么理解神经网络中的激活函数hard sigmoid?   1回答

多项式网络(polynomial networks)的结构和激活函数?   0回答

神经网络里每层的激活函数必须是一样的吗?   1回答

如果特征都是非负的,那么用RELU作为激活函数还有意义吗?   2回答

sigmoid, tanh, arctan这几个激活函数为什么长这么像?   1回答

人工神经网络有哪些常用的激活函数?   3回答

激活函数ReLU和Sigmoid的优劣对比   4回答

keras中怎么增加Leaky relu的激活层   1回答

反向传播(BP)神经网络和前馈神经网络是一回事吗   1回答

什么叫成本函数?它的作用是什么?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!