在标准自动编码器中,我们将数据编码为瓶颈,然后使用初始输入作为输出进行解码以计算损失。我们确实激活了整个网络的矩阵乘法,如果我们做得好,初始输入应该接近输出。我完全理解这一点。
但是在 Vae 中,我几乎没有问题,尤其是在理解潜在空间向量方面。我想我知道如何创建它,但我不确定它的目的是什么。在这里,我将写一些想法,如果我是正确的,请告诉我。
我们首先创建 mu 和 sigma 矩阵,它们只是先前隐藏层和随机权重的矩阵乘法。
为了创建 Z(潜在矩阵),我们使用参数化技巧。mu+log(0.5*sigma)*epsilon,这是一个均值为 0,标准为 1 的随机矩阵。我已经看到这个 Z(潜在矩阵)总是产生高斯分布,不管 mu 和 sigma 向量的分布是什么。这是我的问题。为什么,为什么我们要前馈具有高斯分布的潜在矩阵?
当我们结束解码时。我们计算损失函数,并使用 Mu 和 Sigma 矩阵的 KL 散度来惩罚网络。我不明白为什么首先比较 Mu 和 Sigma 矩阵的分布很重要?我假设,当我们进行反向传播时,mu 和 sigma 在分布方面变得更加接近,但我的问题是为什么这很重要,为什么这两个矩阵在分布方面必须彼此接近?
如果可能的话,我真的很感激用简单的例子给出非常简单的答案。
