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

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

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

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

 

酱油   2019-01-21 11:43



   3个回答 
10

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面试题库 DS面经

LiShanfei   2019-01-28 06:35

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

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

SofaSofa数据科学社区DS面试题库 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面试题库 DS面经

Zealing   2019-01-29 00:28



  相关主题

激活函数leakyRELU和pRELU的区别是什么?   2回答

softmin是什么激活函数?   3回答

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

有没有最新的Pycharm2019专业版激活码   0回答

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

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

激活函数multi-sigmoid和softmax有什么区别?   1回答

怎么理解所谓的dying relu?   1回答

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

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

如果y的范围是-1到1之间,网络输出层的激活函数应该是tanh还是linear?   1回答

LeakyReLu是什么意思?   1回答



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

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

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

我们谢绝答非所问。

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

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