利用 infoGAN 生成不同数据集的虚假图像
1. infoGAN 基础与虚假曲线生成
在 infoGAN 中,潜在代码服从正态分布 $N(c3; \mu, \sigma^2)$,其中 $\mu$ 和方差 $\sigma^2$ 是模型 Q 的两个输出。我们使用 PyTorch 的 nn.GaussianNLLLoss 类来计算损失值。
从 Cell 12 到 14 的代码用于训练模型并展示训练结果。训练完成后,会生成一条虚假曲线,如图 6.1(F) 所示。其数据通过 Z = torch.randn(1, Z_dim) 生成,然后设置 Z[:,13] = 0 、 Z[:,14] = 1 和 Z[:,15] = -0.1 。当标签代码 c1 = 0 且 c2 = 1 时,infoGAN 系统生成的虚假曲线最低点低于 y = 0.5 ;当标签 c1 = 1 且 c2 = 0 时,生成的虚假曲线最低点高于 y = 0.5 。风格变量 c3 可用于连续调整虚假曲线最低点沿 y 轴的位置。不过,如果 |c3| 过大(接近 1),虚假曲线将变得不光滑。基于 infoGAN 理论的额外工作使我们能够在没有数据集标签信息的情况下调整虚假图像。
超级会员免费看
订阅专栏 解锁全文
959

被折叠的 条评论
为什么被折叠?



