- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在训练一个 GAN 来执行来自两个不同图像域(源 S
和目标 T
)的风格转换。因为我有可用的类信息,所以我有一个额外的 Q
网络(G
和 D
除外),用于测量生成图像的分类结果目标域及其标签(LeNet 网络)并将错误传播到生成器以及 D
。从系统的收敛中我注意到 D
总是从 8 开始(D
网络的损失函数误差)并略微下降到 4.5 和 G
损失函数误差从 1 开始迅速下降到 0.2。我用的D
和G
的损失函数可以找到here而Q
网络的损失函数是分类交叉熵。迭代的错误图是:
D和G的损失函数为:
def discriminator_loss(y_true,y_pred):
BATCH_SIZE=10
return K.mean(K.binary_crossentropy(K.flatten(y_pred), K.concatenate([K.ones_like(K.flatten(y_pred[:BATCH_SIZE,:,:,:])),K.zeros_like(K.flatten(y_pred[:BATCH_SIZE,:,:,:])) ]) ), axis=-1)
def discriminator_on_generator_loss(y_true,y_pred):
BATCH_SIZE=10
return K.mean(K.binary_crossentropy(K.flatten(y_pred), K.ones_like(K.flatten(y_pred))), axis=-1)
def generator_l1_loss(y_true,y_pred):
BATCH_SIZE=10
return K.mean(K.abs(K.flatten(y_pred) - K.flatten(y_true)), axis=-1)
D 的误差函数总是那么高有意义吗? D
和G
错误的解释是什么?是不是 D
的损失在开始时应该很小,并在迭代后上升?用损失阈值限制 D
超过 G
是个好主意吗?最后,在训练期间,计算验证集损失函数的误差而不是我正在使用的训练集的误差是否有意义? (而不是直接使用 train_on_batch,使用 fit 然后在测试集上进行评估)。
编辑:
对于损失,我认为discriminator
和discriminator_on_generator
的损失是GANs的正常损失函数,对吧?
最佳答案
设 G 为生成器,D 为鉴别器。最初,D 和 G 都是未经训练的。现在,让我们假设 D 比 G 学得更快。因此,一段时间后,G 可以区分从真实数据分布中采样的样本和从生成器中采样的样本。最后,G catch 并学习模拟真实的数据分布。现在,D 无法再区分从真实数据分布中采样的样本和从生成器中采样的样本。
因此,我们最初从 D 和 G(区域 I)的高损失开始。然后 D 的损失比 G 的损失减少得更快(区域 I 到 II)。随着 G 的损失继续减少,D 的损失增加(区域 II)。最后,两者的loss均达到平衡值,训练结束(Region III)。
关于python - 用于域翻译的条件 GAN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52353264/
本文为生成对抗网络GAN的研究者和实践者提供全面、深入和实用的指导。通过本文的理论解释和实际操作指南,读者能够掌握GAN的核心概念,理解其工作原理,学会设计和训练自己的GAN模型,并能够对结果
我设置了具有透明度的图像。 我正在尝试训练 GAN(生成对抗网络)。 如何保持透明度。我可以从输出图像中看到所有透明区域都是黑色的。 我怎样才能避免这样做? 我认为这叫做“阿尔法 channel ”。
我有 GAN 网络,它应该生成剑的 3D 模型。我基于 Tensorflow GAN 生成数字图像的教程构建它:https://www.tensorflow.org/tutorials/generat
我是生成网络的新手,我决定先自己尝试一下,然后再查看代码。这些是我用来训练我的 GAN 的步骤。 [库: tensorflow ] 1) 在数据集上训练鉴别器。 (我使用了 2 个特征的数据集,标签为
我正在尝试构建一个简单的 mnist GAN,不用多说,它没有用。我搜索了很多并修复了我的大部分代码。虽然我不能真正理解损失函数是如何工作的。 这是我做的: loss_d = -tf.reduce_m
我正在训练一个 GAN 来执行来自两个不同图像域(源 S 和目标 T)的风格转换。因为我有可用的类信息,所以我有一个额外的 Q 网络(G 和 D 除外),用于测量生成图像的分类结果目标域及其标签(Le
我训练了一个 GAN 来重现类似 CIFAR10 的图像。最初我注意到生成器生成的一批图像中的所有图像看起来总是一样的,如下图所示: 经过数小时的调试和与初学者学习资源教程 (https://mach
在阅读了 GAN 教程和代码示例后,我仍然不明白生成器是如何训练的。假设我们有一个简单的案例:- 生成器输入是噪声,输出是灰度图像 10x10- 鉴别器输入是图像 10x10,输出是从 0 到 1 的
这是我第一次使用 GAN,我面临着一个问题,即鉴别器的性能反复优于生成器。我正在尝试从 this article 重现 PA 模型,我正在寻找 this slightly different impl
我是 GAN 的新手。我正在学习对 GAN 进行建模以生成图像,但是我真的不明白给予生成器的随机噪声到底是什么。它是从 0 到 1 的随机数,它的大小应该是多少。每次发电机运行时,随机噪声也应该是恒定
最初由 IJ Goodfellow 提出的 GAN 使用以下损失函数, D_loss = - log[D(X)] - log[1 - D(G(Z))] G_loss = - log[D(G(Z))]
我创建了一个简单的 DCGAN 6 层,并在 CelebA 数据集(其中一部分包含 30K 图像)上进行训练。 我注意到我的网络生成的图像看起来很暗,随着网络训练的增多,明亮的颜色逐渐变暗! 这里有一
我试图在 Keras 中实现基本的 GAN,基于 this执行。 如果我在抛物线 GAN 上采样点是收敛的并且能够从这个分布中产生样本,但是如果例如我在圆上采样点它就会失败。我想知道为什么 GAN 很
我正在使用 Wasserstein GAN 开展一个项目,更具体地说,是实现 Wasserstein GAN 的改进版本。我有两个关于 wGAN 的稳定性和训练过程的理论问题。首先,众所周知,损失函数
我目前正在考虑在 keras 中实现 Self-Attention GAN。我想实现的方式如下: def Attention(X, channels): def hw_flatten(x):
我有一个 GAN 网络。生成器正在绘制 mnist 数字。效果很好。但我不明白它是如何知道应该绘制哪个数字的。这是生成器: def build_generator(latent_size):
我正在尝试在 tensorflow 中构建 LSTM-GAN。 仅在鉴别器网络中,当我尝试计算损失时,我会得到错误 ValueError: No gradients provided for any
我按照 GAN 上的教程进行操作 - https://github.com/adeshpande3/Generative-Adversarial-Networks/blob/master/Genera
为了深入了解生成对抗网络,我正在尝试基于此 Stanford university assignment 自己为 MNIST 数据集实现 GAN。使用 tensorflow 。 我仔细审查和研究了给定
类别不平衡问题是 GAN 固有的吗?在 GAN 中,有 2 个网络相互对抗,一个是分类器,对手试图通过生成假图像来愚弄分类器。 GAN 生成的所有图像都是假的,因此如果算法运行足够长的时间,必然会出现
我是一名优秀的程序员,十分优秀!