因此,你可以向神经网络输入随机的z,使输出随机,但那只是f(p(z)),其中f(.)是确定性的神经网络,所以它将作为一种转换,使分布变得更加复杂。
引入随机性的另一种方法是将神经网络的输出视为某个分布的参数,因此,神经网络就是P(x|z)。但是,实际情况并非如此,变分自编码器的解码器生成的是图像(x),它不是随机的!所以,对于给定的z,它每次都会生成相同的x。
为什么在变分自编码器的推导中,他们将其视为P(x|z)?
回答:
虽然变分自编码器的解码部分不是随机的,但它仍然引入了分布(尽管是一个退化的分布)。
你输入z(特定的代码),得到x(特定的图像)。然后成立的是 – p(x|z) = 1,并且,对于每一个不同于z的z’,p(x|z’) = 0。
这仍然是一个合法的分布。我们在变分自编码器中所做的一部分工作就是尝试学习这个分布的正确参数。