先上链接:最容易听懂的BP神经网络教程----萌新入门首选课_哔哩哔哩_bilibili
看一下BP神经网络训练的整个过程。
1.网络拓扑结构:网络分为三层,输入层、隐含层和输出层。若有多个隐含层,就可以称之为深度神经网络。通常使用全连接的方式。
输入层 :接收外部信息和数据
隐藏层 :对信息进行处理、调整权值、反馈
输出层 :对计算结果进行输出
全连接神经网络是指当前层的每个神经元都与前一层的所有神经元相连,且每一个连接都有一个权值,每层神经元的状态只影响下一层神经元,而同一层的神经元之间没有连接。
2.核心过程:训练过程分为正向传播和反向传播;
(1)正向传播:按照公式一层一层的计算隐层神经元和输出层神经元的输入和输出。
(2)反向传播:将输出结果与预期值作比较,利用二者的误差(上图中的Loss)来估计其直接前导层的误差,以此类推,一直到输入层,不断调整产生误差的节点的权值。使得输出的误差减小到允许范围内。
训练流程图如下。
具体的计算方法视频中讲的很好。无论是一维数据还是二维矩阵,计算导数或偏导都是相同的方法,二维矩阵要满足一个条件是反向传播计算出的矩阵大小需要与原矩阵一致。
根据梯度下降法计算结果后,如何应用呐,一个公式:
梯度下降法:李宏毅2020机器学习深度学习(完整版)国语_哔哩哔哩_bilibili(第三节课,第四节课中有讲到)
github上有实现代码,下面是视频中讲到的,备注写的也很详细。
结束,若有错误请大佬指正。