Challenging Common Assumptions in the Unsupervised Learning of Disentangled Representations学习与理解
这篇论文是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)=∏ip(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)=∏ip(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学习与理解相关推荐
- [ICML19] Challenging Common Assumptions in the Unsupervised Learning of Disentangled Representations
谷歌等一篇名为<挑战无监督分离式表征的常见假设>的论文,表明 (没有归纳偏置的) 无监督方法学不到可靠的分离式表征 (Disentangled Representations) .本篇是I ...
- 文献学习(part13)--A Sober Look at the Unsupervised Learning of Disentangled...
学习笔记,仅供参考,有错必纠 文章目录 A Sober Look at the Unsupervised Learning of Disentangled Representations and th ...
- 自监督学习(十)Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles
Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles Introduction Method 排列选择 p ...
- Domain Agnostic Learning with Disentangled Representations
Domain Agnostic Learning with Disentangled Representations 第一章 领域未知的表示学习 文章目录 Domain Agnostic Learni ...
- ECCV2016【论文笔记】Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles
1.INTRO 本文作者旨在通过解决拼图问题来进行self-supervised learning,这样可以训练一个网络去识别目标的组成部分. 2.Solving Jigsaw Puzzles 当前一 ...
- 2019_ICML_Domain Agnostic Learning with Disentangled Representations
论文地址:https://arxiv.org/pdf/1904.12347.pdf 代码地址:https://github.com/VisionLearningGroup/DAL 1 研究动机与研究思 ...
- 《Domain Agnostic Learning with Disentangled Representations》代码
文章目录 `class_loss` 分类交叉熵损失_论文公式(2) `ring_loss` Ring-style Normalization_论文公式(8) `mutual_information`_ ...
- Paper Rewiew: Unsupervised Learning of Digit Recognition Using Spike-Timing-Dependent Plasticity
Paeper Rewiew 文章信息 文章内容 背景 简介 主要工作及特点: 实验结果 设计细节 讨论 源代码的错误 其他 阅读时间:2017年12月 更新时间:2018年6月,合并了在<Fro ...
- facebook新无监督论文-Unsupervised Learning of Visual Features by Contrasting Cluster Assignments
最近比较关注无监督论文,因此只要发现有新的文章都会读一遍,facebook近期刚出了一篇Unsupervised Learning of Visual Features by Contrasting ...
最新文章
- mysql update join 锁表_Mysql事务中Update是否会锁表?
- python读取 pcd 数据 三种方法
- java对象是 什么的集合_java持有对象-集合类
- Session.run() Tensor.eval()
- 【转】VNC不同软件之间的联系与区别
- JAVA入门级教学之(对象和引用)
- java中包装类介绍
- SAP License:晨紫集团ERP系统应用考核体系简介
- A卡比N卡画质好,真有此事吗?
- Makefile万能写法(gcc程序以及arm-linux-gcc程序)-转
- 蓝桥杯 ALGO-75 算法训练 筛选号码
- 佛说剖腹产的孩子_选择好的剖腹产时间会改变孩子的命运吗?
- 【剑指Offer学习】【所有面试题汇总】
- 从python入门机器学习系列--2、Z 检验与 T 检验
- 莫比乌斯反演与整除分块
- Android开发 人民币符号(¥)显示不一致的问题
- OpenCV源码剖析之ImageDecoder
- 《动手学深度学习(PYTORCH版)》第3章引入“d2lzh_pytorch”包报错:No module named ‘torchtext’
- 内存类型UDIMM、RDIMM、LRDIMM大解析
- 私密聊天加密聊天伪装界面聊天软件产品UI分析,qiaoyu5,feige5
热门文章
- 计算机中的服务是什么意思?
- 使用百度统计API接口抓取数据
- 《蜗居》告诉你如何管理你的女友——海藻小贝的故事
- SpringBoot的Web开发入门案例9—数据访问
- BootStrap使用方法为BootStrap3添加jquery.min.js文件(简单易懂)_☆往事随風☆的博客
- 解决“unable to access ‘https://github.com...”
- [附源码]Python计算机毕业设计SSM基于Java的新冠疫苗预约系统(程序+LW)
- static_cast和dynamic_cast详解
- css如何让背景图片平铺?css背景图片平铺四种方式介绍
- List<KeyValuePair<string, int>> 返回空值不为null