CNN 卷积工作过程详解

其实已经实现过非常多的卷积神经网络了,起初的时候卷积的工作原理也搞的很清楚,但是随着工程/科研的日常,这些非常理论的卷积工作细节我却淡忘了,所幸之前学习过程中留有笔记(吴恩达老师视频),在此整理,希望温故而知新。 参考 吴恩达老师 视频

1.从形态学到卷积算子

在这里插入图片描述在这里插入图片描述
这是一个提取垂直边缘/水平边缘的算子。带给我们最初的理解,卷积核的梯度(形态)会在图像中相似的纹理产生高的响应,这也是为什么卷积可以提取出来垂直边缘/水平边缘的纹理的原因。

2. 卷积核如何工作

相信大家已经非常了解这个图了吧。卷积核滑动的gif图像。

在这里插入图片描述
吴恩达老师视频中,对于一个7x7的图像,使用stride=2的3x3卷积,输出一张3x3的feature map。stride=2 就是卷积在7x7的图像中每次滑动的步长,这里stride=2,表示水平方向和垂直方向步长都是2,这是一种默认说法。
在这里插入图片描述

3.卷积核工作细节

其实大部分的人理解就是上一章节内容,那么卷积核究竟是如何工作的那?
如下图,对于一个6x6x3的RGB图像,注意比上一章节多了一个通道,也就是现在主流的RGB图像。

  • 假设
    6x6x3 -> 4x4
    那么卷积核尺寸(stride=1)是多少?应该如何设计?

答案是:这个卷积核应该是3x3x3的(no padding)。可能这有些想不通,没事,咱们继续往下走,对于输入的一个patch(3x3x3的块)会和卷积核做卷积,卷积核有3x3x3=27个参数(no bias),所以有27次输入块与卷积核对应元素的相乘和26次相加(维度3x3x3变成了1)。
点乘之后就是一个数字,所以这一个块卷积之后的结果只是一个数字!
输出的feature map的channel自然就是就是1。

在这里插入图片描述

4.更进一步:卷积核的channel

刚刚一节是说输入图像增加了一个channel,6x6x3 -> 4x4 ,那么卷积核的channel又是什么那?刚才章节说的其实就是卷积channel维度是1的情况,如果是2,就是下面图的效果(先忽略我的标注)。
6x6x3 -> 4x4
最后把output的两个 4x4的feature map结合到一起,就是4x4x2的output了~~至此卷积的工作过程到此为止结束了!如果对你有帮助,不妨点一个赞~哈哈

5.拓展: 卷积核产生的计算量

对于章节三中的卷积,参数量是多少?众所周时,卷积核是共享参数的。针对6x6x3 -> 4x4, 有

  • 27 次乘法
  • 26次加法(27个数相加,26次加法)
  • 4x4个output
    所以最终
    计 算 量 = ( 27 + 26 ) × 4 × 4 × 1 ( c o n v   c h a n n e l ) 计算量 = (27+26)\times4\times4\times1(conv\,channel) =(27+26)×4×4×1(convchannel)
    对于章节四
    计 算 量 = ( 27 + 26 ) × 4 × 4 × 2 ( c o n v   c h a n n e l ) 计算量 = (27+26)\times4\times4\times2(conv\,channel) =(27+26)×4×4×2(convchannel)
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
CNN卷积神经网络)是一种经典的深度学习模型,用于图像识别、目标检测、语音识别等任务。它的设计灵感来自于生物神经系统中视觉皮层的运作机制。 CNN主要由卷积层、池化层和全连接层组成。卷积层是CNN的核心,通过卷积操作对输入特征进行提取并生成多个特征图。每个特征图由一组共享权重的卷积核对输入进行卷积运算,并经过非线性变换(如ReLU激活函数)得到高维特征表示。卷积层的参数共享和局部感受野使得网络具有平移不变性和局部特征提取能力。 池化层用于减小特征图的空间尺寸,降低计算量和参数数量,并提取特征的空间不变性。最大池化是常用的池化方式,它在每个子区域中选择最大值作为池化结果。池化操作可以减小特征图的尺寸,并保留主要特征。 全连接层在卷积和池化操作后将高维特征映射为输出结果。全连接层中的神经元与前一层的所有神经元都有连接,并通过学习参数实现特征的组合和分类。最后一层一般使用Softmax激活函数将输出映射为概率分布。 CNN的训练通常采用反向传播算法,通过调整卷积核和全连接层的权重来优化网络性能。为了防止过拟合,可以使用正则化技术如Dropout和权重衰减。同时,数据增强可以通过对训练样本进行随机变换,增加样本多样性,提高模型的泛化能力。 总的来说,CNN利用卷积和池化操作进行特征提取和空间不变性学习,并通过全连接层实现分类和回归任务。它的设计使得它在图像处理方面表现出色,是现实世界中许多视觉任务的首选模型。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值