深度学习入门之BP神经网络(二)上
时间:
2021-03-19作者:安服优
前言
上一篇文章”深度学习入门之BP神经网络(一)“中,我们说到了深度学习的发展历史,以及单个神经元是如何工作,顺便也带出了这两个公式:

PS:本篇文章略长,请一定要耐心耐心读完,由于文章过长,所以分为上下两篇,上篇主要是前向传播,下篇是误差的逆向传播。
一个3层BP神经网络
先对照一个简单的3层BP神经网络的结构介绍几个基本的概念:
1)BP(back propagation)神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络【来自百度百科】。按照误差逆向传播算法训练的多层前馈神经网络指的是BP神经网络将输入信号值作为层放入设定好的网络结构中,经隐含层前向传播给输出层,然后根据输出层信号值与想要得到的值之间的误差逆向传播,不断根据误差值不断修正每一个权重值,直到误差值和实际要求的值的差距达到要求为止。

3)隐含层:设定的网络结构,在上图中是HID 1,HID 2,HID 3;
4)输出层:输出的结果值,在上图中是OUT 1;
5)关于N层神经网络,N具体指总的层数还是单独隐含层数要根据原作者的设计确定,并不统一。本篇文章中3层指的是包含输入层、隐含层、输出层的总层数;
那么我们就从头开始推导BP神经网络的计算迭代过程,在下面的例子中,我们输入了两个参数(输入层神经元IN 1:0.8和IN 2:0.6),而我们希望通过整个网络之后,得到的值是输出层的神经元的值(OUT 1:0.2)。
前向传播
在上一篇文章中,我们说过单个神经元接收上一个神经元的信号值乘以每个信号值的权重(这里解释一下权重,也就是每个信号值X乘以的那个系数W(W即weight))。



在Yout=f(Yin)中,f(x)函数的设计一般会根据需要变更不同的函数,我们目前假设使用的函数是f(x)=x也就相当于:





有关于梯度下降的逆向传播方法及原理,我们将在下一篇继续讲解。
先别走开,我们把之前的隐含层和输出层的权重整合到一个矩阵中,保存下来:
