文章目录

  • 反向传播神经网络
  • Feed Forward Propagation前向传播
  • Back Propagation
  • Error计算
  • Weight Updating
  • Case1: Between the hidden layer and the output layer
  • Case2: Between a hidden layer and a hidden layer
  • 实现改进的方面
  • Full Batch and mini-batch weight update
  • Dropout
  • Adaptive Moment estimation
  • 相关题目



这章主要是介绍反向传播的神经网络,其中的过程以及相关计算,虽然有些知识在本科的人工智能课上有了解过,但是感觉当时学习的知识不成体系且没有深入本质,这次上课就感觉整个知识体系建立了起来。

反向传播神经网络

首先可以在心中搭起框架,一个神经网络可以理解为用若干个samples去训练出Weight(W)和Bias(b),从而可以利用这个网络将unknown input分类成不同的类别。其中:

  • forward pass是在训练好神经网络后的使用,用它对unknown input进行分类;
  • 而如何训练出weight和bias则是运用forward pass和backward pass.

神经网络偏置b的大小 神经网络 bias_神经网络偏置b的大小

Feed Forward Propagation前向传播

Feed Forward Propagation前向传播多是用于classification和recognition的任务中的,根据输入输出预测结果。

在用前向传播的神经网络进行分类的时候,我们假设其网络结构已经训练出来了,即Weight和Bias都已经知道了。

神经网络偏置b的大小 神经网络 bias_神经网络_02


常规的流程我们都清楚,这方面主要就是集中于一些参数Weight和Bias个数的统计

  • Weight参数个数为神经网络中所有神经元nuron之间的连接数,如下图为两两层数之间的连接数之和。
  • Bias参数个数为神经网络中除了inputs neurons后,剩下所有的神经元个数。

    对于其中的神经元(包括Hidden Layers和Output Layer),需要了解其激励函数的原理:

    神经网络偏置b的大小 神经网络 bias_人工智能_03
    神经网络偏置b的大小 神经网络 bias_人工智能_04
    神经网络偏置b的大小 神经网络 bias_神经网络偏置b的大小_05=bias, 神经网络偏置b的大小 神经网络 bias_人工智能_06=input, 神经网络偏置b的大小 神经网络 bias_神经网络_07=weight, 神经网络偏置b的大小 神经网络 bias_神经网络偏置b的大小_08=internal signal
    Typically 神经网络偏置b的大小 神经网络 bias_深度学习_09 is a logistic (Sigmod) function,i.e.
    神经网络偏置b的大小 神经网络 bias_神经网络_10, assume 神经网络偏置b的大小 神经网络 bias_神经网络偏置b的大小_11 for simplicity,
    therefore 神经网络偏置b的大小 神经网络 bias_深度学习_12

一个神经元激励计算的例子如下:

神经网络偏置b的大小 神经网络 bias_神经网络_13

Back Propagation

Back propagation主要用于训练神经网络的,它也包括forward processing预测结果的过程,根据预测出来的结果对神经网络进行反向处理backward processing,更新网络权重。

这部分关键在于误差e的计算,以及在两种情况下如何进行权重更新。

Error计算

神经网络偏置b的大小 神经网络 bias_权重_14


图中e(n)表示的是样本n在类别1上产生的误差,神经网络偏置b的大小 神经网络 bias_神经网络偏置b的大小_15分别代表在三个类别上neurons的输出(并没有经过softmax层),神经网络偏置b的大小 神经网络 bias_深度学习_16代表真实类别标签的三个分量。权重的更新为神经网络偏置b的大小 神经网络 bias_神经网络_17, 神经网络偏置b的大小 神经网络 bias_神经网络_18为learning rate, 如下图证明所示,这样的更新可以使得系统整体的误差神经网络偏置b的大小 神经网络 bias_神经网络_19不断减小。

神经网络偏置b的大小 神经网络 bias_人工智能_20

Weight Updating

神经网络偏置b的大小 神经网络 bias_神经网络_21

Case1: Between the hidden layer and the output layer

简单地理解来说,就是误差神经网络偏置b的大小 神经网络 bias_权重_22对预测值神经网络偏置b的大小 神经网络 bias_神经网络偏置b的大小_23求偏导,然后预测值神经网络偏置b的大小 神经网络 bias_神经网络偏置b的大小_23针对其计算中的e的指数上的和神经网络偏置b的大小 神经网络 bias_神经网络_25求偏导,最后该和神经网络偏置b的大小 神经网络 bias_神经网络_25神经网络偏置b的大小 神经网络 bias_神经网络偏置b的大小_27求偏导。

神经网络偏置b的大小 神经网络 bias_权重_28


其中的sensitivity表示出来,可以复用在后面链式a hidden layer and a hidden layer之间状态更新的链式求导,链式前面sensitivity都一致,不一致的是后面神经网络偏置b的大小 神经网络 bias_神经网络_25神经网络偏置b的大小 神经网络 bias_神经网络偏置b的大小_27还是对神经网络偏置b的大小 神经网络 bias_人工智能_31求导。

Case2: Between a hidden layer and a hidden layer

神经网络偏置b的大小 神经网络 bias_深度学习_32

实现改进的方面

Full Batch and mini-batch weight update

这是一种加快训练速度的方式,我们将所有数据用于训练的一轮称作one epoch. 在一个epoch中每多少个训练样本用于权重更新称作batch size.

  • Full-batch: 训练需要多次epoch,每次epoch将所有训练样本的gradient用于更新权重,一个epoch进行一次 backward pass.
  • Mini-batch:在一个epoch中,每几个样本的gradient进行权重更新,一个epoch进行多次 backward pass.
  • Online batch size: 每个样本的gradient都用于权重更新,batch size=1,前面的很多概念都是这个下面的。

Dropout

丢掉神经网络中的几个节点预防过拟合overfitting。

神经网络偏置b的大小 神经网络 bias_深度学习_33

Adaptive Moment estimation

之前的权重更新都是神经网络偏置b的大小 神经网络 bias_神经网络偏置b的大小_34,现在引入momentum和root mean square,处理噪声问题带来的稀疏的gradient。

神经网络偏置b的大小 神经网络 bias_深度学习_35

相关题目

weight update between the hidden layer and the output layer

神经网络偏置b的大小 神经网络 bias_权重_36


weight update Between a hidden layer and a hidden layer

神经网络偏置b的大小 神经网络 bias_权重_37