BP神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是目前应用最广泛的神经网络(摘自百度百科)。

结构与原理

神经网络由三部分组成,分别是输入层、隐藏层和输出层,三层指的是三类而不是三个,其中输入层与输出层只有一层,而隐藏层则可以是多层的。每一层都有一定数量的神经元,不同层之间的神经元用线连接起来,每条线都有一定的权重,除了权重,没层还可能会有对应的偏置。

BP神经网络的学习过程由信号的正向传播和误差的反向传播两个过程组成。正向传播时,输入样本由输入层传入,经过隐藏层处理后,传入输出层,输出层计算输出预测的结果,正向传播过程到此结束。当预测的结果与期望存在误差时,则会将误差进行反向传播,通过计算出的误差来反向依次调整隐藏层到输出层的权重和偏置、输入层到隐藏侧的权重和偏置。如此循环两个过程,直至满足停止条件,如权重的更新低于某个域值,预测的错误率低于某个域值,达到一定的迭代次数等。

神经网络的基本原理 BP神经网络的基本原理_损失函数

 如图第一层为输入层,最后一层为输出层,第的2到神经网络的基本原理 BP神经网络的基本原理_bp_02层都为隐藏层,图中只画了一层隐藏层。其中的+1,为偏置。神经网络的基本原理 BP神经网络的基本原理_损失函数_03神经网络的基本原理 BP神经网络的基本原理_权重_04...神经网络的基本原理 BP神经网络的基本原理_bp_05为输入单个样本的输入。神经网络的基本原理 BP神经网络的基本原理_神经网络_06表示从第神经网络的基本原理 BP神经网络的基本原理_神经网络_07层的第神经网络的基本原理 BP神经网络的基本原理_权重_08个神经元指向第神经网络的基本原理 BP神经网络的基本原理_推导_09层的第神经网络的基本原理 BP神经网络的基本原理_损失函数_10个神经元的线的权重。神经网络的基本原理 BP神经网络的基本原理_推导_11表示第神经网络的基本原理 BP神经网络的基本原理_神经网络_12层第神经网络的基本原理 BP神经网络的基本原理_推导_13个神经元的偏置。神经网络的基本原理 BP神经网络的基本原理_神经网络_14表示第神经网络的基本原理 BP神经网络的基本原理_损失函数_15层神经元到第神经网络的基本原理 BP神经网络的基本原理_损失函数_16层的第神经网络的基本原理 BP神经网络的基本原理_神经网络_17个神经元的加权和。神经网络的基本原理 BP神经网络的基本原理_权重_18表示第神经网络的基本原理 BP神经网络的基本原理_神经网络_19层的第神经网络的基本原理 BP神经网络的基本原理_损失函数_20个神经元的加权和神经网络的基本原理 BP神经网络的基本原理_损失函数_21经过激活函数计算后得到该神经元的输出值。除了输入层,其他层的神经元都会有一个前一层神经元的加权和神经网络的基本原理 BP神经网络的基本原理_权重_22做为激活函数的输入,然后得到输出神经网络的基本原理 BP神经网络的基本原理_bp_23

1.正向传播

对于第神经网络的基本原理 BP神经网络的基本原理_bp_24层的第神经网络的基本原理 BP神经网络的基本原理_损失函数_25个神经元,它的输入神经网络的基本原理 BP神经网络的基本原理_推导_26为:

神经网络的基本原理 BP神经网络的基本原理_推导_27

假设神经网络的基本原理 BP神经网络的基本原理_损失函数_28为激活函数,则第神经网络的基本原理 BP神经网络的基本原理_bp_29层的第神经网络的基本原理 BP神经网络的基本原理_bp_30个神经元,它的输出神经网络的基本原理 BP神经网络的基本原理_权重_31为:

神经网络的基本原理 BP神经网络的基本原理_bp_32

而对于整个第神经网络的基本原理 BP神经网络的基本原理_bp_33层权重矩阵神经网络的基本原理 BP神经网络的基本原理_推导_34为:

神经网络的基本原理 BP神经网络的基本原理_bp_35

神经网络的基本原理 BP神经网络的基本原理_损失函数_36神经网络的基本原理 BP神经网络的基本原理_权重_37为第神经网络的基本原理 BP神经网络的基本原理_神经网络_38层神经元数量,神经网络的基本原理 BP神经网络的基本原理_bp_39为第神经网络的基本原理 BP神经网络的基本原理_权重_40层神经元数量。第神经网络的基本原理 BP神经网络的基本原理_bp_41列即为第神经网络的基本原理 BP神经网络的基本原理_推导_42层的第神经网络的基本原理 BP神经网络的基本原理_bp_43个神经元到第神经网络的基本原理 BP神经网络的基本原理_损失函数_44层各神经元的连线的权重。第神经网络的基本原理 BP神经网络的基本原理_权重_45层偏置矩阵神经网络的基本原理 BP神经网络的基本原理_神经网络_46为:

神经网络的基本原理 BP神经网络的基本原理_bp_47

神经网络的基本原理 BP神经网络的基本原理_损失函数_48层神经元的输入矩阵神经网络的基本原理 BP神经网络的基本原理_bp_49即为:

神经网络的基本原理 BP神经网络的基本原理_推导_50

神经网络的基本原理 BP神经网络的基本原理_损失函数_51层的输出矩阵神经网络的基本原理 BP神经网络的基本原理_bp_52即可表示为:

神经网络的基本原理 BP神经网络的基本原理_bp_53

若是多个样本,则神经网络的基本原理 BP神经网络的基本原理_神经网络_54神经网络的基本原理 BP神经网络的基本原理_推导_55为多列,每一列代表一个样本。当神经网络的基本原理 BP神经网络的基本原理_神经网络_56为2时,神经网络的基本原理 BP神经网络的基本原理_神经网络_57,即样本的值。

2.反向传播

对于单个样本神经网络的基本原理 BP神经网络的基本原理_损失函数_58,假设样本正向传播的输出神经网络的基本原理 BP神经网络的基本原理_推导_59为:

神经网络的基本原理 BP神经网络的基本原理_bp_60

定义单个样本的误差神经网络的基本原理 BP神经网络的基本原理_权重_61为:

神经网络的基本原理 BP神经网络的基本原理_神经网络_62

其中L是损失函数,具体是什么根据需要选择,如平方损失函数、交叉熵损失函数等。

反向传播的目的为了让神经网络的基本原理 BP神经网络的基本原理_推导_63的值尽可能的小。而对于一个样本输出值神经网络的基本原理 BP神经网络的基本原理_推导_64是由输出层的输入神经网络的基本原理 BP神经网络的基本原理_权重_65决定的,而神经网络的基本原理 BP神经网络的基本原理_损失函数_66则是受隐藏层到输出层的神经元的线权重神经网络的基本原理 BP神经网络的基本原理_推导_67和偏置神经网络的基本原理 BP神经网络的基本原理_bp_68影响的。所以通过调整权重神经网络的基本原理 BP神经网络的基本原理_损失函数_69和偏置神经网络的基本原理 BP神经网络的基本原理_损失函数_70就可以先影响输出层的输入神经网络的基本原理 BP神经网络的基本原理_推导_71,再影响到输出神经网络的基本原理 BP神经网络的基本原理_损失函数_72,最后影响到神经网络的基本原理 BP神经网络的基本原理_损失函数_73。由于梯度表示函数在某一点处沿着梯度的方向增长最快,沿着梯度的方向可以取得函数的最大值。而我们要求的是函数的最小值,所以要沿着与梯度相反的方向调整参数来最小化神经网络的基本原理 BP神经网络的基本原理_损失函数_74。问题就转化为了对误差函数神经网络的基本原理 BP神经网络的基本原理_推导_75神经网络的基本原理 BP神经网络的基本原理_推导_76神经网络的基本原理 BP神经网络的基本原理_损失函数_77的偏导。根据链式法则,对于单个样本神经网络的基本原理 BP神经网络的基本原理_权重_78从隐藏层神经网络的基本原理 BP神经网络的基本原理_损失函数_79层第神经网络的基本原理 BP神经网络的基本原理_bp_80个神经元到输出层(神经网络的基本原理 BP神经网络的基本原理_神经网络_81层)第神经网络的基本原理 BP神经网络的基本原理_推导_82个神经元的线权重神经网络的基本原理 BP神经网络的基本原理_神经网络_83的偏导神经网络的基本原理 BP神经网络的基本原理_神经网络_84为:

神经网络的基本原理 BP神经网络的基本原理_推导_85

同理偏置神经网络的基本原理 BP神经网络的基本原理_bp_86的偏导神经网络的基本原理 BP神经网络的基本原理_bp_87为:

神经网络的基本原理 BP神经网络的基本原理_神经网络_88

由此整个隐藏层神经网络的基本原理 BP神经网络的基本原理_权重_89层到输出层的神经元的偏置矩阵的偏导神经网络的基本原理 BP神经网络的基本原理_推导_90为:

神经网络的基本原理 BP神经网络的基本原理_损失函数_91

线权重矩阵的偏导神经网络的基本原理 BP神经网络的基本原理_权重_92为:

神经网络的基本原理 BP神经网络的基本原理_bp_93

若是多个样本, 则神经网络的基本原理 BP神经网络的基本原理_权重_94神经网络的基本原理 BP神经网络的基本原理_推导_95神经网络的基本原理 BP神经网络的基本原理_bp_96为多列,每一列代表一个样本。

 

对于单个样本神经网络的基本原理 BP神经网络的基本原理_神经网络_97从隐藏神经网络的基本原理 BP神经网络的基本原理_神经网络_98层第神经网络的基本原理 BP神经网络的基本原理_权重_99个神经元到隐藏层神经网络的基本原理 BP神经网络的基本原理_权重_100层第神经网络的基本原理 BP神经网络的基本原理_权重_101个神经元的线权重神经网络的基本原理 BP神经网络的基本原理_权重_102的偏导神经网络的基本原理 BP神经网络的基本原理_权重_103为:

神经网络的基本原理 BP神经网络的基本原理_神经网络_104

偏置神经网络的基本原理 BP神经网络的基本原理_bp_105的偏导神经网络的基本原理 BP神经网络的基本原理_权重_106为:

神经网络的基本原理 BP神经网络的基本原理_推导_107

由此整个隐藏层神经网络的基本原理 BP神经网络的基本原理_bp_108层到隐藏层神经网络的基本原理 BP神经网络的基本原理_损失函数_109层的偏置矩阵的偏导神经网络的基本原理 BP神经网络的基本原理_损失函数_110为:

神经网络的基本原理 BP神经网络的基本原理_损失函数_111

线权重矩阵的偏导神经网络的基本原理 BP神经网络的基本原理_权重_112为:

神经网络的基本原理 BP神经网络的基本原理_损失函数_113

若是多个样本, 则 神经网络的基本原理 BP神经网络的基本原理_推导_114神经网络的基本原理 BP神经网络的基本原理_神经网络_115为多列,每一列代表一个样本。当神经网络的基本原理 BP神经网络的基本原理_权重_116为2时,神经网络的基本原理 BP神经网络的基本原理_损失函数_117,即样本的值,此时神经网络的基本原理 BP神经网络的基本原理_bp_118即为输入层到隐藏层的线权重矩阵的偏导。设学习率为神经网络的基本原理 BP神经网络的基本原理_推导_119,则权重矩阵与偏置矩阵的更新公式为:

神经网络的基本原理 BP神经网络的基本原理_推导_120

神经网络的基本原理 BP神经网络的基本原理_推导_121

如此从输出层到输入层的一次反向传播就完成了对权重与偏置的更新。然后重复上面的两个过程直至达到迭代终止条件,如权重的更新量低于某个域值,预测值的误差低于某个域值、达到最大迭代次数等。

公式中的神经网络的基本原理 BP神经网络的基本原理_损失函数_122神经网络的基本原理 BP神经网络的基本原理_推导_123要根据具体选择的函数展开求导,如损失函数神经网络的基本原理 BP神经网络的基本原理_推导_124常见的有平方损失函数、交叉熵损失函数等。激活函数神经网络的基本原理 BP神经网络的基本原理_bp_125常见的有Sigmoid、Tanh、ReLU等。