10 卷积网络 convolutional networks

文章讨论了卷积神经网络中的关键概念,包括卷积过程、Padding的作用、步幅卷积和池化用于减少计算复杂度和提高泛化能力,以及分组卷积和扩张卷积如何处理大通道数的问题。此外,还介绍了卷积的微分操作在反向传播中的应用。
摘要由CSDN通过智能技术生成

卷积

如果将图片从 H ∗ W ∗ C H*W*C HWC 拉伸到 N ∗ 1 N*1 N1 的维度,而参数矩阵又是 N ∗ M N*M NM 的大小。N很大,M也很大。整个网络中的参数量会变得巨大。

卷积过程,使用一个filter 在整个图片上滑动。
当然输入的图象可能有多个channel,输出的图象也可以有更多的channel
请添加图片描述

请添加图片描述

Padding 填充

当卷积完成之后,会发现输出图像的 H W 高和宽都小了一圈。
这时我们需要进行填充。一般都是填充0.
如果卷积核的大小是奇数的k,那么在图像周围一圈填充的宽度是 (k-1)/2

请添加图片描述

Strided Convolutions / Pooling 步幅卷积池化

用于对输入数据进行下采样,有助于减少网络的计算复杂度并提高其对新数据的泛化能力。

Pooling

池化是将输入分成非重叠的区域,并在每个区域内取最大值或平均值。

步幅卷积

使得卷积核以大于一的步幅在图像上进行滑动。

Grouped Convolutions 分组卷积

如果输入、输出的channel数依然很大,会导致卷积核中的参数依然很多。会导致过拟合并且降低计算速度。

使用分组卷积,将输出的channel和输入的channel都分组。 对应分组的输出channel只和对应的分组的输入channel相关。

请添加图片描述

Dilations

扩张卷积(Dilated Convolution),也称为空洞卷积(Atrous Convolution),是一种在卷积神经网络中常用的操作。它可以增加卷积神经网络的有效感受野(Effective Receptive Field),从而扩大网络的感受野范围,以提高网络对全局信息的感知能力。

但是如果使用扩张卷积,想要输入和输出得到相同的大小,必须增加更多的填充。

请添加图片描述

卷积的微分操作

定义卷积操作
z = c o n v ( x , W ) z = conv(x, W) z=conv(x,W)
在进行反省传播时,我们需要计算伴随矩阵

v ˉ ∂ c o n v ( x , W ) ∂ W , v ˉ ∂ c o n v ( x , W ) ∂ x \bar{v}\frac{\partial conv(x,W)}{\partial W} , \bar{v}\frac{\partial conv(x,W)}{\partial x} vˉWconv(x,W),vˉxconv(x,W)

考虑对于简单矩阵乘法运算

z = W x z = Wx z=Wx
∂ z ∂ x = W \frac{\partial z}{\partial x} = W xz=W
得到伴随矩阵 ▽ x y = W T v \triangledown_{x} y = W^Tv xy=WTv

当向下游传递的时候,我们只需要计算 W T W^T WT,便可以计算梯度。

对于卷积操作又该怎么求 W T W^T WT

请添加图片描述
请添加图片描述

当我们计算梯度伴随的时候,向下游传递的值为 W ^ T v \hat{W}^T v W^Tv ,相当于将卷积核反转进行卷积。

请添加图片描述

对卷积操作求梯度,相当于上游梯度 v 与 卷积核W的反转进行卷积。

v ˉ ∂ c o n v ( x , W ) ∂ W \bar{v}\frac{\partial conv(x,W)}{\partial W} vˉWconv(x,W) 这个情况怎么求?

请添加图片描述

将x展开成上面的式子的情况,可以使用 im2col 函数进行操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值