1 多层感知机&前馈神经网络&全连接网络
1.1 概述
1)前馈神经网络 (feedforward neural network),又称作深度前馈网络(deep feedforward network)、多层感知机(multilayer perceptron,MLP)
顾名思义,该网络中没有反向传播反馈,因此无法自动修改网络参数。
2)全连接网络 (Full connection)
在该网络中,除输入层外,每个节点都和上一层的所有节点两两相连。
2 前向传播
2.1 神经元模型
神经元模型示意图如下:
其中,表示输入,表示权重,表示输入和,表示激活函数,表示神经元输出。
由上图可以得出神经元模型的完整表达式:
其中表示激活函数,表示权重是一个列向量,表示输入是一个列向量,表示偏置。
2.2 多层感知机(MLP)
如图所示,将多个神经元并列即可形成一层神经神经网络,将多层神经元按顺序排好,就可以组成一个具有多层的神经网络。
其中从左到右,依次为输入层(input layer)、隐藏层(hidden layer)、输出层(output layer)。其中隐藏层可以有多层,而输入层和输出层只能有一层。
在整个神经网络中,信号从左向右按层传输。每一层中的神经元没有信号传输,相邻层之间的神经元两两连接。
2.3 前向传播(Forward Propagation)
从MLP模型取其中的两个隐藏层:
其中,层的输出为,层的输出为,两层之间神经元两两相连,且权重为。对于层中的一个神经元,其连接情况如图所示:
从图中可知,层的神经元需要把信号传输给层的神经元。
从中可以得出前向传播表达式:
其中, 表示第 层中第 个神经元与第 层中第 个神经元之间连接的权重
3 反向传播算法(Backpropagation)
3.1 全连接网络中的反向传播
反向传播中传播的是就是梯度。
在神经网络中,将输出层的结果与label作对比,可以求出loss,然后用loss对权重 和偏置 可以求出权重 和偏置 的梯度,然后根据梯度下降算法就可以改变 和
然后根据链式法则,将梯度依次传回上一层,从而修改上一层的权重 和偏置
设:
- 损失函数
- 神经元节点值
- 残差
所以损失函数对权重的偏导数与残差的关系如下:
同理可得损失函数对偏置的偏导数与残差的关系如下:
然后再根据前向传播的方式可以推导出残差之间的关系如下:
有了残差的传递关系之后,我们就可以求出每层 和 的梯度,从而更新每一层的 和 。
未完待续。。。
2.2 卷积网络中的BP
2.2.1 卷积层BP
2.2.2 池化层BP
2.3 循环神经网络BP