CausalVAE: Disentangled Representation Learning via Neural Structural Causal Models
概
隐变量的因果表示.
主要内容
我们通常希望隐变量\(z\)能够表示一些特别的特征, 通过改变\(z\)使得生成的图形某些属性发生相应的变换, 但是这种设定的方式并不具备因果的关系, 比方说

这个摆锤, 其隐变量\(z\)是光照, 摆锤的角度, 影子的长短.
我们可以改变摆锤的角度, 一般的生成模型摆锤的角度变了, 但是光照和影子长短没有发生变化, 实际上由于摆锤角度的变化, 对于的隐变量:影子的长短也应该发生相应的变化以满足物理的规律. 如何把这些因果关系融入到普通的VAE中是本文的独到之处.
模型

Encoder 部分:
\]
\(\epsilon\)可以看成是一个临时的隐变量;
\]
Decoder部分:
\]
这一部分是重构\(z\), 正是这一步的存在使得我们能够干预\(z_i\)使得其它的\(z_j\)也发生相应的改变.
\]
联合分布为:
p_{\theta}(x|z,\epsilon,u) = p_{\theta}(x|z) = p_{\xi}(x-f(z)), \\
p_{\theta}(\epsilon,z|u) = p_{\epsilon}(\epsilon) p_{\theta}(z|u), \quad p_{\epsilon}(\epsilon) = \mathcal{N}(0, I), \\
p_{\theta}(z|u) = \prod_{i=1}^n p_{\theta}(z_i|u_i), \quad p_{\theta}(z_i|u_i) = \mathcal{N}(\lambda_1(u_i), \lambda_2^2(\mu_i)).
\]
估计的后验分布为:
q(z|\epsilon) = \delta (z=(I-A)^{-1}\epsilon).
\]
注: \(z, u, \epsilon \in \mathbb{R}^n, x \in \mathbb{R}^d.\)
ELBO
由此可以推出ELBO:
\]
由于\(p(z|\epsilon) = \delta(z=(I-A)^{-1}\epsilon)\), 所以上式可以进一步化为:
\]
关于\(A\)
正如在这儿所论述的, \(A\)需要对应一个有向无环图, 本文采取的策略是:
\]
这里\(c\)是任意正数.
同时为了满足\(z\)重构, 需要以下条件满足:
\]
注: 这里\(z_i\)是重构前的.
特别的, 为了更好地用额外信息(不是很认同, 感觉得看实际情况吧):
\]
所以最终的损失为:
\]
注: 本文不像别的方法一样用augmented Lagrange 求解.
注: 作者设计的实验实在是非常有趣.
CausalVAE: Disentangled Representation Learning via Neural Structural Causal Models的更多相关文章
- 论文解读(S^3-CL)《Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learning》
论文信息 论文标题:Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learn ...
- Self-Supervised Representation Learning
Self-Supervised Representation Learning 2019-11-11 21:12:14 This blog is copied from: https://lilia ...
- (转)Predictive learning vs. representation learning 预测学习 与 表示学习
Predictive learning vs. representation learning 预测学习 与 表示学习 When you take a machine learning class, ...
- 翻译 Improved Word Representation Learning with Sememes
翻译 Improved Word Representation Learning with Sememes 题目 Improved Word Representation Learning with ...
- 论文阅读笔记 Improved Word Representation Learning with Sememes
论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...
- 【论文笔记】Learning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for Graphs 2018-01-17 21:41:57 [Introduction] 这篇 paper 是发表在 ...
- (zhuan) Notes on Representation Learning
this blog from: https://opendatascience.com/blog/notes-on-representation-learning-1/ Notes on Repr ...
- 网络表示学习Network Representation Learning/Embedding
网络表示学习相关资料 网络表示学习(network representation learning,NRL),也被称为图嵌入方法(graph embedding method,GEM)是这两年兴起的工 ...
- Machine Learning:Neural Network---Representation
Machine Learning:Neural Network---Representation 1.Non-Linear Classification 假设还採取简单的线性分类手段.那么会面临着过拟 ...
随机推荐
- Shell学习(七)——sort、uniq、cut、wc命令详解
Shell学习(七)--sort.uniq.cut.wc命令详解 转自:[1]linux sort,uniq,cut,wc命令详解 https://www.cnblogs.com/ggjucheng/ ...
- spring注解-自动装配
Spring利用依赖注入(DI)完成对IOC容器中中各个组件的依赖关系赋值 一.@Autowired 默认优先按照类型去容器中找对应的组件(applicationContext.getBean(Boo ...
- Linux:cp -rp
cp -rp[原文件或目录] [目标文件或目录] -r 复制目录 - p 保留文件属性 范例: cp -r /yy/k /yy/u /mm 复制目录u和目录k到目录mm中 cp -r /yy/ ...
- springboot项目中集成ip2region遇到的问题及终极解决办法
1.问题回顾 按照ip2region项目的官方集成到springboot项目后,运行测试一切都ok,没有任何问题.但是当项目打成可执行的jar包后再运行,却显示找不到ip2region.db,无法找到 ...
- Linux提取命令grep 有这一篇就够了
grep作为linux中使用频率非常高的一个命令,和cut命令一样都是管道命令中的一员.并且其功能也是对一行数据进行分析,从分析的数据中取出我们想要的数据.也就是相当于一个检索的功能.当然了,grep ...
- JavaOOP对象和封装
对象: 前言: 在程序员眼中,世界万物皆为对象.世界上有两种人,一种是懂二进制的人,一种就是不懂二进制的人. 面向对象设计的过程就是抽象的过程. 步骤: 第一步:发现类 第二步:发现类的属性 第三步: ...
- Jenkins配置代码化
目录 一.简介 二.init.groovy 脚本命令行调试 一.简介 Jenkins用久了,会有一种莫名的紧张感.因为没人清楚Jenkins都配置了什么,以至于没人敢动它. 但凡使用界面进行配置的都会 ...
- shell脚本 系统信息检测
一.简介 源码地址 日期:2018/4/12 介绍:根据指令展示不同的系统数据 效果图: 二.使用 适用:centos6+ 语言:中文 注意:无 下载 wget https://raw.githubu ...
- [BUUCTF]REVERSE——xor
xor 附件 步骤: 附件很小,直接用ida打开,根据检索得到的字符串,找到程序关键函数 程序很简单,一开始让我们输入一个长度为33的字符串给v6,然后v6从第二个字符开始与前一个字符做异或运算,得到 ...
- 转换…Transform…(Power Query 之 M 语言)
转换列: = Table.TransformColumns( 表, {{"列名1", 转换函数1, 数据类型1},-,{"列名n", 转换函数n, 数据类型n} ...