DCGAN 使用指南:将卷积神经网络和对抗网络结合,适用于生成小尺寸的图像

DCGAN 使用指南:将卷积神经网络和对抗网络结合


论文地址:https://arxiv.org/abs/1511.06434

项目代码:https://github.com/tensorlayer/DCGAN.git

DCGAN 适用于生成小尺寸的图像,并且具有简单易用的优势

StyleGAN 适用于生成高分辨率、高质量的图像,并且具有对风格的精细控制能力。

具体选择哪个方法取决于应用需求和数据的特点。

网络结构

如上图,生成器的输入是一个 100 维的噪声向量。

再将100维向量变成 4*4*1024 的张量,将原始的一维数据扩展到更高维度,以便能够利用卷积、池化、全连接等操作进行计算和学习。

可理解为将原始数据映射到一个 4*4 的二维空间,并在每个位置上用 1024 个通道表示特征。

4*4*1024 的张量增大为 8*8*512 张量,是反卷积操作。

  • 卷积操作用于从输入数据中提取特征,参数共享,输出尺寸减小。卷积操作通常导致尺寸的减小。

  • 反卷积操作用于将低维特征图恢复到原始输入尺寸,参数共享(在逆卷积过程中对输入的重复采样),反卷积操作通常导致尺寸的增大。

经过 4 个反卷积层,每次分辨率都提升 2 倍,最终得到 64*64*3

判别器:把生成的图像送入,输出一个概率。

把图像不断降低 2 倍,最后变成 4*4*512,是生成器的反向。

细节设计

  1. 去除全连接层,使用步长卷积代替池化

    去除全连接层减少了参数量并保留了空间信息,而使用步长卷积避免了信息丢失并提取更好的特征,提升了 DCGAN 的性能和生成图像质量。

  2. 生成器输出层使用tanh,其他层使用ReLU

    使用tanh激活函数作为生成器输出层的选择是为了限制生成图像的范围,使其与真实图像的像素范围更接近。

    但在其他层中使用ReLU等非饱和激活函数可以避免梯度消失问题,并提供更大的表达能力,以更好地学习数据分布。

  3. 判别器输出层使用sigmoid激活函数的好处,其他层使用leaky ReLU激活函数

    使用sigmoid激活函数的原因是将判别器的输出转换为概率值0,1,方便进行真假分类。

    其他层使用Leaky ReLU激活函数是为了克服ReLU的一些限制,提供更好的梯度传播和表达能力。

  4. 看上图,卷积层都使用 Batch Normalization,生成器输出层、判别器输入层为没有使用

    生成器输出层和判别器输入层通常不使用批量归一化,以保持生成样本的多样性、真实性和判别器的性能。

    其他层使用批量归一化是为了加速网络的收敛速度、防止梯度消失或爆炸、提高泛化能力,并具有一定的正则化效果。

相关推荐
冬奇Lab2 分钟前
代码库知识库系列(07):混合检索 BM25 + 向量——Q8 还是失败,而且总分退步了
人工智能
ajassi200017 分钟前
AI语音智能体开发日记(十一)为智能设备“声”临其境——详解音频资源自动化生成流程
人工智能·ai·ai编程
2601_9494999435 分钟前
400G组网低功耗优选!芯瑞科技400G VR4 QSFP112光模块赋能智算中心高速互联
大数据·人工智能·科技
GoAI1 小时前
# AI Agent 记忆框架横向对比报告总结
人工智能·大模型·llm·多模态
abbgogo1 小时前
TCP/IP、OSI 与常见网络协议知识点总结
网络·网络协议·计算机网络
李昊哲小课2 小时前
fastapi sse websocket 奶茶店实时订单看板
人工智能·python·websocket·网络协议·fastapi·sse
万邦科技Lafite2 小时前
天猫商品评论API:评价内容中的用户情感倾向分析
人工智能·api·电商开放平台·淘宝开放平台·api开放接口
遇码2 小时前
认识 LakeMind:一款本地优先的开源 AI 数据探索工作台
人工智能·开源
格林威2 小时前
多相机微秒级对齐:硬件触发 vs PTP(IEEE 1588)方案实战对比
开发语言·人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉
三江番长 陀舍古帝2 小时前
AI 相关概念之(基础层级):AI、ANI、AGI、ASI
人工智能·agi