2021 Semantic Hierarchy Emerges in Deep Generative Representations for Scene Synthesis
背景
首先是背景,背景就是 GAN 在图片合成领域表现优异
动机
动机是现在目标检测的解释性工作比较多,对于 GAN 这种生成模型的解释性工作还比较少
目标
研究目标仍是探究latent code对属性的影响。本文研究的是StyleGan,它网络中的每个层次都会输入不同的latent code,也就称这种为layer-wise。
本文想探究不同层次的latent code影响的属性类型,比如 layout(格局),category(种类), color(颜色)等不同格局的属性;若能够学习到层次性的关系,比如模型画画也先画布局,再画物体、光线...那么就和人类似了!
方法
对于 bedroom 和 living room 这两种场景的属性的衡量,一些常规属性会用不同的分类器分出来的, 评估layout会先提取墙的线得到轮廓,评估对象会通过场景分割。
找潜在空间中的direction。具体的方法就是SVM,在 GAN 的 latent space 中,每个点对应着 image space 中的一张图片,同时也对应着潜在空间中的多种语义。Sample 一定量的图片后,用预训练好的分类器去获取他们对应的不同语义(对于某个属性,每个点代表的图片是属于哪一类值),接着对于某个属性,用一个 SVM 在 latent space 中学一个超平面,得到支持向量 n(可以分割开针对该属性属于不同类的样本),n作为我们的direction,和 InterfaceGAN 的方法几乎一样,不过 InterfaceGAN 处理的对象是 face,face 是容易定义的,而本文处理的是 scene,scene 的变化是很大的。
在获取了语义向量后,我们用 Re-score 来衡量这个语义方向,也就是说看编辑前后图片的语义变化程度,公式在下面,K 是样本数
验证完毕后,文章有三种编辑的手段,第一张很简单,就是在 latent space 中向语义的方向推,第二种是向两个语义方向的加和方向推,第三种是在推的时候加一点随机扰动
实验
实验研究的是不同层的y的表示,如下图:
2020 Interpreting the Latent Space of GANs for Semantic Face Editing
背景
- 对GANs如何将latent code映射到图像还缺乏理解。
- 语义是如何在latent space中产生和组织的?这些属性之前如何相互纠缠?
动机
- 继续探究一个或多个语义是如何在latent space中编码的。
- 进一步解决解纠缠的问题。
- 获得更好的针对图片属性的编辑效果。
方法
semantics in the latent space
给定一个GAN,生成器可以被定义为 。其中 表示一个d维latent space, 表示图像空间,其中每个样本 都含有语义。
定义一个打分函数 , 表示带有m维的语义分数的语义空间。那么 就连接了latent space 和语义空间 。
由上篇文章可知,latent space中存在一个超平面(对应每类属性都有一个)作为分离边界,平面同侧的latent code对应的属性一致(比如性别都是男),跨过超平面则会改变。
定义超平面的单位法向量 ,定义样本 到该超平面的距离 “distance” 为 。改变这个distance大小,语义属性的值会被改变,数值正负翻转时,属性也会翻转(男变女),所以我们也可以线性表示distance和语义分数的关系为:。
对于多个语义:。 , 表示所有单位法向量,也就是我们要找的direction, 的分布是 ,我们计算语义分数s的均值和协方差为:
,是一个多元正态分布, 是一个对角矩阵时语义才是解纠缠的,即 也是正交的。反之,可以用 去衡量语义i和语义j的纠缠程度。
manipulation in the latent space
如何操作生成图像的属性呢?
单语义修改:我们使用 编辑,时,合成结果在语义上更加正值化(老人更老),反之则负值化(老人更年轻)。编辑后的分数变为 。
条件修改:
由于不同属性间不能做到完全的解耦,因此仅沿着一种语义的方向一定时,可能会同时修改了其他属性
因此提出一种修改方法:在保留某一种语义(n2)不变的情况下,修改另一种语义(n1):
实验
latent space separation
探究是否可用于区分属性的超平面。基于有监督的方法,对于姿势、微笑、年龄、性别、眼睛等属性训练5个独立的SVM向量机(也就是找超平面),然后评估。结果是可以较好区分。
latent space manipulation
验证语义是否可操作。
conditional manipulation
探究解耦情况。使用 ,发现:
发现Smile和Pose几乎与其他属性正交。然而,性别、年龄和眼镜是高度相关的。这个观察结果反映了训练数据集中的属性相关性。在某种程度上,这里的男性老年人更有可能戴眼镜。GAN在学习产生真实观察结果时也捕捉到了这一特点。
2020 Unsupervised discovery of interpretable directions in the GAN latent space
背景动机
- GAN的latent space上存在有意义的direction供我们去解释。
- 以往常以有监督或自监督的方式进行,限制了我们探究的范围。
目标
- 提出无监督的方式解释latent space中的direction。
- 发现更多的direction去控制更多的属性。
Method
联合学习 和 ,固定 。
- 矩阵 ,其中 等于潜在空间的维数, 等于我们想要试图发现的direction的数量(取决于网络模型和数据集)。 表示one-hot 向量的第 维为1,乘上矩阵 后,也就等效于选择了 中的第k个direction。 衡量对这个direction我们的变化程度。
- 重构器 ,其输入是一对图像 和 。 输出一个标量对 ,也就是找出之前选择的direction ,和变化的幅度。
优化目标:
为什么这种方法会有效呢?
- 最小化 k,也就是试图精确定位到A中的具体列(direction),这个过程使得相应的图像转换更容易相互区分。可以看作一个解耦的过程。
- 最小化 ε,我们迫使在这个direction上的移动是连续渐进的,而不是突变的。
对于A矩阵的限制
- 所有列的向量模为1
- 所有列正交 在实验中观察到,这两种效果都挺好,并且能发现一些相似的可解释性方向。通常更常使用单位向量的列的 ,因为其能发现更多的方向。但在某些数据集中,第二种能发现一些更有趣的细节。
实验
衡量解耦能力
可见,随着训练步数逐渐接近 ,往该方向的移动不再改变数字类型,仅仅改变数字的粗细,充分表明我们将数字类型和数字粗细这俩特征解耦了。
2019 GANalyze Toward Visual Definitions of Cognitive Image Properties
背景
- 一些属性,比如“记忆性”,还没有明确的视觉定义。
- 哪些属性可以定义这个图像更加值得记忆?
- 如何控制这些属性?
目标
- 找到这类难定义属性,如“记忆性”的视觉上的清晰定义。
- 实现对这类属性的连续性控制。
方法
公式:
记忆性分数评估函数 ,使用MemNet实现。
实验
- 通过在找到的direction上改变α,探究哪些属性是影响记忆性的。
2020 ON THE “STEERABILITY” OF GENERATIVE ADVERSARIAL NETWORKS
背景
- GAN的生成存在可控制性
- 生成图片的场景属性变化程度受限于训练数据的分布
目标
- 自监督的方式实现latent code的游走来达到属性变换(镜头移动和颜色变化)
- 考虑两种游走:线性和非线性
- 评估可变化性和数据集的关系,量化可变化的程度
方法
是对生成的图像的变换操作, 是外部调节参数, 是可学习参数,该公式假设的操作是线性操作。
非线性操作就拟合一个对z的非线性函数 ,一次 代表对图像做一次编辑 ,递归变换n次就是n step的变换。其中n表示第n个step, 表示步长, 是n次递归函数。我们看几次递归可以实现最优。
量化变换
对一些属性进行了评估的量化。
- 对于颜色变换,量化指标是随机抽取变换前后100 pixels像素值的变化,归一化到1.
- 对于zoom和shift的变换,量化指标是用一个目标检测网络输出物体中心位置,除以box的宽高归一化。
β-VAE: LEARNING BASIC VISUAL CONCEPTS WITH A CONSTRAINED VARIATIONAL FRAMEWORK
背景动机
- disentangled representation可以提高后续控制属性等功能的性能。
- 基于VAE的架构,如何权衡重建loss和正则loss?
目标贡献
- 提出beta-VAE,提高latent representation的解耦性
方法
在VAE的lower bound中,由重建loss和正则loss组成。在KL项上面加了一个 超参数,用于控制这两个loss在优化过程中的比例。(注:KL用于使 的分布接近标准正态分布)
VAE:
β-VAE:
具体讲:
我们希望隐变量 可以学到独立的factor的信息(也就是解耦的)。因为KL的减少会导致重构能力变差,所以使用原本的lower bound 作为评价方式就不合适,论文中提出了一种基于分类器的disentanglement评价度量方法(用于找到合适的β值)。
distanglement metric
对于某个factor固定住,然后其余的factor随机,得到一些表示x和x‘,一共L对,得到对应的z和z’,计算每对z和z‘之间的绝对值差,丢到分类器中,理想状态下,z中应该有一个维度的绝对值差为0,那么就对应到,这样也就得到了disentanglement。
对应的一个过程就在下面图中所示。训练一个分类器去找出这个绝对值接近0的direction,若找的出来,说明耦合性低,训练出来之后用它来度量当前 下factor是否耦合性好。