卷积神经网络:多输入通道和多输出通道

一、多输入通道

之前说到的的输入输出都是二维数组(即只有两个维度:高、宽)。而真实数据实际上有很多维度。比如,彩色图像除了高、宽,还有RGB三个颜色通道。所以,彩色图像在内存中表示为一个形状为 3 ∗ h x ∗ w x 3*h_x*w_x 3hxwx的三维数组大小为3的这一维称为通道(channel)

当输入含有多个通道时,对应的卷积核也应该有相同的通道数。此时,输出为:每个通道分别做互相关运算,然后按通道相加。如下图:
卷积神经网络:多输入通道和多输出通道_第1张图片

二、多输出通道

假设输入通道数为 c i n c_{in} cin,输出通道数为 c o u t c_{out} cout,那么此时卷积核的形状为 c o u t ∗ c i n ∗ h k ∗ w k c_{out}*c_{in}*h_k*w_k coutcinhkwk,即对于最高维度来说,每个元素都是一个形状为 c i n ∗ h k ∗ w k c_{in}*h_k*w_k cinhkwk的元素。此时,输入和卷积核中每一个元素做互相关运算,得到输出中对应通道的结果。

三、1×1卷积核

对于 1 ∗ 1 1*1 11的卷积核,进行互相关操作,在高、宽维度上没有了识别相邻元素构成的模式的功能,而计算主要发生在了通道维度上。下图展示了输入通道数为3,输出通道数为2的 1 ∗ 1 1*1 11卷积核的互相关操作。
卷积神经网络:多输入通道和多输出通道_第2张图片

图中可以看出,每一个通道的输出的其中一个元素(比如输出中的浅蓝色方块),都是输入和卷积核在通道维度上的计算。

此外,对于 1 ∗ 1 1*1 11的卷积核,输出的高、宽维度大小与输入相同。

你可能感兴趣的:(深度学习)