卷积神经网络原理_神经网络原理简述—卷积Op求导

本文深入探讨卷积神经网络(CNN)训练中的自动求导细节,以单个数学操作(Op)为节点,对比了Pytorch、MXNet和TensorFlow 2.0与Caffe、TensorFlow 1.x的自动求导机制。通过实例分析了卷积Op中关于输入x、权重k和偏置b的偏导数计算,展示了如何将卷积转换为矩阵乘法形式以简化求导过程。文章还预告了后续将讨论其他操作的求导和Autograd的构图与计算模式。
摘要由CSDN通过智能技术生成

目前主流的CNN训练框架,如pytorch、mxnet、tensorflow2.0中都已经集成了autograd的机制,自动求导的机制相较于传统训练框架如caffe、tensorflow 1.x等粒度要精细。caffe、tensorflow 1.x一般以单层Op作为BP的节点,pytorch、mxnet、tensorflow 2.0中集成了autograd的机制,以单个math op作为bp节点。

本文通过算例跟大家讨论一下卷积Op在CNN训练过程中的一些求导细节,采用的记号和形式主要参考caffe、tensorlfow 1.x的设计模式,粒度为单个layers(如Conv2D layers)。卷积的数学符号的计算图,一般可以用如下图表示:

c70db38c2c486206b69034519de39191.png
卷积图例

上图中,我们一般称x为features,k为conv kernel,b为bias。卷积的inference path可以参考上图中的红线方向箭头,其back-propagation path可以参考上图中的蓝色方向箭头。通过观察不难反向,在卷积Op中如果想实现反向传播,我们需要考虑三个数据项的求导过程,即y关于x的偏导、y关于b的偏导、y关于k的偏导。我们先来看一个简单的算例:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值