如何理解卷积神经网络中的通道(channel)
Medlen 于 2020-11-22 09:16:15 发布 31359 收藏 624 分类专栏: 机器学习&深度学习 文章标签: 卷积神经网络 通道 channel 深度学习 cnn 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn/weixin_38481963/article/details/109920512 版权 <div id="blogColumnPayAdvert">
<div class="column-group">
<div class="column-group-item column-group0 column-group-item-one">
<div class="item-l">
<a class="item-target" href="https://blog.csdn/weixin_38481963/category_10236967.html" target="_blank" title="机器学习&深度学习" data-report-click="{"spm":"1001.2101.3001.6332"}">
<img class="item-target" src="https://img-blog.csdnimg/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="">
<span class="title item-target">
<span>
<span class="tit">机器学习&深度学习</span>
<span class="dec">专栏收录该内容</span>
</span>
</span>
</a>
</div>
<div class="item-m">
<span>8 篇文章</span>
<span>14 订阅</span>
</div>
<div class="item-r">
<a class="item-target article-column-bt articleColumnFreeBt" data-id="10236967">订阅专栏</a>
</div>
</div>
</div>
</div>
<article class="baidu_pl">
<div id="article_content" class="article_content clearfix">
<link rel="stylesheet" href="https://csdnimg/release/blogv2/dist/mdeditor/css/editerView/kdoc_html_views-72cc5cd3d1.css">
<link rel="stylesheet" href="https://csdnimg/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-6e43165c0a.css">
<div id="content_views" class="markdown_views prism-github-gist">
<svg xmlns="http://www.w3/2000/svg" style="display: none;">
<path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
</svg>
<p>在卷积<a href="https://so.csdn/so/search?q=%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C&spm=1001.2101.3001.7020" target="_blank" class="hl hl-1" data-report-click="{"spm":"1001.2101.3001.7020","dest":"https://so.csdn/so/search?q=%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C&spm=1001.2101.3001.7020","extra":"{\"searchword\":\"神经网络\"}"}" data-tit="神经网络" data-pretit="神经网络">神经网络</a>中我们通常需要输入 <code>in_channels</code> 和 <code>out_channels</code> ,即输入通道数和输出通道数,它们代表什么意思呢?本文将给出一个形象的理解。</p>
对于通道的理解可以参考下面的这篇文章:
【CNN】理解卷积神经网络中的通道 channel
这里我稍微总结一下核心观点:
- 对于最初输入图片样本的通道数
in_channels
取决于图片的类型,如果是彩色的,即RGB类型,这时候通道数固定为3,如果是灰色的,通道数为1。 - 卷积完成之后,输出的通道数
out_channels
取决于过滤器的数量。从这个方向理解,这里的out_channels
设置的就是过滤器的数目。 - 对于第二层或者更多层的卷积,此时的
in_channels
就是上一层的out_channels
,out_channels
还是取决于过滤器数目。
在第2条我用的是过滤器,而不是卷积核,跟原作者观点有些不同,因为我认为在这里用过滤器描述更合适。卷积核和过滤器的区别可以看我的这篇文章 卷积核(kernel)和过滤器(filter)的区别
对于第1点可以参考下图:
这里输入通道数是3,每个通道都需要跟一个卷积核做卷积运算,然后将结果相加得到一个特征图的输出,这里有4个过滤器,因此得到4个特征图的输出,输出通道数为4。
单个特征图的计算可看下图:
再来看一下单通道的例子:
输入是灰色图片,输入通道数是1,卷积核有3个,做三次卷积操作,生成3个特征图,输出通道数为3。
单通道特征图的计算为:
这里可能会有人有疑惑为什么图片的类型是RGB的,它的通道数就是3呢?
这里要从计算机如何识别图片来考虑。在人眼中看到的图片是五颜六色,对于计算机来说就只是数字。那么计算机如何分辨图片颜色呢?——RGB。所有颜色都可以用这三种颜色来表示,因此我们只需要三个数字就可以表示一种颜色。
下图是我随机选择的几个颜色的RGB表示:
计算机要表示整张图片,就是用数字去表示整张图片的所有像素,但是每个像素需要三个数值来表示,于是就有了图片的3通道。每个通道分别表示RGB三种颜色。
最初的通道数是3,但是有的神经网络通道数目多达100多个,怎么理解呢?
我们依然可以类比RGB通道,对于多通道我们可以看做是颜色表示的更抽象版本,每一个通道都表示图像某一方面的信息。
文章知识点与官方知识档案匹配,可进一步学习相关知识 Python入门技能树首页概览 218612 人正在系统学习中 Medlen 关注 关注- 238 点赞
- 踩
- 624 收藏
- 打赏
- 26 评论
-
如何理解卷积神经网络中的通道(channel)
在卷积神经网络中我们通常需要输入 in_channels 和 out_channels ,即输入通道数和输出通道数,它们代表什么意思呢?本文将给出一个形象的理解。对于通道的理解可以参考下面的这篇文章:【CNN】理解卷积神经网络中的通道 channel这里我稍微总结一下核心观点:对于最初输入图片样本的通道数 in_channels 取决于图片的类型,如果是彩色的,即RGB类型,这时候通道数固定为3,如果是灰色的,通道数为1。卷积完成之后,输出的通道数 out_channels 取决于过滤器的数量。
复制链接
扫一扫
</div> <div class="share-code-type"><p class="hot" data-type="hot"><span>热门</span></p><p class="vip" data-type="vip"><span>VIP</span></p></div> </div> </li> </ul> </div> <div class="toolbox-right"> <div class="tool-directory"> <a class="bt-columnlist-show" data-id="10236967" data-free="true" data-subscribe="false" data-title="机器学习&深度学习" data-img="https://img-blog.csdnimg/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64" data-url="https://blog.csdn/weixin_38481963/category_10236967.html" data-sum="8" data-people="14" data-price="0" data-oldprice="0" data-join="false" data-studyvip="false" data-studysubscribe="false" data-report-click="{"spm":"1001.2101.3001.6334","extend1":"专栏目录"}">专栏目录</a> </div> </div> </div>
首先,对于卷积核(或称为卷积过滤器)的大小,一个卷积核的通道数与它进行卷积的输入必须是相同。
例如:32323的图像的卷积核通道数必须是3,如553。
在这个卷积核中三层卷积的参数是相同的(对于三个通道而言)。
其次,对于卷积运算,一个卷积核经过计算得到的一定是一个映射,一个数字。
接着,对于卷积核的深度,就是有几个卷积核。下图中…
先回顾一下多层神经网络:
多层神经网络包括一个输入层和一个输出层,中间有多个隐藏层。每层有若干个神经元,相邻两层之间的后一层的每个神经元都分别与前一层的所有神经元连接。在识别问题中,输入层(即网络的第一层)代表特征向量,其每一个神经元代表一个特征值。
多层神经网络在图像识别问题中,输入层的每一个神经元可能代表一个像素的灰度值。但这种神经网络用于图像识别有几个问题,一是没有考虑图…
举例说明,RGB图像,为R,G,B三通道图像,通道数为3,对应的卷积核输入通道数也要为3
黑白灰度图像,只用一个二维矩阵即可表示,通道数为1,对应的卷积核的输入通道数为1
通道数假设为n,则卷积核是kernel_sizekernel_sizen,即一个卷积核由n个不同的权重矩阵组成,一个权重矩阵是一个kernel_size*kernel_size大小的方阵,
卷积核的输出通道数与卷积核的数量对应。
有几个卷积核就对应几个输出通道,,最后输出的张量是.
(1)最初输入图片样本的 channels ,取决于图片类型,比如RGB, channels=3(下图)
6x6x3的图像样本,其中图像的大小(像素)为6x6,通道数为3
(2)卷积操作完成后的 out_channels ,取决于卷积核的数量。此时的 out_channels 也会作为下一次卷积时的卷积核的 in_channels
假设现有一个6x6x3的图片样本,使用3x3x3的卷积核(filter)进行卷积操作。此时输入图片的chann…
相信大家和我一样可能道理我们都懂但是一遇到代码就蒙圈,那我们接下来就来看看如何使用torch.nn模块进行卷积操作。
首先附上一张常用卷积操作对应类的命名
#承接上图以2x2卷积操作为例,其调用方式为:
torch.nn.conv2d(in_channels=3, #(整数)输入图
其实"图像通道数"就是图像的xx,呵呵…,其实这里的图像通道数其实是叫做“图像的色彩通道数”,还是来看例子理解吧!
如每一张图片的大小为28281,则表示图片的大小为28*28的像素,*1表示是黑白的,即为一个色彩通道
同理,28283,则表示图片的大小为28*28,*3表示彩色的,即为三个色彩通道。
- 如果一张彩色图片表示成三位矩阵的…
</div>
卷积神经网络
中
通道(
Channel)的
理解
最新发布
qq_54733030的博客
01-05
45
卷积神经网络
中
通道(
Channel)的
理解
常用的
卷积神经网络-1-卷积和
通道
u012744245的博客
01-08
2308
文章目录
CNN1.
CNN基本结构2. 卷积和
通道2.1 分组卷积(Group Convolution)2.2 Convolution VS Group Convolution2.3 Group Convolution的用途2.4 Depthwise Convolution && Pointwise Convolution && Depthwise Separable Convolution2.5 Group Convolution 和 Depthwise + Pointwi
图解神经网络:卷积、池化、全连接(
通道
数问题、kernel与filter的概念)
1900的博客
01-08
7960
卷积、池化、全连接操作、
通道
数计算、filter、kernel
拾遗-
卷积神经网络关于
通道
数改变
鱼之天空的博客
02-16
1万+
以RGB图像为例。
一个1212的像素图,对其进行55的卷积,最后得到一个8*8的像素图。
RGB图像有3个通道(12123),所以卷积核也要有3个通道(553),对像素图进行卷积后得到的结果是881而不是883的图像。最后像素图的深度(输出图像的信道数)取决于卷积核的个数。
如果要得到88256的结果,应该这样做:用256个553的卷积核来卷12123的…
用比较精炼的话概括就是:
输入通道指的是输入了几个二维信息,也就是很直观的rgb图有r,g,b三个通道,这决定了卷积核的通道数,即输入图像的通道数决定了卷积核通道数;(图片中,第一列有三个矩阵,也就是输入通道为3,所以后面,第二列和第三列,也就是两个卷积核,它们也都有三个矩阵,即卷积核数目也为3。)
输出通道是指卷积(关联)运算之后的输出通道数目,它决定了有几个卷积核,即需要输出通道数为几,就需要几个卷积
CNN中的通道介绍可以详细参考如下网址(小白级教程):https://blog.csdn/sscc_learning/article/details/79814146
一般通道Channel的含义就是:每个卷积层中卷积核的数量。
为了更进一步的理解,举个例子,图片使用的是来自吴恩达老师的深度学习课程。
总结一下,一般把channels分为三种:
1:最初输入图片样本的channels,取决于图片的类型,比如RGB
2:卷积操作完成后输出的ou…
“相关推荐”对你有帮助么?
- 非常没帮助
- 没帮助
- 一般
- 有帮助
- 非常有帮助
- 关于我们
- 招贤纳士
- 商务合作
- 寻求报道
- 400-660-0108
- kefu@csdn
- 在线客服
- 工作时间 8:30-22:00
- 公安备案号11010502030143
- 京ICP备19004658号
- 京网文〔2020〕1039-165号
- 经营性网站备案信息
- 北京互联网违法和不良信息举报中心
- 家长监护
- 网络110报警服务
- 中国互联网举报中心
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- 营业执照
- ©1999-2023北京创新乐知网络技术有限公司
更多推荐
神经网络卷积过程
发布评论