当前位置: 首页 > news >正文

网站建设报告论文百度文库制作人韩剧在线观看免费高清国语

网站建设报告论文百度文库,制作人韩剧在线观看免费高清国语,网站建设会计帐务处理,高端猎头公司排名AIGC实战——条件生成对抗网络 0. 前言1. CGAN架构2. 模型训练3. CGAN 分析小结系列链接 0. 前言 我们已经学习了如何构建生成对抗网络 (Generative Adversarial Net, GAN) 以从给定的训练集中生成逼真图像。但是#xff0c;我们无法控制想要生成的图像类型#xff0c;例如控… AIGC实战——条件生成对抗网络 0. 前言1. CGAN架构2. 模型训练3. CGAN 分析小结系列链接 0. 前言 我们已经学习了如何构建生成对抗网络 (Generative Adversarial Net, GAN) 以从给定的训练集中生成逼真图像。但是我们无法控制想要生成的图像类型例如控制模型生成男性或女性的面部图像我们可以从潜空间中随机采样一个点但是不能预知给定潜变量能够生成什么样的图像。在本节中我们将构建一个能够控制输出的 GAN即条件生成对抗网络 (Conditional Generative Adversarial Net, GAN)。该模型最早由 Mirza 和 Osindero 在 2014 年提出是对 GAN 架构的简单改进。 1. CGAN架构 在节中我们将使用面部数据集中的头发颜色属性来设置 CGAN 的条件。也就是说我们将能够明确指定是否要生成带有金发的图像。头发颜色标签作为 CelebA 数据集的一部分已在数据集中提供CGAN 的架构如下图所示。 标准 GAN 和 CGAN 之间的关键区别在于在 CGAN 中我们需要向生成器和判别器传递与标签相关的额外信息。在生成器中标签信息转化为独热编码 (one-hot) 向量后附加在潜空间样本之后。在判别器中通过重复独热编码向量填充得到与输入图像相同形状的通道将标签信息添加为 RGB 图像的额外通道。 CGAN 之所以能够生成指定类型的图像是因为其判别器可以获得关于图像内容的额外信息因此生成器必须确保其输出与提供的标签一致以继续欺骗判别器。如果生成器生成了与图像标签不一致的图像即使图像非常逼真判别器会将它们判定为伪造图像因为图像和标签并不匹配。 在本节所构建的 CGAN 中因为有两个类别(金发和非金发)独热编码标签的长度是 2。但是我们也可以根据需要拥有使用多个标签。例如在 Fashion-MNIST 数据集上训练 CGAN 时为了输出 10 种不同类型的 Fashion-MNIST 图像可以通过将长度为 10 的独热编码标签向量并入生成器的输入并将 10 个额外的独热编码标签通道并入判别器的输入。 综上我们需要对标准 GAN 架构所进行的修改是将标签信息与生成器和判别器的现有输入连接起来 # 图像通道和标签通道分别传递给判别器并进行连接 critic_input layers.Input(shape(IMAGE_SIZE, IMAGE_SIZE, CHANNELS)) label_input layers.Input(shape(IMAGE_SIZE, IMAGE_SIZE, CLASSES)) x layers.Concatenate(axis-1)([critic_input, label_input]) x layers.Conv2D(64, kernel_size4, strides2, paddingsame)(x) x layers.LeakyReLU(0.2)(x) x layers.Conv2D(128, kernel_size4, strides2, paddingsame)(x) x layers.LeakyReLU()(x) x layers.Dropout(0.3)(x) x layers.Conv2D(128, kernel_size4, strides2, paddingsame)(x) x layers.LeakyReLU(0.2)(x) x layers.Dropout(0.3)(x) x layers.Conv2D(128, kernel_size4, strides2, paddingsame)(x) x layers.LeakyReLU(0.2)(x) x layers.Dropout(0.3)(x) x layers.Conv2D(1, kernel_size4, strides1, paddingvalid)(x) critic_output layers.Flatten()(x)critic models.Model([critic_input, label_input], critic_output) print(critic.summary()) # 潜向量和标签类别分别传递给生成器并在调整形状之前进行连接 generator_input layers.Input(shape(Z_DIM,)) label_input layers.Input(shape(CLASSES,)) x layers.Concatenate(axis-1)([generator_input, label_input]) x layers.Reshape((1, 1, Z_DIM CLASSES))(x) x layers.Conv2DTranspose(128, kernel_size4, strides1, paddingvalid, use_biasFalse )(x) x layers.BatchNormalization(momentum0.9)(x) x layers.LeakyReLU(0.2)(x) x layers.Conv2DTranspose(128, kernel_size4, strides2, paddingsame, use_biasFalse )(x) x layers.BatchNormalization(momentum0.9)(x) x layers.LeakyReLU(0.2)(x) x layers.Conv2DTranspose(128, kernel_size4, strides2, paddingsame, use_biasFalse )(x) x layers.BatchNormalization(momentum0.9)(x) x layers.LeakyReLU(0.2)(x) x layers.Conv2DTranspose(64, kernel_size4, strides2, paddingsame, use_biasFalse )(x) x layers.BatchNormalization(momentum0.9)(x) x layers.LeakyReLU(0.2)(x) generator_output layers.Conv2DTranspose(CHANNELS, kernel_size4, strides2, paddingsame, activationtanh )(x) generator models.Model([generator_input, label_input], generator_output) print(generator.summary())2. 模型训练 调整 CGAN 的 train_step 方法以令生成器和判别器适应新的输入格式 def train_step(self, data):# 从数据集中提取图像和标签real_images, one_hot_labels data# 将独热编码向量扩展为具有与输入图像相同空间尺寸 (64×64) 的独热编码图像image_one_hot_labels one_hot_labels[:, None, None, :]image_one_hot_labels tf.repeat(image_one_hot_labels, repeatsIMAGE_SIZE, axis1)image_one_hot_labels tf.repeat(image_one_hot_labels, repeatsIMAGE_SIZE, axis2)batch_size tf.shape(real_images)[0]for i in range(self.critic_steps):random_latent_vectors tf.random.normal( shape(batch_size, self.latent_dim))with tf.GradientTape() as tape:# 生成器接受包含两个输入的列表——随机潜向量和独热编码的标签向量fake_images self.generator([random_latent_vectors, one_hot_labels], trainingTrue)# 判别器接受包含两个输入的列表——真实/生成图像和独热编码的标签通道fake_predictions self.critic([fake_images, image_one_hot_labels], trainingTrue)real_predictions self.critic([real_images, image_one_hot_labels], trainingTrue)c_wass_loss tf.reduce_mean(fake_predictions) - tf.reduce_mean(real_predictions)c_gp self.gradient_penalty(batch_size, real_images, fake_images, image_one_hot_labels)# 梯度惩罚函数还需要通过独热编码的标签通道传递(由于其流经判别器)c_loss c_wass_loss c_gp * self.gp_weightc_gradient tape.gradient(c_loss, self.critic.trainable_variables)self.c_optimizer.apply_gradients(zip(c_gradient, self.critic.trainable_variables))random_latent_vectors tf.random.normal(shape(batch_size, self.latent_dim))with tf.GradientTape() as tape:# 生成器训练过程的修改与判别器训练步骤的修改相同fake_images self.generator([random_latent_vectors, one_hot_labels], trainingTrue)fake_predictions self.critic([fake_images, image_one_hot_labels], trainingTrue)g_loss -tf.reduce_mean(fake_predictions)gen_gradient tape.gradient(g_loss, self.generator.trainable_variables)self.g_optimizer.apply_gradients(zip(gen_gradient, self.generator.trainable_variables))self.c_loss_metric.update_state(c_loss)self.c_wass_loss_metric.update_state(c_wass_loss)self.c_gp_metric.update_state(c_gp)self.g_loss_metric.update_state(g_loss)return {m.name: m.result() for m in self.metrics}3. CGAN 分析 我们可以通过将特定的独热编码标签传递到生成器的输入中来控制 CGAN 的输出。例如要生成一张非金发的人脸图像我们传入向量 [1, 0]要生成一张金发的人脸图像我们传入向量 [0, 1]。 CGAN 的输出如下图所示。可以看到在保持随机潜向量不变的情况下只改变条件标签向量显然 CGAN 已经学会使用标签向量来控制图像的头发颜色属性且图像的其余部分几乎没有改变。这证明了 GAN 能够以这种方式组织潜空间中的点使得各个特征可以相互解耦。 如果数据集中有标签可用即使不一定需要将生成的输出与标签相关联将它们作为 GAN 的输入通常也可以提高生成图像的质量我们可以把标签看作是像素输入的信息扩展。 小结 在本节中构建了一个条件生成对抗网络 (Conditional Generative Adversarial Net, CGAN)通过将标签作为输入传递给判别器和生成器能够生成可控类别的图像这是由于标签为网络提供了额外的信息以便使生成的输出与给定的标签相关联。 系列链接 AIGC实战——生成模型简介 AIGC实战——深度学习 (Deep Learning, DL) AIGC实战——卷积神经网络(Convolutional Neural Network, CNN) AIGC实战——自编码器(Autoencoder) AIGC实战——变分自编码器(Variational Autoencoder, VAE) AIGC实战——使用变分自编码器生成面部图像 AIGC实战——生成对抗网络(Generative Adversarial Network, GAN) AIGC实战——WGAN(Wasserstein GAN)
http://www.yutouwan.com/news/121838/

相关文章:

  • 做一个网站成本多少厦门电脑网站建设
  • 收录网站是怎么做的企业域名免费申请
  • 环保公司网站建设龙岩解除高风险区
  • 微站是什么做信息图的网站
  • 网站备案名称能重复吗先注册域名后建设网站可以吗
  • 网站设计高端如何在已建设好的网站做修改
  • 河南省网站备案图片主题wordpress
  • 国内外贸网站建设公司什么值得买网站模板
  • 河北省住房与建设厅网站软件制作公司
  • 网站建设人员工作计划杭州旅游网站开发说明书
  • 内蒙古住房和城乡建设厅网站网站上的字体大小
  • 屯留网站建设百度站长工具怎么推广网站
  • 咸阳学校网站建设价格广告设计软件cdr
  • 建设六马路小学官方网站wordpress选择php
  • 专业网站建设人工智能单位建设网站申请报告
  • 网站改变配色方案wordpress前端登录问题
  • 网站开发合作协议合同范本oa办公系统官网
  • 做电影网站凡科网小程序
  • 营销型网站的特点网站建设销售找客户话术
  • 网站后台不更新乐清上班族网论坛
  • 重庆响应式网站平台赣州门户网站
  • 网站优化升级西安旅游服务网站建设
  • 汽车网站建设参考文献开题报告网站开发建设挣钱吗
  • 专业做网站的公司食品公司网站建设
  • 郑州市做网站建设网站细节
  • 福鼎网站开发有没有做面粉美食的网站
  • 怎么做帖子网站微信小程序注册要钱吗
  • 网站建设普及型广州哪个区最繁华
  • 怎样用dw做网站主页高流量网站开发框架经验
  • 网站服务器网络大企业网站建设公司排名