深度学习:前馈神经网络与BP反向传播
1. 定义
前馈神经网络(feedforward neural network),简称前馈网络,是人工神经网络的一种。在此种神经网络中,各神经元从输入层开始,接收前一级输入,并输出到下一级,直至输出层。整个网络中无反馈,可用一个有向无环图表示。前馈神经网络采用一种单向多层结构。其中每一层包含若干个神经元,同一层的神经元之间没有互相连接,层间信息的传送只沿一个方向进行。其中第一层称为输入层。最后一层为输出层.中间为隐含层,简称隐层。隐层可以是一层。也可以是多层。
对于前馈神经网络结构设计,通常采用的方法有3类:直接定型法、修剪法和生长法。直接定型法设计一个实际网络对修剪法设定初始网络有很好的指导意义;修剪法由于要求从一个足够大的初始网络开始,注定了修剪过程将是漫长而复杂的,更为不幸的是,BP训练只是最速下降优化过程,它不能保证对于超大初始网络一定能收敛到全局最小或是足够好的局部椎小。因此,修剪法并不总是有效的,生长法似乎更符合人的认识事物、积累知识的过程,具有自组织的特点,则生长法可能更有前途,更有发展潜力。
常见前馈神经网络
- 感知器网络
- BP网络
- RBF网络
2. 向前传播
下图直观解释了层神经网络模型向前传播的一个例子,圆圈表示神经网络的输入,“+1”的圆圈被称为偏置节点。神经网络最左边的一层叫做输入层,最右的一层叫做输出层。中间所有节点组成的一层叫做隐藏层。
每个神经元的表达式如下:
多层前馈神经网络
3. 反向传播算法
反向传播算法的含义是:第l 层的一个神经元的残差是所有与该神经元相连的第l+ 1 层的神经元的残差的权重和,然后在乘上该神经元**函数的梯度。
借网上一张图,反向传播算法可表示为以下几个步骤: