摘要:
本文将以多层神经网络为主线,详细介绍多层感知器和反向传播算法及其工作原理。
一 神经元的组成和基本原理
在神经网络中,神经元是计算的基本单元,也被称为节点或单元。它接受其他节点或外部的输入,在计算后产生输出。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重(w)。该节点将一个函数f(定义如下)作用于输入的加权和,如下图所示
上述网络采用数值输入X1和X2、与输入相关联的权重w1和w2以及输入权重b(称为偏置)。
神经元输出Y的计算上图所示。函数f是非线性的,称为激活函数。它的作用是将非线性引入到神经元的输出中,以此达到神经元学习非线性表示的目的,每个激活函数都取一个数并对它进行特定的运算。在实际应用中我们可能会遇到下面几种激活函数:
Sigmoid函数:σ(x)=1/(1+exp(−x))
tanh函数:tanh(x)=2σ(2x)−1
ReLU函数:f(x)=max(0, x)
下面是这几个激活函数的图像
偏差的重要性:如果没有偏置的话,我们所有的分割线都是经过原点的,但是现实问题并不会那么如我们所愿.都是能够是经过原点线性可分的。
二 前馈神经网络
前馈神经网络是第一个也是最简单的人工神经网络,各神经元从输入层开始,接收前一级输入,并输出到下一级,直至输出层。整个网络中无反馈,可用一个有向无环图表示。
前馈神经网络结构如下图所示