神经网络基础知识

激励函数(activation function)

主要作用是提供网络的非线性建模能力。如果没有激励函数,那么该网络仅能够表达线性映射,此时即使有再多的隐藏层,其整个网络跟单层神经网络也是等价的。因此可以这么认为,只有加入了激励函数之后,深度神经网络才具备了分层的非线性映射学习能力。

性质:

  1. 可微性: 当优化方法是基于梯度的时候,这个性质是必须的
  2. 单调性: 当激励函数是单调的时候,单层网络能够保证是凸函数。
  3. 输出值的范围: 当激励函数输出值是 有限 的时候,基于梯度的优化方法会更加稳定,因为特征的表示受有限权值的影响更显著;当激励函数的输出是 无限 的时候,模型的训练会更加高效,不过在这种情况下,一般需要更小的learning rate。

Sigmoid 函数

定义:
f ( x ) = 1 1 + e ( ω x + b ) f(x) = \frac{1}{1 + e^{-(\omega x+b)}}
或者也可以写成
z = ω x + b ,    f ( x ) = 1 1 + e z z = \omega x + b, \; f(x) = \frac{1}{1 + e^{-z}}
Sigmoid函数

Tanh 函数

Tanh 函数也叫双曲正切函数,表达式如下:
tanh ( x ) = e x e x e x + e x \tanh (x) = \frac{e^x - e^{-x}}{e^x+e^{-x}}
Tanh函数

ReLU 函数

ReLU(rectified linear units),表达式如下:
y = max ( x , 0 ) y = \max(x,0)
ReLU函数

Linear 函数

Linear 激励函数在实际应用中并不太多,因为如果网络中前面的线性层引入的是线性关系,后面的激励层还是线性关系,那么就会让网络没办法很好地拟合非线性特性的关系,从而发生严重的欠拟合现象。
函数表达式:
f ( x ) = x f(x) = x
Linear函数


神经网络

神经网络的结构

在一个神经网络中通常会分这样几层:输入层(input layer)、隐藏层(hidden layer,也叫隐含层)、输出层(output layer)。

  1. 输入层在整个网络的最前端部分,直接接受输入的向量,它是不对数据做任何处理的,所以通常这一层是不计入层数的。
  2. 隐藏层可以有一层或多层,现在比较深的网络有超过50层的,甚至在一些 “特殊” 的网络——例如深度残差网络中有超过150层的。
  3. 输出层是最后一层,用来输出整个网络处理的值,这个值可能是一个分类向量值,也可能是一个类似线性回归那样产生的连续的值,也可能是别的复杂类型的值或者向量,根据不同的需求输出层的构造也不尽相同。

猜你喜欢

转载自blog.csdn.net/maple___leaves/article/details/84930837