首页 > 其他分享 >多通道卷积和卷积参数的理解

多通道卷积和卷积参数的理解

时间:2024-09-04 16:48:52浏览次数:9  
标签:卷积 多通道 times 参数 输入 通道

卷积的具体执行流程不属于本博客的重心。

问题描述

卷积的大致执行流程是卷积核对输入张量进行多项式求和运算。如果输入的张量有多个通道,如RGB三通道,那么卷积又是怎么执行的呢?1X1卷积(记作一维卷积)不能获取到局部特征,那么其存在的意义是什么呢?一维卷积的可学习参数是否就是1个呢?

问题总结:

  1. 多通道张量的卷积流程
  2. 一维卷积的作用
  3. 卷积的可学习参数。权重 = 可学习参数

多通道卷积

流程

如图所示,假设输入的维度为(channels, height, weight) \(\rightarrow\) (3,3,3),卷积核的大小为(1, 1)。

conv_1x1-removebg-preview

如果输入的维度只有1个通道,那么卷积核可以按照一般情况通过多项式求和的方式进行卷积。

但是如果输入是多维呢?同一个卷积核,对多个通道进行卷积,得到多个特征图,然后将各个特征图的各元素对应位置相加。从而得到一个输出特征图。正如图所示,中间的两个卷积核,“分裂”成三个(三个是对应输入数据的通道数)。一个卷积核 \(\rightarrow\) 一个输出特征图

综上所示,可以简单理解为:

  • 卷积核的批次大小(用批次batch形容其实不太准确)与输入的通道数相同
  • 由多个通道卷积得到的多个特征图通过相加“聚合”为一个输出特征图
  • 一个卷积核对应一个输出特征图

这也是为什么pytorch中使用卷积需要指明卷积的输入通道数和输出通道数。torch.nn.Conv2d(in_channels, out_channels, kernel_size)

启发

卷积可以改变输入数据的高、宽、通道数。

既然如此,卷积可以实现以下作用:

  1. 提升/降低通道数。提升通道数有利于提取到更深层次的特征。
  2. 一维卷积不能改变输入数据的高和宽,但是能改变通道数。因此,可以用一维卷积来模拟线性层(全连接层)。因为卷积的参数远小于线性层,所以可以一定程度上提高模型训练/推理速度。

卷积参数

首先,卷积中可学习的参数主要是卷积核内的参数。最开始卷积核内的参数是随机初始化的,通过梯度下降算法,不断对参数进行更新。但是卷积中可学习参数数量 \(\not=\) 卷积核中元素个数(\(height \times width\)

由多通道卷积流程可知,如果输入数据是多通道,那么在卷积的过程中,每个卷积核会“分裂”成通道数个,然后对每一个通道都进行卷积。所以,一个卷积核的参数量为$height \times width \times C_{in} \(。输出通道数量决定卷积核个数,所以**卷积层**的参数量为\)height \times width \times C_{in} \times C_{out}$。

事实上,每一个卷积核会给其输出特征图添加一个偏置(标量,可被更新)。

因此,最终卷积层参数量为:

\[height \times width \times C_{in} \times C_{out} + C_{out} \]

标签:卷积,多通道,times,参数,输入,通道
From: https://www.cnblogs.com/coder-shane/p/18396834

相关文章

  • 卷积神经网络CNN
    非原创,转录自知乎https://zhuanlan.zhihu.com/p/156926543,仅作学习笔记之用。一、卷积神经网络1.定义  卷积神经网络(ConvolutionalNeuralNetworks)是一种包含卷积计算且具有深度结构的前馈神经网络,CNN具有表征学习的能力,能够按阶层对输入数据进行平移不变分类。表征......
  • 基于CNN卷积神经网络迁移学习的图像识别实现
    基于CNN卷积神经网络迁移学习的图像识别实现基于CNN卷积神经网络迁移学习的图像识别实现写在前面一,原理介绍迁移学习的基本方法1.样本迁移(InstancebasedTL)2.特征迁移(FeaturebasedTL)3.模型迁移(ParameterbasedTL)4.关系迁移(RelationbasedTL)二.准备工作1.依赖库安......
  • Node.js发票查验接口示例、识别查验接口参数返回
    财务、审计等经常与发票打交道的人员常常会遇到虚假发票、错票、重复报销等一系列问题。对于会计审计、代理记账、电子商务等发票查验量多的企业来说,成千上万张发票如果仅依赖于人工来进行核验,速度慢效率低,准确率也没保障,因此,如何让发票查验工作变得便捷高效,提升发票查验的效......
  • Node.js发票查验接口示例、识别查验接口参数返回
     财务、审计等经常与发票打交道的人员常常会遇到虚假发票、错票、重复报销等一系列问题。对于会计审计、代理记账、电子商务等发票查验量多的企业来说,成千上万张发票如果仅依赖于人工来进行核验,速度慢效率低,准确率也没保障,因此,如何让发票查验工作变得便捷高效,提升发票查验的......
  • 07 Midjourney从零到商用·基础篇:参数合集详解
    在使用Midjourney生成图片时,除了Prompt(提示词)要写好之外,Parameters(后缀参数)也是非常重要的一部分。它可以帮助我们更加精确地控制图像生成的方式,例如:图像的宽高比、风格化程度、完成度等等,是提高AI绘画能力必须了解的部分。因此,今天我们将系统学习下后缀参数的使用方法......
  • 神经网络之卷积篇:详解池化层(Pooling layers)
    详解池化层除了卷积层,卷积网络也经常使用池化层来缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性,来看一下。先举一个池化层的例子,然后再讨论池化层的必要性。假如输入是一个4×4矩阵,用到的池化类型是最大池化(maxpooling)。执行最大池化的树池是一个2×2矩阵。执行过程......
  • 2024最新版IDEA设置启动参数
    1编辑配置2修改显示的的可选项3选择添加VM参数面板就会多出一个可输入VM参数的框:关注我,紧跟本系列专栏文章,咱们下篇再续!作者简介:魔都架构师,多家大厂后端一线研发经验,在分布式系统设计、数据平台架构和AI应用开发等领域都有丰富实践经验。各大技术社区头部专家博主。......
  • 2024最新版IDEA设置启动参数
    1编辑配置2修改显示的的可选项3选择添加VM参数面板就会多出一个可输入VM参数的框:关注我,紧跟本系列专栏文章,咱们下篇再续!作者简介:魔都架构师,多家大厂后端一线研发经验,在分布式系统设计、数据平台架构和AI应用开发等领域都有丰富实践经验。各大技术社区头部专家博主。......
  • 【深度学习】嘿马深度学习笔记第7篇:卷积神经网络,学习目标【附代码文档】
    本教程的知识点为:深度学习介绍1.1深度学习与机器学习的区别TensorFlow介绍2.4张量2.4.1张量(Tensor)2.4.1.1张量的类型TensorFlow介绍1.2神经网络基础1.2.1Logistic回归1.2.1.1Logistic回归TensorFlow介绍总结每日作业神经网络与tf.keras1.3神经网络基础......
  • Python参数传递的艺术:解锁编程灵活性的秘密武器
    引言参数传递作为函数调用过程中的关键环节,对程序逻辑有着重要影响。不同的参数传递方式能够帮助我们更好地组织代码,提高程序运行效率。比如,在处理大量数据或复杂业务逻辑时,合理的参数设计可以让我们的代码更简洁、更高效;而在进行单元测试或者接口调试时,灵活的参数机制又能极大地......