Yet another bootstrap theme.

2019-06-02
利用GAN进行图像补全

  • Introduction
  • 图像解释: 概率空间采样
    • 缺失图像补全
    • 人类是如何进行图像补全的?
  • 快速生成fake image
  • 快速找到补全图像的fake 部分
  • conclusion
  • TensorFlow code
阅读此文

2019-06-01
AutoEncoder 到Beta-VAE

变分编码器(Variational AutoEncoders)目的是用来使用隐空间变量(latent space variable)来表示高维空间数据。本文从最初的autoencoder讲起,过渡到变分编码器(VAE)以及它的最近改版 beta-VAE的基本想法和数学推导。

AutoEncoder使用隐变量来重构高维空间数据,一般的做法是使用神经网络进行编码表示,然后再用另外一个神经网络来将此编码重构为原来的数据。 这样做的一个很大的好处是维度缩减,我们就可以使用更低维度的数据将高维数据进行表示,在很多的应用方面都可以发挥作用, 如搜索、数据压缩等,甚至也能帮我们理解高维数据之间的联系。$test$, $\mathcal{D}$

Notation

Symbol Mean
$\mathcal{D}$ 数据集:$\mathcal{D}=\left\{\mathbf{x}^{(1)}, \mathbf{x}^{(2)}, \ldots, \mathbf{x}^{(n)}\right\}$,包含有 $n$ 个数据,$\rvert\mathcal{D}\rvert=n$
$\mathbf{x}^{(i)}$ 每一个数据为 $d$ 维向量,$\mathbf{x}^{(i)}=\left[x_{1}^{(i)}, x_{2}^{(i)}, \dots, x_{d}^{(i)}\right]$
$\mathbf{x}$ 从 $\mathcal{D}$ 中采样出一个数据点,$\mathbf{x} \in \mathcal{D}$
$\mathbf{x}^{\prime}$ 从原数据 $\mathbf{x}$ 恢复后的数据
$\tilde{\mathbf{x}}$ 原数据 $\mathbf{x}$ 中丢失的信息
$\mathbf{Z}$ 原数据的隐变量表示
$a_{j}^{(l)}$ 神经网络中第 $l$ 层中 第 $j$ 个神经元
$g_{\phi}( .)$ 编码函数: $\phi$ 为此函数参数
$f_{\theta}( .)$ 解码函数: $\theta$ 为函数参数
$q_{\phi}(\mathbf{z} \rvert \mathbf{x})$ 测量得到的后验概率,也被称为 概率编码
$p_{\theta}(\mathbf{x} \rvert \mathbf{z})$ 从隐空间生成真实数据的释然函数,也被称为 概率解码

AutoEncoder

AutoEncoder 使用神经网络以非监督学习方式学习到一个恒等函数(identity function),以用来重构原始数据。 最开始是用于数据压缩方面的研究成果,最开始的想法源自于 1980年份 并被 Hinton & Salakhutdinov, 2006 进一步优化。

其思想如下图所示。 主要由两个部分组成:

  • Encoder Network: 将原始数据编码为低维隐向量。
  • Decoder Network: 从隐编码中重构出原始数据。

avatar
avatar

Fig. 1. Illustration of autoencoder model architecture.
阅读此文