神经元模型
单层感知机(Perception)模型,只能处理线性可分问题
多层网络
多层前馈神经网络(Multi-Layer Feedforward Neural Networks)
反向传播算法(Back Propagation)
损失函数(Loss Function)
- 均方误差
- 交叉熵(Cross Entropy)
反向传播
对特定的一层神经元,其输出为
其中,${\pmb x}$ 为上一层的输出,${\pmb W}$ 和 ${\pmb b}$ 为上一层与当前层之间的权重矩阵和偏置向量,$f$ 为激活函数。已知 $\frac{\partial \mathcal{L}}{\partial {\pmb y}}$,那么
其中,$\frac{\partial \mathcal{L}}{\partial {\pmb W}}$ 和 $\frac{\partial \mathcal{L}}{\partial {\pmb b}}$ 可以用于更新 ${\pmb W}$ 和 ${\pmb b}$。以 $\eta$ 为学习速率,则
$\frac{\partial \mathcal{L}}{\partial {\pmb x}}$ 则用于进一步反向传播。
全局最小与局部最小
防止过拟合的策略
- Early Stopping
- 正则化
防止局部最小的策略
- 多组不同参数初始化网络
- 模拟退火(Simulated Annealing):以一定概率接受比当前解更差的结果
- 随即梯度下降(SGD)
深度学习
增加隐藏层的层数比增加隐藏层的神经元数目更有效。
防止梯度发散/消失策略
- Pre-Training + Fine-Tuning
- 深度信念网络(Deep Belief Network, DBN),每层都是受限玻尔兹曼机(Restricted Boltzmann Machine, RBM)
节省训练开销
- 权值共享,如 CNN