Python深度学习pytorch神经网络多输入多输出通道

虽然每个图像具有多个通道和多层卷积层。例如彩色图像具有标准的RGB通道来指示红、绿和蓝。但是到目前为止,我们仅展示了单个输入和单个输出通道的简化例子。这使得我们可以将输入、卷积核和输出看作二维张量。

当我们添加通道时,我们的输入和隐藏的表示都变成了三维张量。例如,每个RGB输入图像具有 3 × h × w 3\times{h}\times{w} 3×h×w的形状。我们将这个大小为3的轴称为通道(channel)维度。在本节中,我们将更深入地研究具有多输入和多输出通道的卷积核。

多输入通道

当输入包含多个通道时,需要构造一个与输入数据具有相同输入通道数目的卷积核,以便与输入数据进行互相关计算。

Python深度学习pytorch神经网络多输入多输出通道_第1张图片

多输出通道

到目前为止,不论有多少输入通道,我们还只有一个输出通道。然而,每一层有多个输出通道是至关重要的。
在最流行的神经网络架构中,随着神经网络层数的加深,我们常会增加输出通道的维数,通过减少空间分辨率以获得更大的通道深度。
直观地说,我们可以将每个通道看作是对不同的特征的相应。

1 × 1 1\times1 1×1卷积层

1 × 1 1\times1 1×1卷积,这看起来似乎没有多大意义。毕竟,卷积的本质是有效提取相邻像素间的相关特征,而 1 × 1 1\times1 1×1卷积显然没有此作用。尽管如此, 1 × 1 1\times1 1×1仍然十分流行,时常包含在复杂深层网络的设计中。

因为使用了最小窗口, 1 × 1 1\times1 1×1卷积失去了卷积层的特有能力——在高度核宽度维度上,识别相邻元素间相互作用的能力。其实, 1 × 1 1\times1 1×1卷积的唯一计算发生在通道上。

下图展示了使用 1 × 1 1\times1 1×1卷积核与3个输入通道和2个输出通道的互相关计算。这里输入和输出具有相同的高度和宽度,输出中的每个元素都是从输入图像中的同一位置的元素的线性组合。我们可以将 1 × 1 1\times1 1×1卷积层看作是在每个像素位置应用的全连接层。

Python深度学习pytorch神经网络多输入多输出通道_第2张图片

以上就是Python深度学习pytorch神经网络多输入多输出通道的详细内容,更多关于pytorch神经网络多输入多输出通道的资料请关注脚本之家其它相关文章!

你可能感兴趣的