前言

其实,深度神经网络的反向传播我们只需知道这个算法的理念,即这个算法的目标方程是谁,对目标方程做什么运算,为什么这样做或者这样做的好处是什么?解决了以上三个问题,你也就相当于掌握了反向传播的精髓。


第一个问题

目标方程是损失函数(loss function),根据问题本身会有差异;比如分类问题,我们常用交叉熵(cross entropy)作为损失函数,这样能很好的预测分类结果的分布;如果是回归问题,我们常用mse(误差平方的平均值)作为损失函数,这样能很好的度量预测结果的准确度

第二个问题

反向传播算法的精髓就是就是采用梯度下降(grediant decent)的算法进行模型参数更新梯度下降本质就是用目标方程对模型参数求偏导运算,得到的结果再与学习率(learing rate,通常小于1)相乘,再乘以负1,整个结果加上模型初始化或者前一迭代步骤更新后的模型的参数,我们这样就完成了参数的更新,从模型层面讲,完成了模型训练。当然,对于损失函数的处理,也可采用牛顿法或类牛顿法,但最为常见,应用最广仍旧是梯度下降算法。
反向传播算法图解如下图,
图解算法1
图解算法2

第三个问题

这样做的好处,是循环迭代模型不断自我学习更新,节省大量人力精力,当然效果也不错哦;深度学习在视觉方面已经超过人类…


总结

以上就是CNN的反向传播算法的总结,欢迎关于本人blog,接下来还会分享更多干货~

ref:如果你想了解深度神经网络算法的推导过程,请移步[https://www.cnblogs.com/pinard/p/6422831.html]

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐