今天介绍卷积网络中一个很重要的概念,通道(Channel),也有叫特征图(feature map)的。

首先,之前的文章也提到过了,卷积网络中主要有两个操作,一个是卷积(Convolution),一个是池化(Pooling)。

其中池化层并不会对通道之间的交互有影响,只是在各个通道中进行操作。

而卷积层则可以在通道与通道之间进行交互,之后在下一层生成新的通道,其中最显著的就是Incept-Net里大量用到的1x1卷积操作。基本上完全就是在通道与通道之间进行交互,而不关心同一通道中的交互。

一般大家说通道指的是图片的色彩通道,而特征图是卷积过滤器的输出结果。但实际上,两者本质上是相同的,都是表示之前输入上某个特征分布的数据。

那么先来看看为什么可以说它们是相同的。

数码相机中的“卷积”

通道这个概念最初指的是电子图片中RGB通道,或者CMYK通道这样的配色方案,比如说一张RGB的64x64的图片,可以用一个64x64x3的张量来表示。这里的3指的就是通道,分别为红色(Red)、绿色(Green)、蓝色(Blue)三个通道。

因为这三种颜色是三原色,所以基本上可以合成任何人眼可分辨的颜色。而三个通道的图片也基本上可以表示所有图片了。

在计算机视觉处理中,一般图片数据除了是单通道的灰度图片外,就是RGB通道的彩色图片了。

对RGB图片进行卷积操作后,根据过滤器的数量就可以产生更多的通道。事实上,多数情况还是叫后面的卷积层中的通道为,特征图。但实际上在张量表示下,特征图和前面提到的通道差不多,有时候后面的也都叫通道了。我是被吴教授带歪的(警察叔叔,就是他!)。

当把通道和特征图当成是一个东西,然后来看RGB图片中的通道是怎么获得的就会非常有意思了。

首先通道需要卷积操作来完成,也就是说我们需要三个过滤器来生成RGB通道。那么这个过滤器是什么呢,又是以什么为输入呢。

这时候如果来看数码相机的原理就明白了。数码相机中最核心的部分是CCD,也叫电子耦合组件。

数码相机成像最关键的部分是CCD中的感光层。CCD中在感光层前面一般会有一个“分层滤色片”,如果是RGB原色分色法的话,就是通过红绿蓝三种颜色的滤色片,射进来的光转换成三原色光,之后在感光层将穿过滤色片的光源转换成电子信号,信号传送到处理芯片,就可以还原成我们所获得的电子图片了。

拿以上数码相机成像过程来类比卷积的话,就会发现,这里的红绿蓝三色的滤光片,正好可以类比成卷积中的过滤器,外界射进来的光就是输入,通过这三个特征过滤器,获得了一个三通道的输出

那么卷积核大小是多大呢,这里可以说是感光元件上一个像素大小,而原始的射入的光的精度则是光子级别的,对这个光的一个像素大小的范围进行卷积,获得这个范围当前过滤器捕捉特征的强度。也就是绿光、红光、蓝光的强度。

通道与特征

这样看来,图片中的通道就是某种意义上的特征图。一个通道是对某个特征的检测,通道中某一处数值的强弱就是对当前特征强弱的反应

如一个蓝色通道中,如果是256级的话,那么一个像素如果是255的话那么就表示蓝色度很大。从这个角度来看灰度图片的话,就会发现其实灰度图片就是一个白色过滤器生成的特征图。

于是卷积网络中的特征图,也能够很直接地理解为通道了。

之后通过对一定范围的特征图进行卷积,可以将多个特征组合出来的模式抽取成一个特征,获得下一个特征图。之后再继续,对特征图进行卷积,特征之间继续组合,获得更复杂的特征图。

又因为池化层的存在,会不断提取一定范围内最强烈的特征,并且缩小张量的大小,使得大范围内的特征组合也能够捕捉到。

对单个特征图进行视觉化的话,会发现它是在对什么特征进行捕捉。最近一个很有意思的Blog文章就展示了这方面的结果,很有意思。

通过特征角度来看卷积网络的话,那么1x1卷积也就很好理解了。即使1x1卷积前后的张量大小完全不变,比如说16x16x64 -> 16x16x64这样的卷积,看上去好像是没有变化。但实际上,可能通过特征之间的互动,已经由之前的64个特征图组成了新的64个特征图。

有时候我理解一个这样的1x1卷积操作,就会把它当成是一次对之前特征的整理

通道的终点

这样子不停卷积下去,直到最后一层,剩下一个一维向量时,每个标量代表着一个通道,捕捉到的特征又是什么呢。

如果是物体分类任务的话,就正是我们需要输出判别的一个个物体类别。

比如说第一个数是代表猫特征,第二个数代表狗特征,第三个代表人... 这个时候去从里面选数值最大那个当做分类的种类就好了。

到这里可能仔细的人会注意,最后几层不是没卷积操作吗,而是全连接网络。

一个概念上需要澄清的是,虽然说1x1卷积,而且也从融合特征角度,给了它特殊的理解。但如果再仔细看看的话,就会发现实际上1x1卷积就是全连接网络。所以我们可以把最后的1x1网络当成某种程度上的1x1卷积。

上面的网络最后几层,将张量展平然后输入全连接网络。因为剩下的特征图中都保留了很重要的信息,为了利用所有的信息,并且让它们获得足够的交互,所以直接输入全连接网络,获得最后的特征向量。

这个特征向量能够用来干什么呢。一个很有趣的应用案例是Siamese网络。输入一张脸,输出一个128的特征向量,于是这个向量就类似于ID号码。

之后再输入一张脸,得到一个特征向量,这时候只需要比较一下获得的两个特征向量就能够知道这两张脸是不是同一个人。

如果将最后的特征向量视觉化,或许我们还能发现,向量中每个标量所代表的特征,比如说眼睛之间的间距,肤色...

用本文的通道来说的话,最后获得了一个128个通道向量表示。

转载于:https://blog.csdn.net/qian2213762498/article/details/82924819

(转)卷积网络中的通道(Channel)和特征图相关推荐

  1. 卷积网络中的通道(Channel)和特征图

    卷积网络中有一个很重要的概念,通道(Channel),也有叫特征图(feature map)的. 首先,卷积网络中主要有两个操作,一个是卷积(Convolution),一个是池化(Pooling). ...

  2. 卷积网络中的通道(channel)和特征图(feature map)

    卷积网络中的通道(Channel)和特征图 转载自:https://www.jianshu.com/p/bf8749e15566 今天介绍卷积网络中一个很重要的概念,通道(Channel),也有叫特征 ...

  3. 卷积网络中的通道(Channel)理解

    卷积网络中的通道(Channel)理解 卷积网络中有一个很重要的概念,通道(Channel),也有叫特征图(feature map)的. 卷积网络中主要有两个操作,一个是卷积(Convolution) ...

  4. 卷积网络中的通道、特征图、过滤器和卷积核

    卷积网络中的通道.特征图.过滤器和卷积核 1.feature map 1 feature map 在cnn的每个卷积层,数据都是以三维形式存在的.你可以把它看成许多个二维图片叠在一起(像豆腐皮一样), ...

  5. 【CNN】理解卷积神经网络中的通道 channel

    在深度学习的算法学习中,都会提到 channels 这个概念.在一般的深度学习框架的 conv2d 中,如 tensorflow .mxnet ,channels 都是必填的一个参数. channel ...

  6. 如何理解卷积神经网络中的通道(channel)

    在卷积神经网络中我们通常需要输入 in_channels 和 out_channels ,即输入通道数和输出通道数,它们代表什么意思呢?本文将给出一个形象的理解. 对于通道的理解可以参考下面的这篇文章 ...

  7. CVPR2020:点云分析中三维图形卷积网络中可变形核的学习

    CVPR2020:点云分析中三维图形卷积网络中可变形核的学习 Convolution in the Cloud: Learning Deformable Kernels in 3D Graph Con ...

  8. Gram矩阵与卷积网络中的卷积的直观理解

    Gram矩阵其实是一种度量矩阵.矩阵分析中有这样的定义. 设 V V是nn维欧式空间 ϵ1,⋯,ϵn \mathbf{\epsilon_1, \cdots, \epsilon_n }是它的一个基, g ...

  9. 深度学习卷积网络中反卷积/转置卷积的理解 transposed conv/deconv

    搞明白了卷积网络中所谓deconv到底是个什么东西后,不写下来怕又忘记,根据参考资料,加上我自己的理解,记录在这篇博客里. 先来规范表达 为了方便理解,本文出现的举例情况都是2D矩阵卷积,卷积输入和核 ...

最新文章

  1. mac git安装及github配置
  2. 盘点上海AI行业的10岁、20岁和30岁们
  3. ABAP内表(internal table)有关的系统变量
  4. 打破云原生时代存储瓶颈,SmartX 发布 K8s 云原生存储 IOMesh
  5. 开源 java CMS - FreeCMS2.5 标签 infoPage
  6. 海归计算机专业简历怎么写,海归硕士求职简历该怎么写?
  7. c/c++教程 - 2.2 引用的使用方法,引用做函数参数,引用做返回值,引用的本质,常量引用
  8. pytorch---张量和自动求导
  9. android 盒子远程调试,家+TV机顶盒怎么开启ADB/USB远程调试模式,安装软件?
  10. 《统计学》第八版贾俊平第八章假设检验知识点总结及课后习题答案
  11. 如何在CAD(CASS)中加载卫星影像
  12. excel随机数公式c语言,【详解】2个Excel随机数函数公式 Excel快速生成随机数据函数使用方法...
  13. 最全的常用正则表达式--包含校验数字、字符、一些特殊的需求等等
  14. 通过云打码实现验证码识别
  15. set Assigning an instance of ‘esri.***‘ which is not a subclass of ‘esri.***‘错误偶遇
  16. hoolilaw案例分析:在美国如何治理扰民邻居
  17. 获取安卓系统自带CA证书
  18. 学网络安全到什么程度才能找到工作?
  19. 算法之地推算法(逆推法)
  20. 如何添加centos7系统的字体及编码格式?

热门文章

  1. 【文集】Unity的热更新
  2. java检查html是否闭合,Java Html解析器和闭合标记
  3. 成功解决tensorflow.python.framework.errors_impl.InvalidArgumentError: slice index 1 of dimension 0 out o
  4. Linux驱动——驱动模块初次加载成功,后面失败 failed with error -38
  5. 怎样学好中医,非常值得一读
  6. 全网首发!javafor循环跳出循环
  7. uniapp使用map地图组件
  8. 【Java】一次简单实验经历——社交网络图的简化实现
  9. mmd动作:FREELY_TOMORROW
  10. ​如何导入西安80坐标范围下载谷歌卫星地图