GAN:DCGAN-深度卷积生成对抗网络

论文:https://arxiv.org/pdf/1511.06434.pdf

发表:ICLR 2016

一、架构创新

**1:全卷积网络:**用逐步卷积代替确定性的空间池化函数(如maxpooling),使网络学习自己的空间下采样。使用这种方法,允许它学习他自己的空间上采样和鉴别器。

**2:取消卷积特征之上的全连接层:**gap平均池化层提升了模型的稳定性,但降低了收敛速度。

3:批量标准化**:**BN有助于处理由于初始化较差而出现的训练问题,并帮助深层模型中的梯度流。这证明深层生成器开始学习非常重要。直接将批处理应用于所有层面,会导致样品振荡和模型不稳定。通过不将批处理应用于生成器输出层和鉴别器输入层来避免。

生成器中除了output层使用Tanh 激活,其他层使用ReLU激活。判别器中使用leaky ReLU激活。

二、训练干货

1:除了缩放至tanh激活函数-1,1的范围之外,没有对训练图像进行应用预处理。

2:使用小批量随机梯度下降法(SGD)进行训练,batch size为128。

3:权重初始化都是以零为中心的正态分布初始化的,标准偏差为0.02。

4:在LeakyReLU中,斜率设置为0.2。

5:使用Adam优化器。我们发现建议的学习率为0.001太高,用0.0002来代替。此外,我们发现将动量项留在0.9的建议值导致了训练振荡和不稳定性,同时将其降低到0.5,这有助于稳定训练。

三、操纵生成表示

  • 去除图像中某些物体,论文中实现的方法如下:
    • 选择152张生成的图片,对其中52张有窗户的图像,标记窗户的location。
    • 在倒数第二层卷积features上,使用逻辑回归找出窗户的位置。来自窗户的位置区域的是positives,图上的其他区域是negatives。
    • 将窗户区域中weights大于0的特征进行丢弃(手动设置为0)。
    • 使用相同的输入特征,重新生成图片。
    • 论文配图如下:
      • 第一行为原始图片(有窗户)。
      • 第二行为将窗户相关特征添加到dropout后的结果(没有窗户)。
      • 总体结果:图像变模糊,但窗户在一定程度上也少了。

四、人脸上的尝试

经典示例:king国王特征 - man男性特征 + women女性特征 = queen女王特征

对单个样本进行实验,结果是不稳定的,但是对三个样本的Z向量进行平均,显示了在语义上服从算术是一致的和稳定的。此外,我们还证明了人脸姿态也是在Z空间中线性建模的。 (暗指人脸编辑是可行的,当然这个是16年,很早的文章了,很有启发性。后续已经有更好的方案了)

3个女性(微笑表情)的平均 - 3个女性(正常表情)的平均 + 3个男性(正常表情)的平均

= 可以生成微笑表情的男性

左边3列:

对于每一列,将样本的Z向量进行算术运算,得到新的向量Y。

右边3列:

中间样本是通过将 Y 作为输入提供给生成器而生成的。

其他两列是通过使用比例为 +-0.25 的均匀噪声采样对Y进行操作,产生得到。

五**、代码尝试**

1:阅读pytorch官方指南:https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html

2:使用pytorch官方代码:https://github.com/pytorch/tutorials/blob/main/beginner_source/dcgan_faces_tutorial.py

迭代了50个epoch的效果,还是比较抽象吧,但可以很好学习code。

相关推荐
天远API13 小时前
零信任架构实战:基于天远车信盟出险构建自动化车险评估网关
人工智能·ai·工具分享
啄缘之间13 小时前
1.【SVA】什么是SVA?
经验分享·学习·测试用例·verilog·sva
打工仔折腾 AI13 小时前
用 Docker 部署 Excalidraw 手绘白板并配置固定公网访问的完整实践
人工智能·后端·python
宝贝儿好13 小时前
【LLM】第六章:LangChain框架中的大模型的创建与调用
人工智能·自然语言处理·nlp·aigc·ai编程
霍格沃兹测试学院-小舟畅学13 小时前
UI 测试的语义断言:Midscene aiAssert 比像素比对稳在哪、又会骗在哪
人工智能·测试工具
我是章汕呐13 小时前
地级市能源消耗量及消耗强度数据【2006-2023年】平衡面板
人工智能·经验分享·算法·回归
geneculture13 小时前
Φ(0) 到全数系 AI 推演:融智学序位逻辑生成算法与P进制统一框架
人工智能·融智时代(杂志)·序位逻辑·融智学报·ai数学·道函数零点·ai自动推演框架
Dawson Zhu13 小时前
大模型预训练为何普遍单轮遍历?——从 Scaling Laws、数据重复到灾难性遗忘的技术解析
人工智能·语言模型·架构·aigc·agi
sunoo-22913 小时前
【嵌入式裸机开发Day04】i.MX6ULL 蜂鸣器驱动详解:从引脚地址查找到代码实现全流程
arm开发·单片机·嵌入式硬件·学习·串口·裸机
深海鱼肝油ya13 小时前
向量数据库Elasticsearch(四)搜索文档——各种方式
人工智能·elasticsearch·向量数据库·es搜索文档·只能体·非结构化数据库