DNN in hard way:卷积层

本文详细介绍了卷积层在深度神经网络(DNN)中的应用,特别是图像处理中的2D滤波。卷积层的计算涉及正向传播、反向传播和系数更新,而深度可分离的卷积则进一步优化了计算效率。通过2D卷积,每个输入通道对应一组滤波器,形成特征图。在反向传播中,文章简化讨论了步长为1的情况。深度可分离卷积将卷积层拆分为平面卷积和一维卷积,降低了计算复杂性。
摘要由CSDN通过智能技术生成

卷积层

在上面的几篇文章中,我们已经看到了全链接层的威力,但是,这还远远不够。在本文中,我们将看到DNN的一个重要特性,卷积层。
熟悉信号处理的朋友对于卷积的概念不会陌生,这就是我们常用的滤波。只是在很多应用场景中,不是我们常见的一维滤波,而是图像处理中常见的2D滤波(比如最常见的锐化,就是一个简单的高通滤波)。在深度学习的术语中,滤波器被叫做卷积核(kernal)。
在以图像为输入的DNN网络中,一个卷积核其实是针对于输入所有通道的一个滤波器组(group of filters)。比如以常见的MNIST数据为例,每个输入数据是28x28x3的像素集合(28x28是尺寸,3是RGB 通道)。一种常见的卷积核尺寸是5x5x3,就是说每5x5x3的立方体内所有的像素点都与系数做内积,得到输出的特征图上的一个点。
卷积核的常见参数包括

参数 含义
H×W Heights and Width
CI×CO 输入与输出的信号数目
S Stride 步长,即滤波器每次移动的像素点数,也可以理解为滤波之后的降采样因子
P Padding,填充。为了保持输出的尺寸在输入边界的位置填入的“0”的数目

经过简单的计算可以得到,在长或者宽的维度上,输入尺寸 HDI×WDI×CI 与输出尺寸 HDO×WDO×CO 之间的关系可以表述为

HDO=HDI+Ptop+PbottomHKSH+1WDO=WDI+Pleft+PrightWKSW+1

一般而言,为了简化控制流,我们会约定
Ptop=Pbottom=Pleft=Pright=PSH=SW=S

下面这篇文章对于卷积层的归纳相当不错,对比来看就会发现,还是信号处理中熟悉的味道 :)。
https://zhuanlan.zhihu.com/p/30074309?utm_source=wechat_session&utm_medium=social

卷积层的计算

正向传播

卷积层的正向传播和反向传播的基本运算是单通道的2D卷积(滤波)。为了简化下文的推导和展示,本文添加了一个虚拟层来表示单通道 2D卷积的输出。虚拟层进行加权求和之后可以得到卷积层的真正输出。

vcx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值