这篇论文是ICML2019两篇best paper之一,针对无监督解耦进行了分析,从理论上证明无监督解耦是不可能的,虽然知乎上存在一些对这篇论文的负面评论,但个人感觉还是对解耦这个概念理解不一致造成的,单从这篇论文中对解耦的理解,我觉得这篇文章的工作是很有意义的。下面内容仅是个人理解,难免有失偏颇,欢迎指正。
1 解耦表示
首先简单介绍一下解耦这个概念,并没有一个统一的定义,中有提到:A disentangled representation can be defined as one where single latent units are sensitive to changes in single generative factors, while being relatively invariant to changes in other factors,就是说隐变量中某一维的改变只会影响生成结果中某个因素的改变,不会导致其他因素的改变。简单举个例子,存在一个关于人脸的隐变量z,其中对应鼻子,那么的变化只会影响到鼻子,不会影响到其他的器官,如眼睛、嘴,这就是一个解耦表示。
2 无监督解耦是不可能的
2.1 无监督解耦的问题
之前一些无监督方法大多专注于保持隐变量z的各维是独立的,认为这样就完成了解耦表示,这显然是不合理的,可以简单设想一下,我们用一个二维的z来表示眼睛和鼻子,其中对应眼睛,对应鼻子,和相互独立,可以将视为一个坐标轴,视为一个坐标轴,两坐标轴正交,这样改变的时候只有眼睛会改变,不会影响的值,同样改变的时候只有鼻子会改变,不会影响眼睛,这样看来的确实现了解耦表示,但有一个关键的问题,无监督的方式下我们怎么知道对应眼睛,对应鼻子,大多数无监督解耦的方法只能保证和相互独立,对应到这个例子里面只能保证两个坐标轴正交,但并不能保证眼睛和鼻子正好对应到两个坐标轴上。
当然这个例子并不严谨,仅提供一个个人理解。论文中对这个问题进行了证明,下面将对这个证明进行讲述。
2.2 定理及其证明
论文中提出了一个定理:
这个定理说了这样一个事情,对于任意满足的分布,都存在无穷多个双射函数,使得和是一样的,即无法从分布上进行区分,并且当时,。
论文中对这个定理进行了证明,个人看的时候有的地方不理解,又看了几遍大概理解了,在此进行记录。当然这个证明并不影响对论文的理解,不想看证明的话可以跳到下一节。
首先叙述一下论文中的证明流程:
设z的维度为d,,定义,可以看出。接下来定义,其中是标准正态分布的累积分布函数,那么服从标准正态分布。此时我们引入d*d的正交矩阵A(显然这样的A是无穷多个),论文中以Householder变换为例,那么仍然服从标准正态分布,我们定义,显然是双射(注意和是单调递增函数),且满足如下两个条件
a、
b、
当时看完这证明,我有两个疑问:(1)为什么要绕这么一大圈,去掉这个函数的构造不行吗?(2)结论b好理解,结论a是怎么得到的?
我们先来看问题(2),,而,现在我们要证明,注意服从标准正态分布,且A是正交矩阵,我们将当做向量看待的话,A不会改变的模,只会改变的方向,而标准正态分布的密度值仅跟点到均值距离相关,而不和方向有关,所以得证。
其实(2)解决了,(1)也就解决了,如果没有引入h,是无法得到结论a的。我们以二维简单想一下,
乘以一个正交矩阵,相当于对坐标轴进行旋转,坐标轴旋转后均匀分布就不再是。
而标准正态分布(我们取等概率密度线就是一个圆),旋转坐标轴后仍然是标准正态分布。
2.3 定理到结论
得到了这个定理,我们要如何应用?
假设存在解耦表示,每一维分别对应样本x的d个元素,满足
已知,那么根据上面的定理,存在无穷多个使得,且满足,。VAE中为标准正态分布,那么也是标准正态分布,但这两个正态分布的每一维对应到x上是不同的。训练结束后我们得到了解码器,生成样本阶段,我们从标准正态分布上进行采样,并用得到的解码器来生成样本,但我们并不能确定解码器是还是,如果恰巧是,那么就实现了解耦,但如果是,那么当时,很可能是不为0的(以二维为例,如果旋转角度为90,180,270的话还是能保持为0的),此时并没有实现解耦。
也就是说无监督情况下,我们只有P(x)的信息,但x与z之间的信息是完全不知道的,那么自然无法保证解耦,对应到2.1中例子就是无法确定眼睛、鼻子正好落在坐标轴上。
3、论文的展望
这篇论文进行了大量实验,得到了一些很有意思的结论,在这里不做赘述,最后只写一下该论文对未来给领域工作的建议与展望。
(1)对于解耦工作,无监督从理论上来说是行不通的,监督至关重要,future work should make the role of inductive biases and implicit and explicit supervision more explicit;
(2)探究解耦表示是否能帮助下游任务,论文中以分类任务为下游任务进行实验,发现解耦程度与分类准确率并没有呈现正相关;
(3)要得到有效的结论,就要在各种数据集上进行实验, it is crucial for future work to perform experiments on a wide variety of data sets to see whether conclusions and insights are generally applicable.