机器学习中的图像生成2025年3月17日 | 阅读 12 分钟 图像生成是指使用算法和模型从头开始创建新图像的过程。传统上,图像由艺术家或设计师使用画笔和计算机软件生成。然而,随着机器学习的引入,计算机现在可以独立生成图像,其结果常常能与人类创作的艺术品媲美。 生成模型是一类机器学习算法,它学习创建与给定数据集高度相似的新数据样本。这些模型可以使用各种数据格式进行训练,例如照片、文本和音频。GAN 和 VAE 是用于图像生成的两种常见生成模型。 GANGAN 是一种由 Ian Goodfellow 及其同事于 2014 年开发的生成模型。GAN 由两个神经网络组成:生成器和判别器。生成器接收随机噪声作为输入,并学习生成逼真的图像,而判别器则学习区分真实图像和伪造图像。在训练过程中,生成器和判别器以竞争的方式同时训练,生成器试图欺骗判别器,判别器试图准确地对真实和伪造图像进行分类。通过这种对抗过程,GAN 学会生成越来越逼真的图像。 VAEVAE 是另一种生成模型,它被训练来编码和解码高维数据。在图像生成的上下文中,VAE 由一个编码器网络组成,该网络将输入图像映射到一个低维潜在空间,以及一个解码器网络,该网络从潜在空间中的样本重建图像。与通过从噪声分布采样来创建图像的 GAN 不同,VAE 通过从潜在空间采样来生成图像,从而实现样本之间的平滑插值。VAE 通过变分推理框架进行训练,在该框架中,模型通过最大化证据下界 (ELBO) 来学习逼近真实数据分布。 我们将使用 GAN 来生成创新的架构。 代码 导入库调整图像大小我们将再次将图像大小调整为 (128,128)。 辅助函数我们将创建各种辅助函数,以方便对图像数据进行预处理和批处理,从而更轻松地处理数据集。 探索图像让我们展示我们的图像样本。 ![]() 模型架构我们将为网络的输入创建 TensorFlow 占位符。例如:-
现在我们将处理生成器网络,该网络将包含:-
现在我们将处理判别器网络,该网络将包含:-
生成器和判别器的损失我们将创建一个函数,该函数将根据判别器和生成器网络的各自损失来更新它们的权重,从而训练模型。 在估算损失后,我们必须分别更新生成器和判别器。 为此,我们必须通过调用 tf.trainable_variables() 来获取每个组件的变量,它会返回图中所有声明的变量的列表。然后,我们将使用这些变量来更新网络的训练参数。 我们将保存生成器的输出,以便在训练过程中评估模型的训练效果。 训练模型。我们将使用诸如 epoch、batch size 和 learning rate 等超参数来训练模型。在这种情况下,我们每五个 epoch 保存一次模型,并在每 10 个图像训练批次中保存生成的图像。同时,我们计算并显示 g_loss 和 d_loss。 与其他神经网络一样,GAN 对超参数非常敏感。通常,判别器损失约为 0.3 表明它大约 50% 的时间能够正确地将图像分类为伪造或真实。 绘制生成的图像输出 ![]() 这是一张图,显示了在多个训练步骤中图像是如何生成的。 尽管生成的图形质量较低,但这些结果表明 GAN 在创意领域可能是一个有价值的工具。下面显示的结果是在一台普通 CPU 上训练模型数小时后获得的。预计在高端 GPU/TPU 上训练将产生明显更好的结果。 下一主题置信区间 |
我们请求您订阅我们的新闻通讯以获取最新更新。