Python ReLu 函数 – 您需要知道的一切!

各位读者大家好!在本文中,我们将详细关注Python ReLu 函数。那么,让我们开始吧!🙂

另请阅读:用 Python 构建神经网络


ReLu 函数是什么?— 清晰概述

Python 在基于卷积图像构建的学习模型以及机器学习模型中发挥着重要作用。这些深度学习模型受益匪浅,因为使用 Python 提供的内置模块和函数,构建它们的过程变得很容易。

为了提高深度学习模型的计算效率,Python给我们引入了ReLu函数,也称为整流线性激活函数。

ReLu函数使我们能够检测并呈现模型结果的状态,并且模型的计算效率也随之提高。

ReLu 激活函数规定,如果输入为负,则返回 0。否则,返回 1

ReLu函数

了解了 ReLu 函数后,现在让我们使用 Python 来实现它。


Python中ReLu函数的基本实现

首先,我们将创建一个自定义的 ReLu 函数,如下所示。

示例

在这里,我们创建了一个自定义的用户定义函数,它将使用max() 函数,并将传递的元素与 0.0 进行比较,从而得出正数或负数。

由于 val 是正数,因此返回 1.0。变量 val1 是负数,因此返回 0.0

def ReLu(val):
    return max(0.0,val)
val = 1.0
print(ReLu(val))
val1 = -1.0
print(ReLu(val1))

输出

1.0
0.0

ReLu函数的梯度值

在处理数据进行挖掘和处理时,当我们尝试计算 ReLu 函数的导数时,对于小于零的值(即负值),找到的梯度为 0。这意味着学习函数的权重和偏差不是相应更新。这可能会导致模型的训练出现问题。

为了克服 ReLu 函数的这一限制,我们将讨论 Leaky ReLu 函数。


泄漏 ReLu 函数

如上所述,为了克服通过 ReLu 函数的负值的梯度问题,Leaky ReLu函数基本上将常数的微小线性分量添加到负输入分数中。

f(num)= 0.001num, num<0
    = num,   num>=0

如上所述,在我们的例子中,我们将负数乘以常数 (0.001)。

现在,当我们查看上述 Leaky ReLu 函数的梯度时,负数的梯度分数现在看起来不为零,这表明学习函数的权重现在已正确更新。

示例

def ReLu(a):
  if a>0 :
    return a
  else :
    return 0.001*a
 
a = -1.0
print(ReLu(a)) 

输出

-0.001

结论

至此,我们这个话题就结束了。如果您遇到任何问题,请随时在下面发表评论。

有关更多与 Python 编程相关的此类文章,请继续关注我们。

到此为止,祝大家学习愉快!!🙂