[论文理解] On the "steerability" of generative adversarial networks

On the "steerability" of generative adversarial networks

Intro

本文提出对GAN的latent space进行操作的一种方法,通过对latent space的编辑实现生成域外样本,操控生成样本的基本属性,如控制生成样本的位置、光照、二维旋转、三维旋转等等。

文章的主要贡献为:

  1. 证明并实现了通过在latent space中的“walk”能够实现类似人类世界中相机的运动、颜色变换等操作,这些操作是通过自监督的方式学习到的。
  2. 不仅能实现对输出域的线性变换,还能实现对输出域的非线性变换。
  3. 量化了数据集可学习到变换的最大程度。

GAN经过训练能够学习到一种映射,使得\(G(z) \rightarrow x\),也就是将latent space的采样结果映射为一图像分布下的样本。因此很自然就想到了,能否学习一种变换,使得对latent space的变换,也能映射到图像分布?作者称之为“walk”,即在latent space中执行某种变换,生成的图像也会做出相应的变换,以此来调节生成的图片,甚至可以生成域外样本。

Objective

\[
\omega^* = \mathop{argmin}_\omega \mathbb{E}_{z,\alpha}[\ell(G(z + \alpha \omega),edit(G(z),\alpha))]
\]

上式edit是对生成的图像的变换操作,\(\alpha\)是外部调节参数,\(\omega\)是可学习参数,看起来相当的简单。这里是认为G已经训练好了,即已经经过对抗训练可以生成图片了。公式假设的是操作是线性操作,实际上如果是非线性操作就拟合一个对z的非线性函数,神经网络里往往用非线性激活拟合非线性,拟合的应该是一个step的变化。所以递归变换n次就是nstep的变换。
\[
\ell = \mathbb{E}_{z,n}[||f^n(z)-edit(G(z),n\epsilon)||]
\]
其中n表示第n个step,\(\epsilon\)表示步长,\(f^n(z)\)是n次递归函数。

Quantifying Steerability

本文还提出变换前后量化对比的指标,以量化变换的效果。

对于颜色变换,量化指标是随机抽取变换前后100 pixels像素值的变化,归一化到1.

对于zoom和shift的变换,量化指标是用一个目标检测网络输出物体中心位置,除以box的宽高归一化。

Reducing Transformation Limits

上面说了,是在G确定的情况下去学习latent space的变换,那么能否直接端到端训练呢?显然是可以的.
\[
G^*,\omega^* = \mathop{argmin}_{G,\omega}(\ell_{edit} + \ell_{GAN})
\]
直接端到端训练,GAN的loss按照原来的,而编辑loss拿输入原图和编辑后的做loss即可。

实验部分太长了,不感兴趣。

代码已开源:https://ali-design.github.io/gan_steerability/

原文地址:https://www.cnblogs.com/aoru45/p/12244447.html

时间: 2024-07-31 18:01:17

[论文理解] On the "steerability" of generative adversarial networks的相关文章

论文笔记之:UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS

UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS  ICLR 2016  摘要:近年来 CNN 在监督学习领域的巨大成功 和 无监督学习领域的无人问津形成了鲜明的对比,本文旨在链接上这两者之间的缺口.提出了一种 deep convolutional generative adversarial networks (DCGANs),that have certai

StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation - 1 - 多个域间的图像翻译论文学习

Abstract 最近在两个领域上的图像翻译研究取得了显著的成果.但是在处理多于两个领域的问题上,现存的方法在尺度和鲁棒性上还是有所欠缺,因为需要为每个图像域对单独训练不同的模型.为了解决该问题,我们提出了StarGAN方法,这是一个新型的可扩展的方法,能够仅使用一个单一模型就实现多领域的图像翻译.StarGAN这样的统一模型的结构允许在单个网络上同时训练带有不同领域的多个数据集.这使得StarGAN的翻译图像质量优于现有的模型,并具有将输入图像灵活地翻译到任意目标域的新能力.通过实验,验证了该

Speech Bandwidth Extension Using Generative Adversarial Networks

论文下载地址.博客园文章地址. 摘要 语音盲带宽扩展技术已经出现了一段时间,但到目前为止还没有出现广泛的部署,部分原因是增加的带宽伴随着附加的工件.本文提出了三代盲带宽扩展技术,从矢量量化映射到高斯混合模型,再到基于生成对抗性网络的深层神经网络的最新体系结构.这种最新的方法在质量上有了很大的提高,并证明了基于机器学习的盲带宽扩展算法在客观上和主观上都能达到与宽带编解码器相当的质量.我们相信,盲带宽扩展现在可以达到足够高的质量,以保证在现有的电信网络中部署. 关键词:盲源带宽扩展,人工带宽扩展,生

GAN01: Introductory guide to Generative Adversarial Networks (GANs) and their promise!

引用:Introductory guide to Generative Adversarial Networks (GANs) and their promise! What is a GAN? Let us take an analogy to explain the concept: 如果你想在某件事上做到更好,例如下棋,你会怎么做? 你或许会找一个比自己厉害的对手. 然后你会在你们对决中分析你错的地方和他对的地方, 并思考在下一场对决中你该如何击败对手. 你会不断重复这个过程,知道你击败对

Paper Reading: Perceptual Generative Adversarial Networks for Small Object Detection

Perceptual Generative Adversarial Networks for Small Object Detection 2017-07-11  19:47:46   CVPR 2017 This paper use GAN to handle the issue of small object detection which is a very hard problem in general object detection. As shown in the followin

A Review on Generative Adversarial Networks: Algorithms, Theory, and Applications

1 Inttroduction GANs由两个模型组成:生成器和鉴别器.生成器试图捕获真实示例的分布,以便生成新的数据样本.鉴别器通常是一个二值分类器,尽可能准确地将生成样本与真实样本区分开来.GANs的优化问题是一个极大极小优化问题.优化终止于相对于生成器的最小值和相对于鉴别器的最大值的鞍点. 2.1 Generative algorithms 生成算法可分为两类:显式密度模型和隐式密度模型. 2.1,1 Explicit density model 显式密度模型假设分布,利用真实数据训练包含

生成对抗网络 Generative Adversarial Networks

转自:https://zhuanlan.zhihu.com/p/26499443 生成对抗网络GAN是由蒙特利尔大学Ian Goodfellow教授和他的学生在2014年提出的机器学习架构. 要全面理解生成对抗网络,首先要理解的概念是监督式学习和非监督式学习.监督式学习是指基于大量带有标签的训练集与测试集的机器学习过程,比如监督式图片分类器需要一系列图片和对应的标签("猫","狗"-),而非监督式学习则不需要这么多额外的工作,它们可以自己从错误中进行学习,并降低未来

对抗生成网络 Generative Adversarial Networks

1. Basic idea 基本任务:要得到一个generator,能够模拟想要的数据分布.(一个低维向量到一个高维向量的映射) discriminator就像是一个score function. 如果想让generator生成想要的目标数据,就把这些真实数据作为discriminator的输入,discriminator的另一部分输入就是generator生成的数据. 1. 初始化generator和discriminator. 2. 迭代: 固定generator的参数,更新discrimi

CS231n assignment3 Q5 Generative Adversarial Networks

LeakyReLU def leaky_relu(x, alpha=0.01): """Compute the leaky ReLU activation function. Inputs: - x: TensorFlow Tensor with arbitrary shape - alpha: leak parameter for leaky ReLU Returns: TensorFlow Tensor with the same shape as x "&qu