图解CNN中的卷积(卷积运算、池化、Padding、多通道的卷积)

这篇具有很好参考价值的文章主要介绍了图解CNN中的卷积(卷积运算、池化、Padding、多通道的卷积)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

卷积层是深度学习神经网络中经常使用的一种层。它通过卷积运算来提取输入的特征,常用于图像、语音等信号处理任务中。

卷积层有以下几个参数:

  1. 卷积核:卷积层中包含若干个卷积核,每个卷积核都是一个二维权重矩阵。卷积核的大小通常是奇数,比如3x3、5x5等,以便于有一个中心点,可以更好地提取特征。
  2. 步长(stride):指卷积核在输入数据上移动的步长。比如,构建一个3x3的卷积核,步长为2,表示每次卷积操作都会跨越2个像素。
  3. 边界填充(padding):指在输入数据的四周填充一圈像素,以保持卷积之后图像的大小与输入数据相同。这样可以避免卷积操作后特征图的大小缩小太快,丢失重要信息。
  4. 激活函数:卷积层后面通常会接一个激活函数,用来引入非线性因素,从而增强网络能力。

这样说有些抽象,上例子

卷积操作

好的,我们可以通过一个简单的例子来说明卷积操作的过程:

阴影部分是第一个输出元素以及用于输出计算的输入和核张量元素: 0 × 0 + 0 × 1 + 0 × 2 + 0 × 3 = 0 0×0+0×1+0×2+0×3=0 0×0+0×1+0×2+0×3=0

图解CNN中的卷积(卷积运算、池化、Padding、多通道的卷积),科研FW,cnn,人工智能,神经网络

池化

这个pooling,是为了提取一定区域的主要特征,并减少参数数量,防止模型过拟合。 比如下面的MaxPooling,采用了一个2×2的窗口,并取stride=2:

图解CNN中的卷积(卷积运算、池化、Padding、多通道的卷积),科研FW,cnn,人工智能,神经网络

除了MaxPooling,还有AveragePooling,顾名思义就是取那个区域的平均值。

Padding

上面的卷积操作有啥问题

  • 每次卷积,图像都缩小,这样卷不了几次就没了; 原图像在经过filter卷积之后,变小了,从(8,8)变成了(6,6)。假设我们再卷一次,那大小就变成了(4,4)了。
  • 相比于图片中间的点,图片边缘的点在卷积中被计算的次数很少。这样的话,边缘的信息就易于丢失。

为了解决这个问题,我们可以采用padding的方法。我们每次卷积前,先给图片周围都补一圈空白,让卷积之后图片跟原来一样大,同时,原来的边缘也被计算了更多次。

图解CNN中的卷积(卷积运算、池化、Padding、多通道的卷积),科研FW,cnn,人工智能,神经网络

对多通道(channels)图片的卷积

彩色图像,一般都是RGB三个通道(channel)的,因此输入数据的维度一般有三个:(长,宽,通道)。 比如一个28×28的RGB图片,维度就是(28,28,3)。

前面的引子中,输入图片是2维的(8,8),filter是(3,3),输出也是2维的(6,6)。

如果输入图片是三维的呢(即增多了一个channels),比如是(8,8,3),这个时候,我们的filter的维度就要变成(3,3,3)了,它的 最后一维要跟输入的channel维度一致。 这个时候的卷积,是三个channel的所有元素对应相乘后求和,也就是之前是9个乘积的和,现在是27个乘积的和。因此,输出的维度并不会变化。还是(6,6)。

但是,一般情况下,我们会 使用多了filters同时卷积,比如,如果我们同时使用4个filter的话,那么 输出的维度则会变为(6,6,4)

从知乎拿的图,来展示上面的过程:

图解CNN中的卷积(卷积运算、池化、Padding、多通道的卷积),科研FW,cnn,人工智能,神经网络

图中的输入图像是(8,8,3),filter有4个,大小均为(3,3,3),得到的输出为(6,6,4)。 我觉得这个图已经画的很清晰了,而且给出了3和4这个两个关键数字是怎么来的

套上激活函数是什么样的

其实,如果套用我们前面学过的神经网络的符号来看待CNN的话,

  • 我们的输入图片就是X,shape=(8,8,3);
  • 4个filters其实就是第一层神经网络的参数W1,,shape=(3,3,3,4),这个4是指有4个filters;
  • 我们的输出,就是Z1,shape=(6,6,4);
  • 后面其实还应该有一个激活函数,比如relu,经过激活后,Z1变为A1,shape=(6,6,4);

所以,在前面的图中,我加一个激活函数,给对应的部分标上符号,就是这样的:

图解CNN中的卷积(卷积运算、池化、Padding、多通道的卷积),科研FW,cnn,人工智能,神经网络

参考:

【DL笔记6】从此明白了卷积神经网络(CNN) - 知乎 (zhihu.com)

6.3. 填充和步幅 — 动手学深度学习 2.0.0 documentation (d2l.ai)文章来源地址https://www.toymoban.com/news/detail-520713.html

到了这里,关于图解CNN中的卷积(卷积运算、池化、Padding、多通道的卷积)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包