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

条件生成对抗网络(Conditional GAN, CGAN)原理及实现(pytorch版)

CGAN 原理及实现

  • 一、CGAN 原理
    • 1.1 基本概念
    • 1.2 与传统GAN的区别
    • 1.3 目标函数
    • 1.4 损失函数
    • 1.5 条件信息的融合方式
    • 1.6 与其他GAN变体的对比
    • 1.7 CGAN的应用
    • 1.8 改进与变体
  • 二、CGAN 实现
    • 2.1 导包
    • 2.2 数据加载和处理
    • 2.3 构建生成器
    • 2.4 构建判别器
    • 2.5 训练和保存模型
    • 2.6 绘制训练损失
    • 2.7 图片转GIF
    • 2.8 模型加载和生成

一、CGAN 原理

1.1 基本概念

条件生成对抗网络(Conditional GAN, CGAN)是GAN的一种扩展,它在生成器和判别器中都加入了额外的条件信息 y y y这个条件信息可以是类别标签、文本描述或其他形式的辅助信息

1.2 与传统GAN的区别

  • 传统GAN: G ( z ) G(z) G(z) → 生成样本, D ( x ) D(x) D(x) → 判断真实/生成
  • CGAN: G ( z ∣ y ) G(z|y) G(zy) → 基于条件 y y y 生成样本, D ( x ∣ y ) D(x|y) D(xy) → 基于条件 y y y 判断真实/生成

1.3 目标函数

CGAN的目标函数可以表示为: m i n G m a x D V ( D , G ) = 𝔼 x ∼ p data [ l o g D ( x ∣ y ) ] + 𝔼 z ∼ p z ( z ) [ l o g ( 1 − D ( G ( z ∣ y ) ∣ y ) ) ] min_G max_D V(D,G) = 𝔼_{x \sim p_{\text{data}}}[log D(x|y)] + 𝔼_{z \sim p_z(z)}[log(1 - D(G(z|y)|y))] minGmaxDV(D,G)=Expdata[logD(xy)]+Ezpz(z)[log(1D(G(zy)y))],其中 y y y 是条件信息。

1.4 损失函数

(1) 判别器(Discriminator)的损失函数

  \space     \space  判别器需要同时判断:

  1. 真实图像是否真实(且匹配其标签)
  2. 生成图像是否虚假(且匹配其标签)

损失函数公式

L D = E x , y ∼ p data [ log ⁡ D ( x ∣ y ) ] ⏟ 真实样本损失 + E z ∼ p z , y ∼ p labels [ log ⁡ ( 1 − D ( G ( z ∣ y ) ∣ y ) ] ⏟ 生成样本损失 \mathcal{L}_D = \underbrace{\mathbb{E}_{x,y \sim p_{\text{data}}}[\log D(x|y)]}_{\text{真实样本损失}} + \underbrace{\mathbb{E}_{z \sim p_z, y \sim p_{\text{labels}}}[\log (1 - D(G(z|y)|y)]}_{\text{生成样本损失}} LD=真实样本损失 Ex,ypdata[logD(xy)]+

相关文章:

  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年4月6日第44弹
  • 微信小程序学习实录11:startLocationUpdateBackground:fail auth deny
  • C++自学笔记---指针在数组遍历中的应用
  • EMC内参二(1-45页)学习【技术进阶】
  • icpc2023西安邀请赛部分题解(GJAHE)
  • Java数组
  • 第十五届蓝桥杯大赛软件赛省赛Python 大学 C 组:6.挖矿
  • 微信小程序学习实录12:掌握大数据量轨迹展示的MySQL结构设计
  • 关于使用HAL_ADC_Start函数时为什么要放在while里的解释
  • CSS语言的网络编程
  • 使用私有知识库取消歧义思考
  • 云轴科技ZStack CTO王为@中国GenAI大会:AI原生实践重构AI Infra新范式
  • 简洁的 PlantUML 入门教程
  • indexedDB前端数据库存储使用
  • d202546
  • Java项目集成大模型(通译千问)
  • Python星球日记 - 第3天:运算符与表达式
  • 内存与显存:从同根生到殊途异路的科技演进
  • 机器学习新范式:Kubernetes + Kubeflow,解锁模型训练与部署的高效密码
  • Word 页眉设置(不同章节不同页眉)
  • 深圳做外贸网站多少钱/企业管理培训课程网课免费
  • 企业网站制作公司盈利/惠州关键词排名优化
  • 在美国做网站/广东网络seo推广公司
  • 确定B2B网站建设方案/网络销售技巧和话术
  • 聊城做手机网站建设/营销策划与运营
  • 做网站送域名和邮箱/培训行业seo整站优化