【问题标题】:Can CNN autoencoders have different input and output dimensions?CNN 自动编码器可以有不同的输入和输出维度吗?
【发布时间】:2019-07-20 16:32:00
【问题描述】:

我正在解决一个问题,该问题需要我构建一个基于特定输入图像的深度学习模型,它必须输出另一个图像。值得注意的是,这两个图像在概念上是相关的,但它们的尺寸不同。

起初我认为具有最终密集层(其参数是输出图像的高度和宽度的乘积)的经典 CNN 适合这种情况,但在训练时它给出了奇怪的数字,例如准确度为 0。

在互联网上寻找一些答案时,我发现了 CNN 自动编码器的概念,我想知道这种方法是否可以帮助我解决我的问题。在我看到的所有示例中,自动编码器的输入和输出具有相同的大小和维度。

此时我想问是否有一种 CNN 自动编码器可以生成与输入图像相比具有不同维度的输出图像。

【问题讨论】:

  • 自动编码器有两个部分:编码器和解码器。它具有输入和输出维度,因为您希望解码器生成作为网络编码器部分的输入的内容。因此,为了评估网络的误差,可以计算输入和输出之间的差异,当它们具有相同的维度时。

标签: python tensorflow keras deep-learning


【解决方案1】:

自动编码器 (AE) 是一种架构,它通过同时学习从这种表示中重建数据,尝试将您的图像编码为低维表示。因此,AE 依赖于无监督(不需要标签)数据,该数据既用作输入又用作目标(用于损失)。

您可以尝试为您的用例使用基于 U-net 的架构。 U-net 会将中间数据表示转发到网络的后面层,这将有助于更快地学习/将输入映射到新域中。..

您还可以试验一个包含几个 ResNet 块而没有任何下采样层的简单架构,这对于您的用例来说可能不够,也可能不够。

如果您想深入挖掘,可以研究 Disco-GAN 和相关方法。他们明确尝试将图像映射到新域,同时保留图像信息。

【讨论】:

    猜你喜欢
    • 2021-08-01
    • 1970-01-01
    • 2019-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-29
    • 2021-08-05
    • 2020-06-27
    相关资源
    最近更新 更多