这篇论文是ICML2019两篇best paper之一,针对无监督解耦进行了分析,从理论上证明无监督解耦是不可能的,虽然知乎上存在一些对这篇论文的负面评论,但个人感觉还是对解耦这个概念理解不一致造成的,单从这篇论文中对解耦的理解,我觉得这篇文章的工作是很有意义的。下面内容仅是个人理解,难免有失偏颇,欢迎指正。

1 解耦表示

首先简单介绍一下解耦这个概念,并没有一个统一的定义, β − V A E \beta-VAE β−VAE中有提到: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,其中 z i z_{i} zi​对应鼻子,那么 z i z_{i} zi​的变化只会影响到鼻子,不会影响到其他的器官,如眼睛、嘴,这就是一个解耦表示。

2 无监督解耦是不可能的

2.1 无监督解耦的问题

之前一些无监督方法大多专注于保持隐变量z的各维是独立的,认为这样就完成了解耦表示,这显然是不合理的,可以简单设想一下,我们用一个二维的z来表示眼睛和鼻子,其中 z 1 z_{1} z1​对应眼睛, z 2 z_{2} z2​对应鼻子, z 1 z_{1} z1​和 z 2 z_{2} z2​相互独立,可以将 z 1 z_{1} z1​视为一个坐标轴, z 2 z_{2} z2​视为一个坐标轴,两坐标轴正交,这样改变 z 1 z_{1} z1​的时候只有眼睛会改变,不会影响 z 2 z_{2} z2​的值,同样改变 z 2 z_{2} z2​的时候只有鼻子会改变,不会影响眼睛,这样看来的确实现了解耦表示,但有一个关键的问题,无监督的方式下我们怎么知道 z 1 z_{1} z1​对应眼睛, z 2 z_{2} z2​对应鼻子,大多数无监督解耦的方法只能保证 z 1 z_{1} z1​和 z 2 z_{2} z2​相互独立,对应到这个例子里面只能保证两个坐标轴正交,但并不能保证眼睛和鼻子正好对应到两个坐标轴上。
当然这个例子并不严谨,仅提供一个个人理解。论文中对这个问题进行了证明,下面将对这个证明进行讲述。

2.2 定理及其证明

论文中提出了一个定理:

这个定理说了这样一个事情,对于任意满足 P ( z ) = ∏ i p ( z i ) P(z)=\prod _{i}p(z_{i}) P(z)=∏i​p(zi​)的分布,都存在无穷多个双射函数 f f f,使得 P ( z ) P(z) P(z)和 P ( f ( z ) ) P(f(z)) P(f(z))是一样的,即无法从分布上进行区分,并且当 i ≠ j i\neq j i​=j时, ∂ f i ( u ) ∂ u j ≠ 0 \frac{\partial f_{i}(u)}{\partial u_{j}}\neq 0 ∂uj​∂fi​(u)​​=0。
论文中对这个定理进行了证明,个人看的时候有的地方不理解,又看了几遍大概理解了,在此进行记录。当然这个证明并不影响对论文的理解,不想看证明的话可以跳到下一节。
首先叙述一下论文中的证明流程:
设z的维度为d, P ( z ) = ∏ i p ( z i ) P(z)=\prod _{i}p(z_{i}) P(z)=∏i​p(zi​),定义 g i ( v ) = P ( z i ≤ v i ) ∀ i = 1 , 2 , . . . , d g_{i}(v)=P(z_{i}\leq v_{i})\ \forall i=1,2,...,d gi​(v)=P(zi​≤vi​) ∀i=1,2,...,d,可以看出 g ( z ) → [ 0 , 1 ] d g(z)\rightarrow [0,1]^{d} g(z)→[0,1]d。接下来定义 h i ( v ) = ψ − 1 ( v i ) ∀ i = 1 , 2 , . . . , d h_{i}(v)=\psi ^{-1}(v_{i})\ \forall i=1,2,...,d hi​(v)=ψ−1(vi​) ∀i=1,2,...,d,其中 ψ \psi ψ是标准正态分布的累积分布函数,那么 h ( g ( z ) ) h(g(z)) h(g(z))服从标准正态分布。此时我们引入d*d的正交矩阵A(显然这样的A是无穷多个),论文中以Householder变换为例,那么 A h ( g ( z ) ) Ah(g(z)) Ah(g(z))仍然服从标准正态分布,我们定义 f ( z ) = g − 1 ( h − 1 ( A h ( g ( u ) ) ) ) f(z)=g^{-1}(h^{-1}(Ah(g(u)))) f(z)=g−1(h−1(Ah(g(u)))),显然 f f f是双射(注意 g g g和 h h h是单调递增函数),且满足如下两个条件
a、 P ( z ≤ u ) = P ( f ( z ) ≤ u ) P(z\leq u)=P(f(z)\leq u) P(z≤u)=P(f(z)≤u)
b、

当时看完这证明,我有两个疑问:(1)为什么要绕这么一大圈,去掉 h h h这个函数的构造不行吗?(2)结论b好理解,结论a是怎么得到的?
我们先来看问题(2), P ( z ≤ u ) = P ( h ( g ( z ) ) ≤ h ( g ( u ) ) ) P(z\leq u)=P(h(g(z))\leq h(g(u))) P(z≤u)=P(h(g(z))≤h(g(u))),而 P ( f ( z ) ≤ u ) = P ( g − 1 ( h − 1 ( A h ( g ( u ) ) ) ) ≤ u ) = P ( A h ( g ( z ) ) ≤ h ( g ( u ) ) ) P(f(z)\leq u)=P(g^{-1}(h^{-1}(Ah(g(u))))\leq u)=P(Ah(g(z))\leq h(g(u))) P(f(z)≤u)=P(g−1(h−1(Ah(g(u))))≤u)=P(Ah(g(z))≤h(g(u))),现在我们要证明 P ( h ( g ( z ) ) ≤ h ( g ( u ) ) ) = P ( A h ( g ( z ) ) ≤ h ( g ( u ) ) ) P(h(g(z))\leq h(g(u)))=P(Ah(g(z))\leq h(g(u))) P(h(g(z))≤h(g(u)))=P(Ah(g(z))≤h(g(u))),注意 h ( g ( z ) ) h(g(z)) h(g(z))服从标准正态分布,且A是正交矩阵,我们将 h ( g ( z ) ) h(g(z)) h(g(z))当做向量看待的话,A不会改变 h ( g ( z ) ) h(g(z)) h(g(z))的模,只会改变 h ( g ( z ) ) h(g(z)) h(g(z))的方向,而标准正态分布的密度值仅跟点到均值距离相关,而不和方向有关,所以得证。
其实(2)解决了,(1)也就解决了,如果没有引入h,是无法得到结论a的。我们以二维简单想一下,


乘以一个正交矩阵,相当于对坐标轴进行旋转,坐标轴旋转后均匀分布 [ 0 , 1 ] 2 [0,1]^{2} [0,1]2就不再是 [ 0 , 1 ] 2 [0,1]^{2} [0,1]2。


而标准正态分布(我们取等概率密度线就是一个圆),旋转坐标轴后仍然是标准正态分布。

2.3 定理到结论

得到了这个定理,我们要如何应用?
假设存在解耦表示 z , z ∈ R d z,z\in R^{d} z,z∈Rd,每一维分别对应样本x的d个元素,满足
∂ x i ∂ z j { = 0 if  i ≠ j ≠ 0 if  i = j \frac{\partial x_{i}}{\partial z_{j}}\begin{cases} =0 & \text{ if } i\neq j \\ \neq 0 & \text{ if } i=j \end{cases} ∂zj​∂xi​​{=0​=0​ if i​=j if i=j​
已知 P ( x ) = P ( x ∣ z ) P ( z ) P(x)=P(x|z)P(z) P(x)=P(x∣z)P(z),那么根据上面的定理,存在无穷多个 f f f使得 z ′ = f ( z ) z'=f(z) z′=f(z),且满足 P ( x ) = P ( x ∣ z ′ ) P ( z ′ ) P(x)=P(x|z')P(z') P(x)=P(x∣z′)P(z′), P ( z ′ ) = P ( z ) P(z')=P(z) P(z′)=P(z)。VAE中 P ( z ) P(z) P(z)为标准正态分布,那么 P ( z ′ ) P(z') P(z′)也是标准正态分布,但这两个正态分布的每一维对应到x上是不同的。训练结束后我们得到了解码器,生成样本阶段,我们从标准正态分布上进行采样,并用得到的解码器来生成样本,但我们并不能确定解码器是 P ( x ∣ z ) P(x|z) P(x∣z)还是 P ( x ∣ z ′ ) P(x|z') P(x∣z′),如果恰巧是 P ( x ∣ z ) P(x|z) P(x∣z),那么就实现了解耦,但如果是 P ( x ∣ z ′ ) P(x|z') P(x∣z′),那么当 i ≠ j i\neq j i​=j时, ∂ x i ∂ z j = ∂ x i ∂ z 1 ′ ∂ z 1 ′ ∂ z j + ∂ x i ∂ z 2 ′ ∂ z 2 ′ ∂ z j + . . . + ∂ x i ∂ z d ′ ∂ z d ′ ∂ z j \frac{\partial x_{i}}{\partial z_{j}}=\frac{\partial x_{i}}{\partial z'_{1}}\frac{\partial z'_{1}}{\partial z_{j}}+\frac{\partial x_{i}}{\partial z'_{2}}\frac{\partial z'_{2}}{\partial z_{j}}+...+\frac{\partial x_{i}}{\partial z'_{d}}\frac{\partial z'_{d}}{\partial z_{j}} ∂zj​∂xi​​=∂z1′​∂xi​​∂zj​∂z1′​​+∂z2′​∂xi​​∂zj​∂z2′​​+...+∂zd′​∂xi​​∂zj​∂zd′​​很可能是不为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.

Challenging Common Assumptions in the Unsupervised Learning of Disentangled Representations学习与理解相关推荐

  1. [ICML19] Challenging Common Assumptions in the Unsupervised Learning of Disentangled Representations

    谷歌等一篇名为<挑战无监督分离式表征的常见假设>的论文,表明 (没有归纳偏置的) 无监督方法学不到可靠的分离式表征 (Disentangled Representations) .本篇是I ...

  2. 文献学习(part13)--A Sober Look at the Unsupervised Learning of Disentangled...

    学习笔记,仅供参考,有错必纠 文章目录 A Sober Look at the Unsupervised Learning of Disentangled Representations and th ...

  3. 自监督学习(十)Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles

    Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles Introduction Method 排列选择 p ...

  4. Domain Agnostic Learning with Disentangled Representations

    Domain Agnostic Learning with Disentangled Representations 第一章 领域未知的表示学习 文章目录 Domain Agnostic Learni ...

  5. ECCV2016【论文笔记】Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles

    1.INTRO 本文作者旨在通过解决拼图问题来进行self-supervised learning,这样可以训练一个网络去识别目标的组成部分. 2.Solving Jigsaw Puzzles 当前一 ...

  6. 2019_ICML_Domain Agnostic Learning with Disentangled Representations

    论文地址:https://arxiv.org/pdf/1904.12347.pdf 代码地址:https://github.com/VisionLearningGroup/DAL 1 研究动机与研究思 ...

  7. 《Domain Agnostic Learning with Disentangled Representations》代码

    文章目录 `class_loss` 分类交叉熵损失_论文公式(2) `ring_loss` Ring-style Normalization_论文公式(8) `mutual_information`_ ...

  8. Paper Rewiew: Unsupervised Learning of Digit Recognition Using Spike-Timing-Dependent Plasticity

    Paeper Rewiew 文章信息 文章内容 背景 简介 主要工作及特点: 实验结果 设计细节 讨论 源代码的错误 其他 阅读时间:2017年12月 更新时间:2018年6月,合并了在<Fro ...

  9. facebook新无监督论文-Unsupervised Learning of Visual Features by Contrasting Cluster Assignments

    最近比较关注无监督论文,因此只要发现有新的文章都会读一遍,facebook近期刚出了一篇Unsupervised Learning of Visual Features by Contrasting ...

最新文章

  1. mysql update join 锁表_Mysql事务中Update是否会锁表?
  2. python读取 pcd 数据 三种方法
  3. java对象是 什么的集合_java持有对象-集合类
  4. Session.run() Tensor.eval()
  5. 【转】VNC不同软件之间的联系与区别
  6. JAVA入门级教学之(对象和引用)
  7. java中包装类介绍
  8. SAP License:晨紫集团ERP系统应用考核体系简介
  9. A卡比N卡画质好,真有此事吗?
  10. Makefile万能写法(gcc程序以及arm-linux-gcc程序)-转
  11. 蓝桥杯 ALGO-75 算法训练 筛选号码
  12. 佛说剖腹产的孩子_选择好的剖腹产时间会改变孩子的命运吗?
  13. 【剑指Offer学习】【所有面试题汇总】
  14. 从python入门机器学习系列--2、Z 检验与 T 检验
  15. 莫比乌斯反演与整除分块
  16. Android开发 人民币符号(¥)显示不一致的问题
  17. OpenCV源码剖析之ImageDecoder
  18. 《动手学深度学习(PYTORCH版)》第3章引入“d2lzh_pytorch”包报错:No module named ‘torchtext’
  19. 内存类型UDIMM、RDIMM、LRDIMM大解析
  20. 私密聊天加密聊天伪装界面聊天软件产品UI分析,qiaoyu5,feige5

热门文章

  1. 计算机中的服务是什么意思?
  2. 使用百度统计API接口抓取数据
  3. 《蜗居》告诉你如何管理你的女友——海藻小贝的故事
  4. SpringBoot的Web开发入门案例9—数据访问
  5. BootStrap使用方法为BootStrap3添加jquery.min.js文件(简单易懂)_☆往事随風☆的博客
  6. 解决“unable to access ‘https://github.com...”
  7. [附源码]Python计算机毕业设计SSM基于Java的新冠疫苗预约系统(程序+LW)
  8. static_cast和dynamic_cast详解
  9. css如何让背景图片平铺?css背景图片平铺四种方式介绍
  10. List<KeyValuePair<string, int>> 返回空值不为null