深度神经网络之反向传播算法

1.DNN反向传播算法简介

现在对应到我们的DNN模型之中,即输入层有n_in个神经元,输出层有n_out个神经元,再加上一些含有若干个神经元的隐含层。此时我们需要找到所有隐含层和输出层所对应的线性系数矩阵W、偏倚向量b,希望通过DNN对所有的训练样本计算后,计算结果能够等于或很接近样本输出,当有新的测试样本数据时,能够有效预测样本输出。但怎样找到合适的线形系数矩阵W和偏倚变量b呢?

对DNN损失函数用梯度下降法进行迭代优化求极小值的过程,便是我们的反向传播算法(Back Propagation,BP)

2.DNN反向传播算法数学推导

进行DNN反向传播算法之前,我们需要选择一个损失函数,来度量计算样本的输出和真实样本之间的损失。但训练时的计算样本输出怎么得到呢?

通过损失函数,我们能够用梯度下降法来迭代求解每一层的W,b。首先计算的是输出层,其中输出层的W,b满足下式

3.DNN反向传播算法过程

梯度下降算法有批量(Batch),小批量(Mini-Batch),随机三种方式,采用哪种方式取决于我们的问题而定。为简化描述,这里采用最基本的批量梯度下降法来描述反向传播算法。

通过深度神经网络之中的前向传播算法和反向传播算法的结合,我们能够利用DNN模型去解决各种分类或回归问题,但对于不同问题,效果如何呢?是否会过拟合呢?我们将在下次文章中详细介绍损失函数和激活函数的选择、正则化方面的知识点,来让深度神经网络能更精确的解决我们的问题。

参考

刘建平Pinard_深度神经网络(DNN)反向传播算法(BP)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180628G1A4M400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券