FCN 中的 patch-wise 训练和完全卷积训练有什么区别?

机器算法验证 机器学习 神经网络 卷积神经网络 数据挖掘 计算机视觉
2022-03-11 19:26:13

全卷积神经网络的论文中,作者提到了补丁训练和全卷积训练。

我对训练集构建的理解如下:

给定一张图像,用, 其中 ( )M*M提取子图像选择的子图像相互重叠。对于训练过程中的每个批次,它可以包括给定图像或多个图像的所有子图像。N*NN<M

我的理解正确吗?那么,patch-wise 训练和全卷积训练有什么区别呢?我将相关部分作为参考。

在此处输入图像描述

1个回答

基本上,完全卷积训练采用整个 MxM 图像并在单个 ConvNet 前向传递中为所有子图像生成输出。Patchwise 训练显式地裁剪出子图像并在独立的前向传递中为每个子图像生成输出。因此,完全卷积训练通常比补丁训练快得多。

因此,对于完全卷积训练,您可以进行如下更新:

  1. 输入整个 MxM 图像(或多个图像)
  2. 通过 ConvNet -> 获取整个输出图(每个图像的最大尺寸 MxM,可能更小)
  3. 使用所有输出的损失进行更新

现在虽然这相当快,但与补丁训练相比,它限制了您的训练采样过程:您被迫在同一张图像上进行大量更新(实际上,所有子图像的所有可能更新)在训练的一个步骤中。这就是为什么他们写道,完全卷积训练仅与补丁训练相同,如果图像的每个感受野(也称为子图像)都包含在补丁训练过程的训练批次中(对于补丁训练,你也可以有十个可能中的两个来自图像 A 的子图像、来自图像 B 的八个可能子图像中的三个,等等)。然后,他们争辩说,通过在完全卷积训练期间不使用所有输出,您再次接近于补丁训练(因为您没有在单个训练步骤中对图像的所有子图像进行所有可能的更新)。但是,您浪费了一些计算。此外,在第 4.4 节/图 5 中,