激活函数

您所在的位置:网站首页 ln2为什么大于0小于1 激活函数

激活函数

2024-06-26 18:04| 来源: 网络整理| 查看: 265

文章目录 关于激活函数阶跃函数sigmoid 函数RELU 函数tanh 函数

关于激活函数

激活函数,英文:Activation Function

大部分工具,都要考虑他使用的场景。百度词条上会将激活函数,和他所服务的神经网络联系在一起。他们注重全面、无错误,却没有解释到本质;不够熟悉神经网络这个体系架构、以及各种专业词的人,看这个解释基本都是云里雾里,这代表根本不理解。

什么叫激活?就是说,原来是死的,使用这个函数后活了。 不同的激活函数,体现的是: 1、有的继续死,有的活过来了;(有条件/阈值) 2、活过来的的血量不同,有人 80%,有人 40%。(有权重 )

下面介绍常用的不同的激活函数

阶跃函数

在这里插入图片描述

在这里插入图片描述

是有限段分段常数函数的组合

意思就是: 1、大于0 就为1,小于0就为0; 2、你可以想象成,达成某个标准就OK,没达成就不行。 比如 60分就及格,60分一下就不及格,简单粗暴。

sigmoid 函数

在这里插入图片描述

公式 $ g(z) = \frac{1}{1+e^{-z}} $

g : R → [ 0 , 1 ] g:\mathbb{R} \to [0,1] g:R→[0,1] g ( 0 ) = 0.5 g(0)=0.5 g(0)=0.5 g ( − ∞ ) = 0 g(- \infty)=0 g(−∞)=0 g ( + ∞ ) = 1 g(+ \infty)=1 g(+∞)=1 0-1的优势,可以表示为概率。可用于数据的归一化。缺点:梯度消失 和 偏置现象。

梯度消失 导数 f’(x)=f(x)(1-f(x)), 当x趋于无穷时,f(x)的两侧 导数逐渐趋于0。 在后向传递时,sigmoid向下传递的梯度包含了一个 f’(x)因子,因此,一旦落入两端的平滑区,f’(x) 就变得接近于0,导致了向后传递的梯度也非常小。 此时,网络参数很难得到有效训练,这种现象被称为梯度消失,一般在5层以内就会产生梯度消失的现 象。

sigmoid函数的输出均大于0,使得输出不是0 均值,称为偏置现象。

代码实现

def sigmoid(z): return 1 / (1 + np.exp(-z)) nums = np.arange(-10, 10, step=1) #creates a vector containing 20 equally spaced values from -10 to 10 fig, ax = plt.subplots(figsize=(12,4)) ax.plot(nums, sigmoid(nums), 'r') RELU 函数

RELU:Rectified Linear Units,线性整流单元,或 修正线性单元。 在这里插入图片描述

公式 f ( x ) = m a x ( 0 , x ) f(x) = max(0, x) f(x)=max(0,x)

1、小于0,就全视为0;大于0,会去看你是多少; 2、可以通俗理解:有些地区女生相亲要看男方的房子,没房子就直接无视,不论其他方面有多优秀;有房子,再来看你的其他表现。

计算简单,能节省训练时间当x>0时,梯度不变,解决了 sigmoid及tanh常见的梯度消失问题。常用于多层感知机以及 CNN。在RNN中不常见, 因为在多次循环神经元的操作之后,可能具有非常大的输出,与有界值的情况相比,更 容易发生输出值爆炸的情况。 tanh 函数

在这里插入图片描述

输入映射到-1和1之间,以0为中心对称。梯度比sigmoid形梯度强(导数更陡 峭),因此收敛更快。也存在着与sigmoid函数类似的 对两端值不敏感,梯度消失的问题。


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3