Back Propagation算法

1:神经网络简析

2:Back Propagation算法

3:用BP神经网络解决异或问题

前面对于一个神经网络分析了它的前馈计算结果

但是对于参数更新一直还没有说

这里先采用Back Propagation算法。学这个东西的时候,许多线性代数的知识都忘得差不多了,所以可能适合很多没有学过线性代数或者线性代数知识匮乏的人一起研究。

先来简单构建一个二层神经网络

这里最左边是一个输入层,中间是隐含层,最右边是输出层

以前我们所看到的类似于感知机这些是基于线性的,而这里可能有多个参数多个偏置。中间的隐含层可以有多个,但是这里只画了一个隐含层,有两个线性关系,分别是输入层和隐含层,隐含层和输出层。

这个就是上面的两层神经网络所过程的详细图

O对应的是当前层的输出也是下一层的输入,a是对应每一层的计算结果,W是作为每一层的权重,b是偏置

W1:2行3列(2行是有2个输入,3列是每个输入有三条linear)

W2:3行1列(3行是有3个输入,1列是每个输入只有一条linear)

b1:1行3列(1行是每个线性关系只有一个b,而3列是每个输入对应三条linear)

b2:1行1列

这里的O2其实就是y,对应的其实就是输出结果

最后的loss暂时先用均方误差来计算,不过这不是重点,重点是BP算法。

如果像之前说的,使用前向传播,能够将每一个输入输出计算出来,那么一直传播到最后一层,一定能够计算出最后的结果loss

那么现在重点就是怎么使用BP算法,来逆向传播,更新参数:权重W和偏置b

更新参数就是用之前在https://blog.csdn.net/weixin_43272605/article/details/101152566这篇博客说过的梯度下降法,能够将权重和偏置减低到尽量最好的状态。

这里如果知道梯度下降,或者知道导数的知识应该不难看懂

关键是这个求导过程怎么弄得。

记得高中讲过链式求导,比如sin(2x+1),对它求导,可以先将2x+1看成一个整体,先对它求导,然后再使用2x+1对x求导,两个结果相乘即可

这里也是一样的,兄弟!!!!

这里我们因为loss和y有直接关系,那么loss可以对y求导,而y(O2)与a2有直接关系,那么y可以对a2求导,a2又可对W2求导

那么根据链式求导法则

至于y和a2的关系,loss和y的关系,可能公式不同,对应的关系不同

y和a2用的是医用rule规则,也就是上面的p函数,比如Sigmoid,对于Sigmoid求导:Sigmoid(x)'=Sigmoid(x)*(1-Sigmoid(x))

而loss和y可以用均方误差

这样是不是就一目了然了,我们只需要继续逆向传播就可以了。

但是需要注意,除了最后一层,并没有了loss函数了,这又该怎么解决。

一般化问题

前面知识举了一个小例子

利用的是两层神经网络,将问题一般化后,就不知道有多少层,隐含层就真的是隐含层了。

像上面这个图一样的话,就是说只有最后一个是loss,该怎么去计算,该怎么去求导

比如说,怎么根据来更新W(l)的值。其实和上面的一样,同样可以根据a(l)和W(l)的关系,然后这里的话,就先不是loss和O(l)而是loss和a(l)的关系求导,待会儿可以有个巧妙的地方。

我们重点针对loss和a(l)的关系来进行求导计算

同样利用链式法则

像这个一样

所以对于loss对a(l)求导就可以构成如下关系

那么对于这个式子的解析

那么完整的关系递推公式为,其中p(al)为激活函数,这里可以说是Sigmoid函数

然后我们看这里最后推出的是

根据第l+1层的loss与a(l+1)的关系得出

第l层的loss与a(l)的关系,实现了复用,不用重新迭代计算。

所以我们就先根据最后一层,就可以得出最后一层的权重和偏置的更新,然后利用BP算法往前逆向传播来更新其他权重和偏置。

注意,上面的公式我都是将矩阵看成了一个变量,在实际计算的时候,需要注意矩阵求导的行列变换。

现在,我们先重新理一理过程。

整个过程就是

  • 前馈传播:先由最初的某一个样本输入,一个个得出每一个值
  • 逆向传播:由最后的loss,逆向更新权重和偏置

重复这个过程就是,第一个过程很简单,一个个计算就是了。

第二个过程其实也不难,就是梯度下降的时候计算稍微麻烦点。理解理解就可以了。然后注意矩阵求导时注意的问题。

那么对于第l层的权重更新

这两个就可以这样陆续更新的。

更新过程W和b其实是一样的。

接下来我们用pytorch来实现一个用BP神经网络解决异或问题

这个就先讲到这里,如果有什么不对,可以互相探讨

QQ:1308161085

发布了66 篇原创文章 · 获赞 31 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43272605/article/details/103332361