【神经网络】激活函数的作用及常用激活函数ReLu、Sigmoid

1 激活函数的作用

激活函数(activation function)的作用是去线性化,神经网络节点的计算就是加权求和,再加上偏置项:
a i = ∑ i x i w i + b a_i=\sum_ix_iw_i+b ai=ixiwi+b
这是一个线性模型,将这个计算结果传到下一个节点还是同样的线性模型。只通过线性变换,所有的隐含层的节点就无存在的意义。原因如下:假设每一层的权值矩阵用 W ( i ) W^{(i)} W(i)表示。那么存在一个 W ′ W' W使:
W ′ = W ( 1 ) W ( 2 ) … W ( n ) W'=W^{(1)}W^{(2)}…W^{(n)} W=W(1)W(2)W(n)
那么,n层隐含层就可以全部变成一个隐含层,隐含层的数量就没有任何意义。所以使用激活函数将其去线性化。种种情况下, W ′ = W ( 1 ) W ( 2 ) … W ( n ) W'=W^{(1)}W^{(2)}…W^{(n)} W=W(1)W(2)W(n)不再成立,每层隐含层都有其存在的意义。

下面有更详细的解释,改内容来自《TensorFlow实战Google深度学习框架》(第2版)。【神经网络】激活函数的作用及常用激活函数ReLu、Sigmoid_第1张图片

2 常用到激活函数

人工神经网络中常用到激活函数(activation function):ReLuSigmoid

2.1 ReLu

线性整流函数(Rectified Linear Unit, ReLU),又称修正线性单元。其函数表达式如下:
f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)
其函数图像图下:
【神经网络】激活函数的作用及常用激活函数ReLu、Sigmoid_第2张图片
其含义就是,如果输入的 x > 0 x>0 x>0,那么 f ( x ) = x f(x)=x f(x)=x;如果x<0,那么 f ( x ) = 0 f(x)=0 f(x)=0

2.2 Sigmoid

Sigmoid函数是一个在生物学中常见的S型函数,也称为S型生长曲线。其函数表达式如下:
f ( x ) = 1 1 + e − x f(x)=\dfrac{1}{1+e^{-x}} f(x)=1+ex1
其函数图像图下:
【神经网络】激活函数的作用及常用激活函数ReLu、Sigmoid_第3张图片
可以看到在趋于正无穷或负无穷时,函数趋近平滑状态,sigmoid函数因为输出范围(0,1),所以二分类的概率常常用这个函数。

你可能感兴趣的:(深度学习)