CNN学习笔记(二)

说到CNN,小伙伴们现在可能还对这个概念还比较陌生,不过看了第一篇的概述,想必也有了一个初步的印象,CNN模型可以帮助我们完成对图像分类,人脸识别等任务。
  回到细节上来。更为详细的 CNN 工作概述指的是你挑一张图像,让它历经一系列卷积层、非线性层、池化(下采样(downsampling))层和完全连接层,最终得到输出。正如之前所说,最好地描述了图像内容的一个单独分类或一组分类的概率。如今,难点在于理解其中每一层的工作方法。我们先来看最重要的部分。
  
  1. 卷积层
  
  开始我们给计算机输入一张图片,它以三维张量的形式存储着。我们现在要提取特征,本来是从一整张图上去看有没有这一个特征,现在我们缩小范围,只去看一个感受野(receptive field),比如3×3的一个区域,然后我们可以去在这样一个receptive field上放置很多神经元,去提取不同的特征。这样从原来的一整张图片缩小到一个receptive field,参数就减少了。

当然,我们还要再这张图片的其它地方去寻找特征,我们可以把3×3的receptive field向右平移1个单位,平移的距离就是stride,当然每次移动多少取决于你自己,也可以移动很大一段步长,但是万一你想要的这个特征就在移动步长的这一段,那就没法探测到,就会丢失掉特征,所以步长的设定一般采用1或者2啊,具体要看实际情况。
  在这里插入图片描述
当然还有另外一种方式,来理解卷积的过程,我们可以使用卷积核在整个图片上移动。输入内容为一个 32 x 32 x 3 的像素值数组,我们使用 5 x 5x 3 的卷积核在这个图上滑过,当然卷积核也是立体的,每一层都对应要扫描过。对应的具体的数学计算是,卷积核中的值会与图像中的原始像素值相乘(又称为计算点积)。这些乘积被加在一起(从数学上来说,一共会有 75 个乘积)。
在这里插入图片描述
现在你得到了一个数字,这时只是左上角的一个数字,假设stride是1,我们的卷积核继续滑动,向右平移一个单位,经过卷积计算后再得到一个数(以此类推),最后我们得到了一个28 x 28 x 1 的数组,我们称之为激活映射(activation map)或特征映射(feature map),也可以叫特征图。之所以得到一个 28 x 28 的数组的原因在于,在一张 32 x 32 的输入图像上,5 x 5 的卷积核能够覆盖到 784 个不同的位置。这 784 个位置可映射为一个 28 x 28 的数组。简单来说就是(32-5)/1+1,为什么这么计算,下一篇我会详细说明。
我们每使用一个卷积核就会得到一张特征图,如果用64个卷积核,那么我们最后的输出就是28×28×64。其中64就是通道数channels。采用的卷积核越多,空间维度( spatial dimensions)保留得也就越好,我们能采集到更多的特征。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

magicwindyyd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值