全连通卷积网络中的上采样是如何工作的



我读了几篇帖子/文章,对CNN下采样后的上采样机制有一些疑问。

我从这个问题中得到了第一个答案:https://www.quora.com/How-do-fully-convolutional-networks-upsample-their-coarse-output

我知道,与正常的卷积运算类似,"上采样"也使用需要训练的内核。

问题1:如果"空间信息"在CNN的第一阶段就已经丢失了,那么如何重建它呢?

问题2:为什么>"从网络深处的小(粗(特征图进行上采样具有良好的语义信息,但分辨率较差。从更靠近输入的较大特征图进行下采样,会产生更好的细节,但语义信息较差"?

问题#1

上采样不会(也不能(重建任何丢失的信息。它的作用是将分辨率恢复到上一层的分辨率。

从理论上讲,我们可以完全消除向下/向上采样层。然而,为了减少计算次数,我们可以在分层之前对输入进行下采样,然后对其输出进行上采样。

因此,向下/向上采样层的唯一目的是减少每一层的计算,同时保持输入/输出的维度与以前一样。

你可能会认为下采样可能会导致信息丢失。这总是有可能的,但请记住,CNN的作用本质上是从输入中提取"有用"的信息,并将其缩小到更小的维度。

问题#2

当我们从CNN中的输入层进入输出层时,数据的维度通常会降低,而语义和提取的信息有望增加。

假设我们有一个用于图像分类的CNN。在这样的CNN中,早期层通常提取图像中的基本形状和边缘。下一层检测更复杂的概念,如角、圆。你可以想象,最后一层可能有节点可以检测非常复杂的特征(比如图像中是否有人(。

因此,从靠近输入的大型特征图中进行上采样可以产生更好的细节,但与最后几层相比,语义信息更低。回顾过去,最后一层通常具有较低的维度,因此与早期层相比,它们的分辨率较差。

最新更新