前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习中的参数梯度推导(三)下篇

深度学习中的参数梯度推导(三)下篇

作者头像
灯塔大数据
发布2020-08-31 09:51:16
9870
发布2020-08-31 09:51:16
举报
文章被收录于专栏:灯塔大数据灯塔大数据

前言

在深度学习中的参数梯度推导(三)中篇里,我们总结了CNN的BP推导第一步:BP通过池化层时梯度的计算公式。本篇(下篇)则继续推导CNN相关的其他梯度计算公式。

注意:本文默认读者已具备深度学习上的基本知识

3.2

CNN的BP推导

接下来我们要看看误差逆着经过卷积层会发生什么事情。

那么在反向传播时,我们所讨论的是:

下面正式开始。

数学上和CNN上的卷积操作的区别是,卷积核在前者需要翻转180度。

我们先以一个简单的例子说明为啥这里卷积核要翻转,为啥相对于前传的valid convolution,反传要做full convolution。

接着我们模拟反向求导:

这上面9个式子其实可以用一个矩阵卷积的形式表示,即:

一个结论是如果前向传播是valid模式的卷积运算,那么反向传播就需要做full模式的卷积操作。

接着让我们再看一个不寻常的例子2:

对上述式子展开,进行元素级分析:

其中卷积符号代表CNN中的卷积操作,利用该定义,我们得到:

接着我们模拟反向求导过程:

实际我们可以用下面这个卷积运算来表示上面这些海量的偏导数:

如果我们想让stride>1时和stride=1时的结果能得到统一,我认为那么我们可以将stride>1的情况视为是stride=1的特殊情况,例如,stride=2的话,两个矩阵先按照stride=1那样进行卷积,只是位移如果不够2的话(换句话说,位移总次数如果不能被2整除),卷积结果就输出0。这样我们就得到下面这个计算模式:

现在我们总结下CNN的反向传播算法,以最基本的批量梯度下降法为例来描述反向传播算法。

参考资料

https://www.cnblogs.com/pinard/p/6519110.html

https://grzegorzgwardys.wordpress.com/2016/04/22/8/#unique-identifier

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 融智未来 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档