计算机系统应用教程网站

网站首页 > 技术文章 正文

AI课堂24: CNN——多输入和多输出通道(N组卷积核的应用)

btikc 2025-01-29 14:32:17 技术文章 18 ℃ 0 评论

前面演示的输入和输出都是二维数组,但实际应用中往往维度更高。比如,彩色图像除了高和宽两个维度外,还有RGB(红、绿、蓝)三个颜色通道,用多维数组[h,w,c]表示,其中c表示channel(通道维)。

补充:红绿蓝是光的三原色,属于加色系;而红黄蓝是颜料的三原色,属于减色系。

多输入通道

当输入数据含多个通道时,卷积核的通道数也应该一致,才能进行互相关运算,即每个通道都有一个卷积核对应计算,结果是所有通道卷积结果的和。

假设输入和卷积核的通道数分别为ci个,我们通过在各个通道上对输入的二维数组和卷积核的二维核数组做互相关运算,再将这ci个互相关运算的二维输出按通道相加,得到一个二维数组,即多通道的输入和卷积核的二维互相关运算的输出。

下图展示了含 2 个输入通道的二维互相关计算的例子。在每个通道上,二维输入数组与二维核 数组做互相关运算,再按通道相加即得到输出。下图 中阴影部分为第一个输出元素及其计算所使用的输入和核数组元素:

(1 × 1 + 2 × 2 + 4 × 3 + 5 × 4) + (0 × 0 + 1 × 1 + 3 × 2 + 4 × 3) = 56。

代码演示上图两通道输入的互相关运算

多输出通道

下图为多输出通道的参数形式,对比多输入通道可知,两者区别在于卷积核和输出都增加了一个维度,我们可以理解多组卷积核作用在一个输入上,得到了多个输出;

对应到我们实际项目中,可以理解为通过不同的角度(不同的卷积核)去提取特征。

代码演示实现一个计算多个通道的输出的互相关函数。

1x1卷积层

1x1卷积,即kh=kw=1。因为卷积的本质是有效提取相邻像素间的相关特征,而1X1卷积不具有卷积层的特有能力——在高度和宽度维度上识别相邻元素间相互作用的能力。其唯一的运算发生在通道上。

下图使用1x1卷积核与3个输入通道互相关运算得到2个输出通道的计算。

这里输入和输出具有相同的高度和宽度,输出中的每个元素都是从输入图像中同一位置的元素的线性组合。

我们可以将1x1卷积层看作是在每个像素位置应用的全连接层,以ci个输入值转换为co个输出值。 因为这仍然是一个卷积层,所以跨像素的权重是一致的。 同时,1x1卷积层需要的权重维度为co×ci,再额外加上一个偏置。

实际应用中,我们常会看到1x1卷积层被当做保持高和宽维度形状不变的全连接层使用。因此,我们可以通过调整网络层之间的通道数来控制模型复杂度。

总结

多输入多输出通道可以用来扩展卷积层的模型。

多输入通道有独立的二维卷积核,所有通道结果相加得到一个输出通道结果;

每个输出通道对应一个独立的三维卷积核,可以识别特定的特征,将这些输出组合可以有效提取高级的语义特征;

当以每像素为基础应用时,1×1卷积层相当于全连接层。

1x1卷积层不识别空间信息,只是融合通道,通常用于调整网络层的通道数量和控制模型复杂性。

N组卷积核得到N组输出。


参考

《动手学深度学习》

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表