文章目录
神经网络基础
神经元
人工神经元(Artificial Neuron),简称神经元(Neuron),是构成神经网络的基本单元,其主要是模拟生物神经元的结构和特性,接受一组输入信号并产出输出。
假设一个神经元接受d个输入 x 1 , x 2 , ⋅ ⋅ ⋅ , x d x_1, x_2, · · · , x_d x1,x2,⋅⋅⋅,xd,令向量 x = [ x 1 ; x 2 ; ⋅ ⋅ ⋅ ; x d ] x = [x_1; x_2; · · · ; x_d] x=[x1;x2;⋅⋅⋅;xd]来表示这组输入,并用净输入(Net Input)z ∈ R表示一个神经元所获得的输入。信号x 的加权和,
其中 w = [ w 1 ; w 2 ; ⋅ ⋅ ⋅ ; w d ] ∈ R d w = [w_1;w_2; · · · ;w_d] ∈ R^d w=[w1;w2;⋅⋅⋅;wd]∈Rd是d 维的权重向量,b ∈ R是偏置。
净输入z 在经过一个非线性函数 f ( ⋅ ) f(·) f(⋅) 后,得到神经元的活性值(Activation)a,
a = f ( z ) a=f(z) a=f(z),其中非线性函数 f ( ⋅ ) f(·) f(⋅)称为激活函数(Activation Function)。
激活函数
激活函数在神经元中非常重要的。为了增强网络的表示能力和学习能力,激活函数需要具备以下几点性质:
- 连续并可导(允许少数点上不可导)的非线性函数。可导的激活函数可以
直接利用数值优化的方法来学习网络参数。 - 激活函数及其导函数要尽可能的简单,有利于提高网络计算效率。
- 激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,
否则会影响训练的效率和稳定性。
Sigmoid型激活函数
Sigmoid 型函数是指一类S 型曲线函数,为两端饱和函数。常用的Sigmoid
型函数有Logistic 函数和Tanh 函数。
Logistic函数
Logistic 函数定义为
Logistic 函数可以看成是一个“挤压”函数,把一个实数域的输入“挤压”到(0, 1)。当输入值在0 附近时,Sigmoid 型函数近似为线性函数;当输入值靠近两端时,对输入进行抑制。输入越小,越接近于0;输入越大,越接近于1。这样的特点也和生物神经元类似,对一些输入会产生兴奋(输出为1),对另一些输入产生抑制(输出为0)。和感知器使用的阶跃激活函数相比,Logistic 函数是连续可导的,其数学性质更好。
因为Logistic 函数的性质,使得装备了Logistic 激活函数的神经元具有以下两点性质:
- 1)其输出直接可以看作是概率分布,使得神经网络可以更好地和统计学习模型进行结合。
- 2)其可以看作是一个软性门(SoftGate),用来控制其它神经元输出信息的数量。
Tanh函数
Tanh 函数是也一种Sigmoid 型函数。其定义为
Tanh 函数可以看作是放大并平移的Logistic 函数,其值域是(−1, 1)。