在深度神经网络(DNN)模型与前向传播算法中,我们对DNN的模型和前向传播算法做了总结,这里我们更进一步,对DNN的反向传播算法(Back Propagation,BP)做一个总结。
1. DNN反向传播算法要解决的问题
在了解DNN的反向传播算法前,我们先要知道DNN反向传播算法要解决的问题,也就是说,什么时候我们需要这个反向传播算法?
回到我们监督学习的一般问题,假设我们有m个训练样本:{(x1,y1),(x2,y2),...,(xm,ym)}{(x1,y1),(x2,y2),...,(xm,ym)},其中xx为输入向量,特征维度为n_inn_in,而yy为输出向量,特征维度为n_outn_out。我们需要利用这m个样本训练出一个模型,当有一个新的测试样本(xtest,?)(xtest,?)来到时, 我们可以预测ytestytest向量的输出。
如果我们采用DNN的模型,即我们使输入层有n_inn_in个神经元,而输出层有n_outn_out个神经元。再加上一些含有若干神经元的隐藏层。此时我们需要找到合适的所有隐藏层和输出层对应的线性系数矩阵WW,偏倚向量bb,让所有的训练样本输入计算出的输出尽可能的等于或很接近样本输出。怎么找到合适的参数呢?
如果大家对传统的机器学习的算法优化过程熟悉的话,这里就很容易联想到我们可以用一个合适的损失函数来度量训练样本的输出损失,接着对这个损失
本文总结了深度神经网络(DNN)的反向传播算法(BP),阐述了BP要解决的问题,即如何通过梯度下降法优化损失函数。详细介绍了BP的基本思路,包括损失函数的选择、输出层及隐藏层参数的梯度计算,以及反向传播的过程。此外,还提出了反向传播算法在实际应用中可能遇到的问题及其优化方法。
订阅专栏 解锁全文
1952

被折叠的 条评论
为什么被折叠?



