1、单输出多层感知机
在单层感知机的基础上增加若干个(本文增加一个)隐层,得到多层感知机(Multi Perceptron Machine,MLP)。结构如图所示:
(单输出多层感知机)
图中各变量满足公式:
假如现在有一个样本[(x1,x2),T],用该样本训练网络时,网络优化的目标为lossFun最小。lossFun是一个关于变量w和v多元函数。网络的训练又变成多元函数求极值的问题。
求v1的梯度:
同理可得vi的梯度:
求w11的梯度:
同理,可得wij的梯度:
通过上述方法算得单输出多层感知机的各连接权重w和v的梯度,只要按照w和v的梯度下降方向更新网络就能完成网络训练。
2、多输出多层感知机
在前面介绍的神经网络输出节点都是一个,如果遇到多分类问题,我们便需要多输出的神经网络。下图为一个多输出多层感知机。
(多输出多层感知机)
在上图的网络中,各变量满足公式:
通过数学求导,得到lossFun对vjk的梯度:
求导得到lossFun对wij的梯度:
在求出权重梯度之后,只要按照梯度下降的方向更新连接权重就可以完成网络的训练。
我们总结出:对于末层神经元,输出错误定义为:
对于非末层神经元,输出错误如Err(y)由与其相连的后层神经元的输入错误Err(Z)加权求和得到,如下公式所示:
一个神经元的输入错误Err(Y)与输出错误Err(y)满足公式:
一条连接权重的更新量为该条连接前层神经元的输出乘以后层神经元的输入错误信号,如下公式所示。