堆叠卷积自动编码器的体系结构是什么?


23

因此,我正在尝试使用卷积网络对人的图像进行预训练。我阅读了论文(Paper1Paper2)以及这个stackoverflow链接,但是我不确定我是否了解网络的结构(在论文中没有很好地定义)。

问题:

  • 我可以让我的输入,然后是噪波层,接着是conv层,再是池化层-之后-在提供输出之前是否要进行解池(与输入图像相同)?

    假设我有几张(135,240)张图片。如果使用32(12,21)个内核,然后使用(2,2)池化,则最终将得到32(62,110)个特征图。现在,我是否要分解以获取32(124、220)个特征图,然后对其进行展平?给我的(135,240)输出层之前?

  • 如果我有多个这样的转换池层,是否应该一一训练它们-就像在堆叠的去噪自动编码器中一样?或者-我可以有类似input-conv-pool-conv-pool-conv-pool-output(输出与输入相同)的东西吗?在那种情况下,应该如何管理池化,池化?我是否应该仅在输出之前的最后一个池层中解池?再说一遍,该分池的调整大小因素应该是什么?是否打算将要素图恢复为输入的形状?

  • 我应该在每个conv-pool-depool层之后引入噪声层吗?

  • 然后在进行微调时-我是否应该只删除去池层,其余的保持不变。还是应该同时删除噪声层和去池化层

  • 谁能指出我的网址/论文,其中详细介绍了这种堆叠式卷积自动编码器的架构,可以对图像进行预训练?

Answers:


12

我目前正在研究堆叠卷积自动编码器。

据我所知,我将尽力回答您的一些问题。提醒您,我可能是错的,因此请加一点盐。

  1. 是的,您必须“反转”池,然后使用一组过滤器进行卷积以恢复输出图像。一个标准的神经网络(考虑MNIST数据作为输入,即28x28输入尺寸)将是:

        28x28(input) -- convolve with 5 filters, each filter 5x5 -->  5 @ 28 x 28 maps -- maxPooling --> 5 @ 14 x 14 (Hidden layer) -- reverse-maxPool --> 5 @ 28 x 28 -- convolve with 5 filters, each filter 5x5 --> 28x28 (output)
    
  2. 我的理解是,按惯例,这就是应该做的,即分别训练每一层。之后,您可以堆叠图层并使用预训练的权重再次训练整个网络。但是,Yohsua Bengio进行了一些研究(该参考文献使我难以忘怀),该研究表明人们可以构建一个完全堆叠的网络并从头开始进行训练。

  3. 我的理解是,“噪声层”会在输入中引入鲁棒性/可变性,因此训练不会过度拟合。

  4. 只要您仍在“训练”预训练或微调,我认为重构部分(即反向池,反卷积等)是必要的。否则,应该如何执行错误反向传播来调整权重?

  5. 我曾尝试浏览大量论文,但从未完全解释过该体系结构。如果您发现任何问题,请告诉我。


如果您已完成预训练,则不再需要解码器部分,并且微调仍会调整编码器,这一次可以实现更好的分类。
jwalker 2015年

2
“ reverse-maxPool”怎么可能?您永远无法仅给出最大值...来重构一组数字。
2015年

1
@Fequish,其近似为反向最大池,例如:如果pool = 2x2,则我保留最大值的位置并将最大值插入2x2的特定位置,其余为0
user2979010 2015年

1
@jwalker,我的最终目标不是分类,因此可以使用展开的网络进行微调
user2979010 2015年

@Fequish,出于解码目的,只是最近的邻居高档次。
jwalker 2015年

2

我还一直在寻找堆叠式卷积自动编码器的完整解释模型。

我遇到了三种不同的体系结构。我仍在研究它们,我认为它们可能对也开始探索CAE的其他人有所帮助。对论文或实现的任何进一步引用将大有帮助。

  1. 您使用池化提到的一个-池化。
  2. (卷积)__ x_times->(解卷积)__ x_times的层,

    并获得与输入相同的大小。

  3. (卷积->池)__ x_times->(条纹反卷积)__ y_times
    • 选择填充和跨距,以使最终图像尺寸与原始图像相同。
    • 参考

2
欢迎来到该网站。这是要作为OP的问题的答案,要求OP或其中一个回答者进行澄清的评论,还是您自己的新问题?请仅使用“您的答案”字段提供原始问题的答案。当您的声誉> 50时,您将可以在任何地方发表评论。如果您有新问题,请单击ASK QUESTION 页面顶部的灰色并在此处提问,我们将为您提供适当的帮助。由于您是新来的,您可能想参加我们的游览,其中包含有关新用户的信息。
gung-恢复莫妮卡

1
它可能是对OP的问题的回答,尽管它可能不符合完整的答案。我在回答最后一部分:“我曾尝试浏览大量论文,但从未完整解释该体系结构。如果您发现任何问题,请告诉我。”
Ankitp 2015年

好,谢谢。它消失的方式是模棱两可的。例如,“我也一直在搜索...”和“对论文或实现的任何进一步引用将大有帮助”。请注意,CV是纯问答网站,而不是讨论论坛。为什么不参加我们的游览并了解有关该站点的更多信息?
gung-恢复莫妮卡

-1

我认为分层训练方法不正确。例如,卷积自动编码器的体系结构为:

输入->转换-​​> max_poo-> de_max_pool-> de_conv->输出。

这是一个自动编码器,应使用整个体系结构进行培训。此外,没有严格的标准来确定一个卷积自动编码器是否需要池和un_pool。通常,一个池但没有un_pool。这是在没有pool和un_pool的情况下进行的实验比较。

https://arxiv.org/pdf/1701.04949.pdf

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.