阅读随着卷积的深入学习,我遇到了DepthConcat层,这是拟议的初始模块的构建块,该层结合了大小不同的多个张量的输出。作者称此为“过滤器串联”。Torch似乎有一个实现,但是我真的不明白它的作用。有人可以用简单的语言解释吗?
阅读随着卷积的深入学习,我遇到了DepthConcat层,这是拟议的初始模块的构建块,该层结合了大小不同的多个张量的输出。作者称此为“过滤器串联”。Torch似乎有一个实现,但是我真的不明白它的作用。有人可以用简单的语言解释吗?
Answers:
当您阅读该白皮书时,我有一个相同的想法,所引用的资源已帮助我提出了一个实施方案。
--[[ DepthConcat ]]--
-- Concatenates the output of Convolutions along the depth dimension
-- (nOutputFrame). This is used to implement the DepthConcat layer
-- of the Going deeper with convolutions paper :
深度学习中的“深度”一词有点含糊。幸运的是,此SO Answer提供了一些清晰度:
在深度神经网络中,深度指的是网络的深度,但是在这种情况下,深度用于视觉识别,并转换为图像的第三维。
在这种情况下,您有一张图像,此输入的大小为32x32x3,即(宽度,高度,深度)。当深度转换为训练图像的不同通道时,神经网络应该能够基于该参数进行学习。
因此,DepthConcat将深度张量连接到深度尺寸上,该深度尺寸是张量的最后一个尺寸,在本例中是3D张量的第3个尺寸。
DepthConcat需要使除深度维度外的所有维度上的张量相同,如Torch代码所示:
-- The normal Concat Module can't be used since the spatial dimensions
-- of tensors to be concatenated may have different values. To deal with
-- this, we select the largest spatial dimensions and add zero-padding
-- around the smaller dimensions.
例如
A = tensor of size (14, 14, 2)
B = tensor of size (16, 16, 3)
result = DepthConcat([A, B])
where result with have a height of 16, a width of 16 and a depth of 5 (2 + 3).
在上图中,我们看到了DepthConcat结果张量的图片,其中白色区域是零填充,红色是A张量,绿色是B张量。
这是此示例中DepthConcat的伪代码:
我希望这可以帮助其他认为相同问题的人阅读该白皮书。