Khemakhem I., Kingma D. P., Monti R. P. and Hyv"{a}rinen A. Variational autoencoders and nonlinear ICA: a unifying framework. In International Conference on Artificial Intelligence and Statistics (AISTATS), 2020.

本文讨论identifiability的问题, 即

\[p_{\theta}(x) = p_{\tilde{\theta}}(x) \Rightarrow \theta = \tilde{\theta}
\]

在何种情况下能够成立, 或者近似成立.

主要内容

假设观测数据\(x\)和隐变量\(z\)满足联合分布:

\[p_{\theta^*}(x, z) = p_{\theta^*}(x|z) p_{\theta^*}(z),
\]

因为隐变量是未知的, 所以我们接触到的实际上只有边际分布

\[p_{\theta^*}(x) = \int_z p_{\theta^*}(x, z)\mathrm{d}z.
\]

在实际估计参数\(\theta\)的时候, 很有可能发生:

\[p_{\theta}(x) = p_{\tilde{\theta}}(x) \approx p_{\theta^*}(x), \: \theta \not = \tilde{\theta}.
\]

即两个不同的联合分布\(p_{\theta}(x, z), p_{\tilde{\theta}}(x, z)\)但是却对应着同一个边际分布, 这就identifiability的问题.

在经典的VAE框架中, 已经有工作指出, 无监督下, 即仅凭观测数据\(x\), 是无法保证identifiability的.

本文的模型

本文需要用到一些额外的信息\(u\), 考虑如下分布:

\[p_{\theta}(x, z|u) = p_f(x|z) p_{T,\lambda}(z|u), \: \theta = (f, T, \lambda).
\]

注: \(x \in \mathbb{R}^d, z \in \mathbb{R}^n, u \in \mathbb{R}^m\).

其中,

\[x = f(z) + \epsilon \Rightarrow p_{f}(x|z) = p_{\epsilon}(x - f(z)).
\]
\[p_{T, \lambda}(z|u) = \prod_{i}\frac{Q_i(z_i)}{Z_i(u)}\exp [\sum_{j=1}^k T_{i,j}(z_i) \lambda_{i,j}(u)],
\]

即假设先验\(z|\mu\)满足的是指数族的分布.

套用VAE的框架:

  1. encoder:
\[\hat{T}, \hat{\lambda} = h(x, u;\phi), z \sim p_{\hat{T}, \hat{\lambda}}(z|u).
\]
  1. decoder:
\[\hat{x} = f(z) + \epsilon.
\]

既估计的后验分布为\(q_{\phi}(z|x,\mu)\), 则ELBO:

\[\mathbb{E}_{q_{\mathcal{D}(x,u)}}[\mathbb{E}_{q_{\phi}(z|x,u)}[\log p_{\theta}(x, z|u) - \log q_{\phi}(z|x,u)]].
\]

Identifiability

\(\sim\)定义: 定义\(\sim\)等价关系如下:

\[(f, T, \lambda) \sim (\tilde{f}, \tilde{T}, \tilde{\lambda}) \Leftrightarrow \\
\exist A, c, \: \mathrm{s.t.} \: T(f^{-1}(x)) = A\tilde{T}(\tilde{f}^{-1}(x)) + c, \forall x \in \mathcal{X},
\]

其中\(A \in \mathbb{R}^{nk \times nk}\). 若\(A\)还是个可逆矩阵, 则

\[(f, T, \lambda) \sim_{A} (\tilde{f}, \tilde{T}, \tilde{\lambda}).
\]

显然, 如果

\[p_{\theta}(x|u) = p_{\tilde{\theta}}(x|u) \Rightarrow \theta \sim_A \tilde{\theta},
\]

那么可以说是在线性变换允许范围内是identifiable的.

接下来给出的定理说明了什么时候\(\theta, \tilde{\theta}\)是\(\sim_A\)-identifiable的.

定理: 在前述定义的模型下, 对于\(\theta = (f, T, \lambda)\), 以及任意\(\tilde{\theta} =(\tilde{f}, \tilde{T}, \tilde{\lambda})\)满足

\[p_{\theta}(x|u)= p_{\tilde{\theta}}(x|u), \: a.e.,
\]

若一下条件成立, 则\(\theta \sim_A \tilde{\theta}\):

  1. 若\(\varphi_{\epsilon}\)为\(p_{\epsilon}\)的特征函数(这里即为对于的傅里叶变换), 且\(\varphi_{\epsilon} \not = 0, \: a.e.\).

  2. \(f\)是一个单射.

  3. \(T_{i, j}\)几乎处处可微, 且\((T_{ij})_j(x)\)线性独立, 即

\[\sum_j^k \alpha_{ij} T_{i, j}(x) = c_{i}, \forall x, \Rightarrow c_i = 0, \alpha_{ij} = 0, \forall j,
\]

对于\(i=1,\ldots, n\)均成立.

  1. 存在不同的点\(u^0, \cdots, u^{nk}\), 使得
\[L = (\lambda(u_1) - \lambda(u_0), \cdots, \lambda(u_{nk}) - \lambda(u_0)) \in \mathbb{R}^{nk \times nk}.
\]

可逆.

证明流程:

利用条件1, 2证明

\[p_{T,\lambda}(f^{-1}(x)|u) \mathrm{vol} J_{f^{-1}}(x)
=p_{\tilde{T},\tilde{\lambda}}(f^{-1}(x)|u) \mathrm{vol} J_{\tilde{f}^{-1}}(x).
\]

利用条件4证明

\[T(f^{-1}(x)) = A\tilde{T}(\tilde{f}^{-1}(x)) + c, \: A = L^{-T}\tilde{L}^T.
\]

利用条件3证明\(A\)可逆.

注: 显然条件四一定程度熵说明了为什么无监督不行(因为其相当于\(\lambda(u)\)为常数).

注: 关于引理2的证明我有疑问, 我认为应当这般证明:

令\(\mathcal{X}_i = \{x \in \mathbb{R}, T_i'(x) = 0\}\), 取\(\theta_i\not=0, \theta_j = 0, j\not=i\), 则

\[\langle T'(x), \theta \rangle = 0, \forall x \in \mathcal{X_i} \Rightarrow \langle T(x), \theta \rangle = \mathrm{const},
\]

由定义知\(\mathcal{X}_i\)的测度为0.

注: 本文还有一些别的identifiability的讨论, 这里不多赘述.

Variational Autoencoders and Nonlinear ICA: A Unifying Framework的更多相关文章

  1. Understanding Variational Autoencoders (VAEs)

    Understanding Variational Autoencoders (VAEs) 2019-09-29 11:33:18 This blog is from: https://towards ...

  2. (译) Conditional Variational Autoencoders 条件式变换自编码机

    Conditional Variational Autoencoders --- 条件式变换自编码机 Goal of a Variational Autoencoder: 一个 VAE(variati ...

  3. [Bayesian] “我是bayesian我怕谁”系列 - Variational Autoencoders

    本是neural network的内容,但偏偏有个variational打头,那就聊聊.涉及的内容可能比较杂,但终归会 end with VAE. 各个概念的详细解释请点击推荐的链接,本文只是重在理清 ...

  4. 条件式变分自编码机(Conditional Variational Autoencoders)

    Conditional Variational Autoencoders 条件式变换自编码机 摘要: Conditional Variational Autoencoders --- 条件式变换自编码 ...

  5. 基于图嵌入的高斯混合变分自编码器的深度聚类(Deep Clustering by Gaussian Mixture Variational Autoencoders with Graph Embedding, DGG)

    基于图嵌入的高斯混合变分自编码器的深度聚类 Deep Clustering by Gaussian Mixture Variational Autoencoders with Graph Embedd ...

  6. Improving Variational Auto-Encoders using Householder Flow

    目录 概 主要内容 代码 Tomczak J. and Welling M. Improving Variational Auto-Encoders using Householder Flow. N ...

  7. Variational Auto-Encoders原理

    目录 AE v.s. VAE Generative model VAE v.s. GAN AE v.s. VAE Generative model VAE v.s. GAN

  8. PP: Time series anomaly detection with variational autoencoders

    Problem: unsupervised anomaly detection Model: VAE-reEncoder VAE with two encoders and one decoder. ...

  9. (zhuan) Variational Autoencoder: Intuition and Implementation

    Agustinus Kristiadi's Blog TECH BLOG TRAVEL BLOG PORTFOLIO CONTACT ABOUT Variational Autoencoder: In ...

随机推荐

  1. 日常Java 2021/10/14

    Java数据结构 Java BitSet类 BitSet类创建一种特殊类型的数组来保存位值,数组大小随需要增加,BitSet(),BitSet(int size) 其中的方法 void and(Bit ...

  2. 日常Java 2021/9/20

    Java随机数 运用Java的random函数实现猜数字游戏 随机产生一个1-50之间的数字,然后让玩家猜数,猜大猜小都给出提示,猜对后游戏停止 package pingchangceshi; imp ...

  3. 基于MQTT协议实现远程控制的"智能"车

    智能,但不完全智能 虽然我不觉得这玩意儿有啥智能的,但都这么叫就跟着叫喽. 时隔好几天才写的 其实在写这篇博文的时候我已经在做升级了,并且已经到了中后期阶段了. 主要是业余时间做着玩,看时间了. 规格 ...

  4. SpringBoot Logback 日志配置

    目录 前言 日志格式 日志输出 日志轮替 日志级别 日志分组 小结 前言 之前使用 SpringBoot 的时候,总是习惯于将日志框架切换为 Log4j2,可能是觉得比较靠谱,也可能年龄大了比较排斥新 ...

  5. HTML5 之 FileReader 的使用 (网页上图片拖拽并且预显示可在这里学到) [转载]

    转载至 : http://www.360doc.com/content/14/0214/18/1457948_352511416.shtml FileReader 资料(英文) : https://d ...

  6. 【leetcode】378. Kth Smallest Element in a Sorted Matrix(TOP k 问题)

    Given an n x n matrix where each of the rows and columns is sorted in ascending order, return the kt ...

  7. mybatis错误 Mapped Statements collection does not contain value for

    java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for 在unit里测试 ...

  8. @RestController和@Controller的区别与作用

    在springMvc中controller层类上的要使用@Controller来注明该类属于控制层,在controller层常返回的数据形式有以下几种: 页面:静态页面 ModelAndView:返回 ...

  9. XML名命空间

    XML的名命空间就类似于java的包,命名空间定义:xmlns:***="URI",默认命名空间定义:xmlns="URI" 引号中的URl内容用来唯一标识命名 ...

  10. 【报错记录】Could not load dynamic library 'libnvinfer.so.6'; dlerror: libnvinfer.so.6

    执行import tensorflow的时候有如下报错 (test1) a@10980:~$ python Python 3.6.13 |Anaconda, Inc.| (default, Jun 4 ...