上手AIGC必读经典算法——图像生成的转折“DCGAN”

DCGAN!

Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks-ReadPaper论文阅读平台

论文结构

  1. Introduction
  2. Related work
    2.1 Representation learning from unlabeled data
    2.2 Generating natural images
    2.3 Visualizing the internals of CNNs
  3. Approach and model architecture
  4. Details of adversarial training
    4.1 LSUN
    4.1.1 Deduplication
    4.2 Faces
    4.3 Imagenet-1k
  5. Empirical validation of DCGANs capabilities
    5.1 Classifying CIFAR-10 using GANs as a feature extractor
    5.2 Classifying SVHN digits using GANs as a feature
    extractor
  6. Investigating and visualizing the internals of the networks
    6.1 Walking in the latent space
    6.2 Visualizing the discriminator features
    6.3 Manipulating the generator representation
    6.3.1 Forgetting to draw certain objects
    6.3.2 Vector arithmetic on face samples
  7. Conclusion and future work

摘要

Abstract: In recent years, supervised learning with convolutional networks (CNNs) has seen huge adoption in computer vision applications. Comparatively, unsupervised learning with CNNs has received less attention. In this work we hope to help bridge the gap between the success of CNNs for supervised learning and unsupervised learning. We introduce a class of CNNs called deep convolutional generative adversarial networks (DCGANs), that have certain architectural constraints, and demonstrate that they are a strong candidate for unsupervised learning. Training on various image datasets, we show convincing evidence that our deep convolutional adversarial pair learns a hierarchy of representations from object parts to scenes in both the generator and discriminator. Additionally, we use the learned features for novel tasks - demonstrating their applicability as general image representations

摘要核心

  1. 希望能让CNN在无监督学习上,达到与监督学习一样的成功
  2. 通过架构约束,构建了深度卷积生成对抗网络(DCGAN)
  3. 证明了DCGAN是目前先进的无监督学习网络
  4. 证明了DCGAN的生成器和判别器学习到了从物体细节到整体场景的多层次表征
  5. 证明了DCGAN判别器提取的图像特征具有很好的泛化性

研究背景

表征学习

•表征(representation)、特征(feature)、编码(code)

image-20220929170858131

  • 好的表征

    • 具有很强的表示能力,即同样大小的向量可以表示更多信息

    • 使后续的学习任务变得简单,即需要包含更高层的语义信息

    • 具有泛化性,可以应用到不同领域

  • 表征学习的方式

    • 无监督表征学习
    • 有监督表征学习

模型可解释性

—— Interpretation is the process of giving explanations to Human

决策树就是一个具有良好可解释性的模型

使用特征可视化方法

使用数据分析,可以找到数据中一些具有代表性和不具代表性的样本

NIPS 2017会议上,Yann LeCun:人类大脑是非常有限的,我们没有那么多脑容量去研究所有东西的可解释性

研究成果

image-20220929172105423

image-20220929172141435

image-20220929172210109

研究意义

  • 早期的GAN在图像上仅局限MNIST这样的简单数据集中,DCGAN使GAN在图像生成任务上的效果大大提升
  • DCGAN几乎奠定了GAN的标准架构,之后GAN的研究者们不用再过多关注模型架构和稳定性,可以把更多的精力放在任务本身上,从而促进了GAN在16年的蓬勃发展
  • 开创了GAN在图像编辑上的应用

模型结构

image-20220929172845214


所有的pooling层使用strided卷积(判别器)和fractional-strided卷积(生成器)进行替换

使用Batch Normalization

移除全连接的隐层,让网络可以更深

在生成器上,除了输出层使用Tanh外,其它所有层的激活函数都使用ReLU

判别器所有层的激活函数都使用LeakyReLU

训练细节


训练图像的预处理,只做了到 [-1, 1] 的值域缩放

使用mini-batch随机梯度下降来训练网络, batch size大小为128

采用均值为0 标准差为0.02的正态分布,来对所有权重进行初始化

对于LeakyReLU激活函数,leak的斜率设置为0.2

优化器使用Adam,而不是此前GAN网络用的momentum

Adam的学习速率使用0.0002,而非原论文建议的0.001

Adam的参数momentum term β1,原论文建议的0.9会导致训练震荡和不稳定,将其减少至0.5可以让训练更加稳定

图像生成

LSUN

image-20220929173120012


没有使用 Data Augmentation

在LSUN上训练一个3072-128-3072的自编码器,用它从图像中提取128维特征,再经过ReLU层激活后作为图像的语义hash值

对生成图像和训练集使用上面的编码器,提取128维的语义hash值,进行重复性检测

检测到了大约275000左右数量的重复数据(LSUN数据集大小为300多万)

FACES

image-20220929173249404

  • 从DBpedia上获取人名,并保证他们都是当代人
  • 用这些人名在网络上搜索,收集其中包含人脸的图像,得到了来自1万人的300万张图像
  • 使用OpenCV的人脸检测算法,截取筛选出较高分辨率的人脸,最终得到了大约35万张人脸图像
  • 训练时没有使用 Data Augmentation

无监督表征学习

Unsupervised representation learning

CIFAR-10

在Imagenet-1k上训练DCGAN

使用判别器所有层的卷积特征,分别经过最大池化层,在每一层上得到一个空间尺寸为4*4的特征,再把这些特征做flattened和concatenated,最终得到28672维的向量表示

用一个SVM分类器,基于这些特征向量和类别label进行有监督训练

image-20220929173348880

StreetView House Numbers(SVHN)


使用与CIFAR-10实验相同的处理流程

使用10000个样本来作为验证集,将其用在超参数和模型的选择上

随机选择1000个类别均衡的样本,用来训练正则化线性L2-SVM分类器

使用相同的生成器结构、相同的数据集,从头训练有监督CNN模型,并使用验证集进行超参数搜索

image-20220929173425672

隐空间分析

隐变量空间漫游


在latent space上walking,可以判断出模型是否是单纯在记住输入(如果生成图像过渡非常sharp),以及模式崩溃的方式

如果在latent space中walking导致生成图像的语义变化(例如添加或删除了对象),我们可以推断模型已经学习到了相关和有趣的表征

image-20220929173922536

去除特定的对象


为了研究模型是如何对图像中的特定物体进行表征的,尝试从生成图像中把窗口进行移除

选出150个样本,手动标注了52个窗口的bounding box

在倒数第二层的conv layer features中,训练一个简单的逻辑回归模型,来判断一个feature activation是否在窗口中

使用这个模型,将所有值大于0的特征(总共200个),都从空间位置中移除

image-20220929173901695

人脸样本上的矢量运算


vector(”King”) - vector(”Man”) +vector(”Woman”)的结果和向量Queen很接近

对单个样本进行操作的结果不是很稳定,而如果使用三个样本的平均值,结果就会好很多

image-20220929173949230

总结展望

• 提出了一套更稳定的架构来训练生成对抗性网络
• 展示了对抗性网络可以很好的学习到图像的表征,并使用在监督学习和生成式的建模上
• 模式崩溃问题仍然存在
• 可以再延伸应用到其他领域,例如视频(做帧级的预测)和声频(用于语音合成的预训练特征)
• 可以对latent space进行更进一步的研究

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yuetianw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值