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

  统计/机器学习 人工神经网络    浏览次数:14834        分享
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



  相关讨论

softmin是什么激活函数?

LeakyReLu是什么意思?

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

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

elu激活函数是什么?

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

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

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

purelin激活函数是什么?

怎么理解所谓的dying relu?

  随便看看

如果数据不是正态分布,能用3sigma原则剔除异常值吗?

线性回归或者逻辑回归中常提到的AIC和BIC是什么意思?

为什么LASSO可以做特征选择,而Ridge却不行?

随机森林(random forest)和支持向量机(SVM)各有什么优劣

matplotlib.pyplot画图的标题中插入变量