有没有办法奖励我的变分自动编码器使用更少的颜色,同时仍然让它做出创造性的决定 [关闭]

Is there a way to reward my Variational-Auto encoder for using less colors while still letting it make creative decisions [closed]

提问人:Max 提问时间:11/17/2023 最后编辑:Christoph RackwitzMax 更新时间:11/19/2023 访问量:32

问:


这个问题似乎与特定的编程问题、软件算法或程序员主要使用的软件工具无关。如果您认为该问题在另一个 Stack Exchange 站点上是主题,您可以发表评论以解释在哪里可以回答该问题。

1小时前关闭。

所以最近我一直在尝试编写一个基于 Tensorflow 和 Keras 的模型,该模型可以为像素艺术角色制作动画。我使用带有卷积、密集层和上采样 2d 层的变化自动编码器。我一直面临的主要问题之一是,在颜色选择方面,生成的图像往往非常嘈杂和复杂。通常,这对于更逼真的图像来说很好,但我的目标是更多的像素艺术和体素外观,其中生成的图像使用更受限制的调色板。我的模型接收 2 (48,48) 个 RBGA 图像并输出单个 (48,48) RBGA 图像,作为两者之间的插值。

有谁知道优化器、损失函数、特殊层或其他一些技巧来潜在地限制或阻止模型使用许多不同类型的颜色。我正在考虑制作一个自定义层,将输入图像中的每种颜色编码为一组整数,并让模型预测将哪些整数放在哪里。这将导致模型只能使用输入图像中显示的颜色,但存在 2 个主要问题。首先,这将严重限制模型的创造力,因为它不能在应该使用新颜色的时候使用新颜色。这样做的另一个主要问题是,它将消除模型理解不同颜色在卷积中如何相互作用的能力。

TLDR:我想更多地惩罚我的 Variatonal Autoencoder 图像生成模型,因为该模型使用了许多不同的颜色,或者奖励模型使用较少的颜色,同时仍然让它做出创造性的决定并理解颜色之间的关系。

目标图像:

1m

生成的图像:

2m

TensorFlow Keras 处理 深度学习 图像生成

评论

0赞 Shaido 11/17/2023
在生成图像后进行一些后处理以减少颜色怎么样?这应该比调整VAE更容易。或者,您可以尝试分立式VAE或VQ-VAE。
0赞 Christoph Rackwitz 11/19/2023
只需想出一个分析颜色直方图并给出分数的损失。请注意,网络确实可能为此进行了优化,并为您提供了黑白输出......或发明抖动。
0赞 Max 11/20/2023
@ChristophRackwitz使用我已经拥有的损失的平均值和您建议的损失的平均值会起作用吗?或者你认为只对最后一层使用损失函数并保持其余层正常会更好?
0赞 Christoph Rackwitz 11/20/2023
我认为第一个障碍是提出一个可以量化“调色板”的损失,同时又是可微分的。
0赞 Max 11/20/2023
@ChristophRackwitz,您认为如果输出具有与输入图像相同数量的设置颜色,则可能是一个损失函数,该函数会奖励模型。例如,如果输入图像仅使用 3 种不同的颜色,那么如果输出具有 3 种不同颜色的图像,则损失函数将奖励模型最多?总体损失给出将是该损失的中位数,类似于 Leaky RELU?

答: 暂无答案