文章目录

  • 前言
  • 一、β-vae的提出
  • 二、β-vae框架推导
  • 1.假设
  • 2.推导
  • 三、DISENTANGLEMENT METRIC


前言

文章:β-VAE: LEARNING BASIC VISUAL CONCEPTS WITH A CONSTRAINED VARIATIONAL FRAMEWORK
beta-vae 本文是在传统VAE的基础上,对VAE的loss进行了改进,在loss的第二项KL散度项加上一个超参数β,作者发现,随着增加β,传统的VAE有了disentanglement的特性,并做了大量的实验验证。
在我看来,全篇文章主要做了两件事情:

  1. 在VAE的基础上,增加超参数β,发现了disentanglement的特性(很可惜没有很好的解释原因是什么。)
  2. 提出一个disentanglement的度量方法

一、β-vae的提出

β-vae实际上非常简单,就是在传统vae的基础上,对VAE的loss进行了改进,在loss的第二项KL散度项加上一个超参数β。所以说,你需要先弄明白vae,这里推荐你看一下苏剑林老师的文章,这篇文章我感觉是讲vae讲的最好的一篇。

首先看一下传统VAE的loss:

bevfusion 论文 beloved论文_Beta-VAE


分为两个部分,前面是重构项,后面是kl散度。

beta-vae的loss:

bevfusion 论文 beloved论文_Beta-VAE_02


就是在kl散度项加了一个超参数β。

二、β-vae框架推导

1.假设

设D={X,V,W}是由图像x∈RN和两组地面真实数据生成因子组成的集合:条件独立因子v∈RK,其中logp(v|x)=Pklogp(vk|x);和条件相关因子w∈RH。我们假设图像x是由真实世界模拟器使用相应的地面真实数据生成因子生成的:

p(x|v,w)=Sim(v,w)。

我们想要开发一个无监督的深度生成模型,仅使用X的样本,可以学习数据x和一组生成潜在因子z(z∈RM,其中M≥K)的联合分布,这样z就可以生成观测数据x;即p(x|z)≈p(x|v,w)=Sim(v,w)。因此,一个合适的目标是使在潜在因子x的整个分布中,预期的观测数据x的边际(对数)似然值最大化:

bevfusion 论文 beloved论文_正则化_03

2.推导

对于一个给定的观测x,我们用概率分布qφ(z|x)来描述潜在因子z的推断后验构型。我们的目的是确保推断出的潜在因子qφ(z|x)以解纠缠的方式捕获生成因子v。有条件依赖的数据生成因子w可以保持纠缠在z的一个单独子集中,该子集中不用来表示v。为了鼓励在推断的qφ(z|x)中的这种分离性质,我们通过尝试将其与先验的p(z)匹配来对其引入一个约束。它既可以控制潜在信息瓶颈的能力,又体现了上述统计独立性的需求。

因此,将先验设置为一个各向同性单位高斯(p(z)=N(0,I)),可以满足这一点。

对于β-vae的损失来说:

bevfusion 论文 beloved论文_正则化_04


β是正则化系数,它约束了潜在信息通道z的容量,并由于高斯先验p(z)的各向同性,对学习到的后验施加隐式独立压力。

最终损失函数为:

bevfusion 论文 beloved论文_bevfusion 论文_05


当在信息保存(重建成本作为正则化)和潜在信道容量限制(β>1)之间找到正确的平衡时,就会出现解纠缠表示。文中通过实验选择的是β=4的时候效果最好。

三、DISENTANGLEMENT METRIC

关于disentanglement的度量方法是比较少的,文章中提出了自己的度量方法,本质是一个线性分类器。

算法流程:

bevfusion 论文 beloved论文_数据_06


bevfusion 论文 beloved论文_概率分布_07

如图所示:

bevfusion 论文 beloved论文_Beta-VAE_08


我来解释一下这个方法,因为一开始的时候我也没有看懂。首先要明确的是,这个方法的本质是一个分类器。

先看上图的最左边,数据是以数据对的形式存在的,每组数据都有两个样本,一共有L组。其中,所有数据的scale是一样的,可以从图中看出,不管是心形、椭圆、还是正方体。这就确保了对于隐变量来说,其中的一维是固定的。

接着是将样本以对的形式输入到编码器中,得到Z,一组当中,Z做减法。然后将所有组的Zdiffer求均值。将这个均值输入到最后的分类器中,分类器的目标是预测对给定zb保持不变的生成因子的索引y。