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

在卷积神经网络中我们通常需要输入 in_channelsout_channels ,即输入通道数和输出通道数,它们代表什么意思呢?本文将给出一个形象的理解。

对于通道的理解可以参考下面的这篇文章:

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

这里我稍微总结一下核心观点:

  1. 对于最初输入图片样本的通道数 in_channels 取决于图片的类型,如果是彩色的,即RGB类型,这时候通道数固定为3,如果是灰色的,通道数为1。
  2. 卷积完成之后,输出的通道数 out_channels 取决于过滤器的数量。从这个方向理解,这里的 out_channels 设置的就是过滤器的数目。
  3. 对于第二层或者更多层的卷积,此时的 in_channels 就是上一层的 out_channelsout_channels 还是取决于过滤器数目。

在第2条我用的是过滤器,而不是卷积核,跟原作者观点有些不同,因为我认为在这里用过滤器描述更合适。卷积核和过滤器的区别可以看我的这篇文章 卷积核(kernel)和过滤器(filter)的区别

对于第1点可以参考下图:
在这里插入图片描述

这里输入通道数是3,每个通道都需要跟一个卷积核做卷积运算,然后将结果相加得到一个特征图的输出,这里有4个过滤器,因此得到4个特征图的输出,输出通道数为4。

单个特征图的计算可看下图:

在这里插入图片描述

再来看一下单通道的例子:

在这里插入图片描述

输入是灰色图片,输入通道数是1,卷积核有3个,做三次卷积操作,生成3个特征图,输出通道数为3。

单通道特征图的计算为:

在这里插入图片描述

这里可能会有人有疑惑为什么图片的类型是RGB的,它的通道数就是3呢?

这里要从计算机如何识别图片来考虑。在人眼中看到的图片是五颜六色,对于计算机来说就只是数字。那么计算机如何分辨图片颜色呢?——RGB。所有颜色都可以用这三种颜色来表示,因此我们只需要三个数字就可以表示一种颜色。

下图是我随机选择的几个颜色的RGB表示:

在这里插入图片描述

计算机要表示整张图片,就是用数字去表示整张图片的所有像素,但是每个像素需要三个数值来表示,于是就有了图片的3通道。每个通道分别表示RGB三种颜色。

在这里插入图片描述

最初的通道数是3,但是有的神经网络通道数目多达100多个,怎么理解呢?

我们依然可以类比RGB通道,对于多通道我们可以看做是颜色表示的更抽象版本,每一个通道都表示图像某一方面的信息。

### 卷积神经网络中的通道数变化 #### 输入图像的通道数 对于输入到卷积神经网络CNN)的第一层来说,如果是处理灰度图像,则该层接收的是单通道数据;而若是彩色图像则通常具有三个通道分别代表红(R)、绿(G)、蓝(B)[^3]。 #### 卷积核数量决定输出特征图的数量 在每一层卷积操作之后,可以设置多个不同参数的过滤器来提取多种类型的局部特征。这些滤波器各自独立工作,在同一位置上的所有输入通道都会被同一个卷积核扫描并求和作为最终响应的一部分。因此,通过增加卷积核数目即可实现对下一层提供更多的输出通道。 #### 参数共享机制下的效率提升 由于采用了参数共享机制,即使面对多维的数据结构如RGB三原色组成的色彩空间,也不必担心过多冗余参数带来的负担。因为每个卷积核在整个平面上重复利用相同的权重系数完成计算任务,这不仅减少了所需训练样本量还降低了过拟合风险的同时提高了泛化能力[^2]。 #### 实际应用案例分析 以AlexNet为例,其早期版本采用双GPU架构分担计算压力,每一路负责一半宽度方向上的像素点运算。随着层数加深以及抽象程度提高,后续几层逐渐减少物理尺寸却增加了更多逻辑维度即扩大了内部表示形式丰富性的潜力[^4]。 ```python import torch.nn as nn class ConvLayer(nn.Module): def __init__(self, in_channels=3, out_channels=64, kernel_size=3, stride=1, padding=1): super(ConvLayer, self).__init__() self.conv = nn.Conv2d(in_channels=in_channels, out_channels=out_channels, kernel_size=kernel_size, stride=stride, padding=padding) def forward(self, x): return self.conv(x) ```
评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值