深度学习:卷积神经网络CNN变体

http://blog.csdn.net/pipisorry/article/details/76573696

带步幅的多通道巻积

很多时候,我们输入的是多通道图像。如RGB三通道图像,下图就是。也有可能我们出于特定目的,将几张图组成一组一次性输入处理。

多通道巻积

假定我们有一个 4 维的核张量 K,它的每一个元素是 K i,j,k,l ,表示输出中处于通道 i 的一个单元和输入中处于通道 j 中的一个单元的连接强度,并且在输出单元和输入单元之间有 k 行 l 列的偏置。假定我们的输入由观测数据 V 组成,它的每一个元素是 V i,j,k ,表示处在通道 i 中第 j 行第 k 列的值。假定我们的输出 Z 和输入V 具有相同的形式。如果输出 Z 是通过对 K 和 V 进行卷积而不涉及翻转 K 得到的,那么

这里对所有的 l,m 和 n 进行求和是对所有(在求和式中)有效的张量索引的值进行求和。在线性代数中,向量的索引通常从 1 开始,这就是上述公式中 −1 的由来。但是像 C 或 Python 这类编程语言索引通常从 0 开始,这使得上述公式可以更加简洁。

带步幅巻积

我们有时会希望跳过核中的一些位置来降低计算的开销(相应的代价是提取特征没有先前那么好了)。我们可以把这一过程看作是对全卷积函数输出的下采样(downsampling)。如果我们只想在输出的每个方向上每间隔 s 个像素进行采样,那么我们可以定义一个下采样卷积函数 c 使得

我们把 s 称为下采样卷积的 步幅(stride)。当然也可以对每个移动方向定义不同的步幅。

示例

对于这种情况,这时一个过滤器或卷积核其实对应的是x个卷积核(对应x通道)和一个偏置量,如下图中的W0W1一个通道中的某个区域(蓝框)和它对应的卷积核(红框)做卷积,多个通道的卷积结果线性相加,再加上偏置量(最下的单个红框),得到卷积结果(最右列中心的绿色框)。下图的卷积层包含2个多通道卷积核W0W1,所以结果为2个绿色矩阵。而该卷积层的输出对于下一卷积层一定程度上也就可以说是2通道,处理方式也是类似。

下面的动画显示了包含两个filter的卷积层的计算。我们可以看到7*7*3输入,经过两个3*3*3filter的卷积(步幅为2),得到了3*3*2的输出。另外我们也会看到下图的Zero padding是1,也就是在输入元素的周围补了一圈0。Zero padding对于图像边缘部分的特征提取是很有帮助的。

以上就是卷积层的计算方法。这里面体现了局部连接和权值共享:每层神经元只和上一层部分神经元相连(卷积计算规则),且filter的权值对于上一层所有神经元都是一样的。对于包含两个3*3*3的fitler的卷积层来说,其参数数量仅有(3*3*3+1)*2=56个,且参数数量与上一层神经元个数无关。与全连接神经网络相比,其参数数量大大减少了。

示例中图和公式9.8对应关系。

[cs231 Convolutional Neural Networks]

[卷积神经网络CNN基本概念笔记]

from: http://blog.csdn.net/pipisorry/article/details/76573696

ref:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值