【问题标题】:patch-wise training and fully convolutional training in FCNFCN 中的补丁训练和全卷积训练
【发布时间】:2017-07-26 23:25:01
【问题描述】:

FCN paper 中,作者讨论了patch wise 训练和完全卷积训练。这两者有什么区别?

请参考以下附件section 4.4

在我看来,训练机制如下, 假设原始图像是M*M,然后迭代M*M 像素以提取N*N 补丁(其中N<M)。迭代步幅可以像N/3 这样的数字来生成重叠补丁。此外,假设每张图像对应 20 个补丁,那么我们可以将这些 20 补丁或 60 补丁(如果我们想要 3 个图像)放入一个小批量进行训练。这种理解对吗?在我看来,这种所谓的全卷积训练与 patch-wise 训练是一样的。

【问题讨论】:

    标签: tensorflow deep-learning caffe keras


    【解决方案1】:

    术语“全卷积训练”只是指用卷积层替换全连接层,这样整个网络就只包含卷积层(和池化层)。

    术语“Patchwise 训练”旨在避免完整图像训练的冗余。 在语义分割中,假设您正在对图像中的每个像素进行分类,通过使用整个图像,您会在输入中添加大量冗余。在训练分割网络期间避免这种情况的一种标准方法是向网络提供来自训练集中的批量随机补丁(感兴趣对象周围的小图像区域)而不是完整图像。这种“patchwise sampling”确保输入有足够的方差并且是训练数据集的有效表示(小批量应该与训练集具有相同的分布)。这种技术还有助于更快地收敛并平衡类。在这篇论文中,他们声称没有必要使用补丁训练,如果你想平衡类,你可以对损失进行加权或采样。 从另一个角度来看,在逐像素分割中进行全图像训练的问题是输入图像具有很多空间相关性。要解决此问题,您可以从训练集中采样补丁(patchwise training)或从整个图像中采样损失。这就是为什么该小节被称为“Patchwise training is loss sampling”的原因。 因此,通过“将损失限制在其空间项的随机采样子集内,可以将补丁排除在梯度计算之外”。他们通过随机忽略最后一层的单元格来尝试这种“损失采样”,因此不会在整个图像上计算损失。

    【讨论】:

    • 在图像到图像的转换问题中,由于我的 GPU 的限制,我无法为网络提供大型原始图像,因此我使用补丁训练我的网络。然后,我将经过训练的网络应用于大尺寸图像,实际上它工作得很好。在 CNN 中,输入大小不必固定。我做对了吗?
    • 嗨。你能澄清一下你所说的冗余是什么意思吗?
    • @Juan Terven 如何在输出密集的情况下实现完全卷积。请参考论文中的介绍部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    • 2018-05-01
    • 1970-01-01
    • 2016-07-01
    • 2018-10-07
    • 1970-01-01
    相关资源
    最近更新 更多