接着上一节,本节讲解模型自我学习的数学计算过程究竟是怎么样的。
5.1 前馈网络
一个最简单的前馈神经网络如图所示,对于每一个隐藏层,输入对应前一层每一个节点权重乘以节点输出值,输出则是经过激活函数(例如sigmoid函数)计算后的值。
在这样的网络中,输入的数据 x 经过网络的各个节点之后,即可计算出最终的模型结果。这样就完成了一个最基本的前馈网络从输入到输出的计算过程。
5.2反向传播
在实际工作中这部分的内容是封装好的。尽管如此,我们仍旧需要了解其原理及过程。
先回顾一下:深度学习的内容主要就是优化更新各个节点之间链接的权重,也就是所谓的『模型的学习就是不断减小损失函数』。
上一章提到过,最小化损失函数通常采用梯度下降的方式,即每一次给模型更新权重的时候按照梯度的方向进行。
反向传播算法(Backpropagation)就是目前训练神经网络最常用且最有效的算法。通过反向传播,模型会不断更新自己的参数,以达到学习的目的。在这个过程中会经历 3 个步骤。
- 前向传播:将训练数据输入到网络中,数据经过隐藏层,最后达到输出层并作为结果输出。
- 误差及其传播:计算输出值和实际值之间的误差,将误差从输出层向隐藏层反向传递,直到输入层。
- 迭代:在反向传播的过程中,根据误差调整模型各个参数的值,并不断迭代前两个步骤,直至达到结束模型