我正在努力理解 VAE,主要是通过斯坦福 cs231n 的视频讲座,特别是关于这个主题的第 13 讲讲课,我认为我对理论有很好的把握。
但是,当查看实际的实现代码时,例如 来自VAEs博客的这段代码,我看到了一些我不太理解的差异。
请从课堂上看一下这个 VAE架构可视化,特别是解码器部分。从这里呈现的方式,我了解到解码器网络输出数据分布的均值和协方差。为了获得实际输出(即图像),我们需要从通过均值和协方差参数化的分布中进行采样——解码器的输出。
现在,如果您查看 Keras 博客 VAE 实现中的代码,您会发现没有这样的东西。解码器从潜在空间中获取样本,并将其输入(采样的 z)直接映射到输出(例如图像),而不是映射到要从中采样输出的分布参数。
我是否遗漏了什么,或者这个实现与讲座中介绍的不对应?一段时间以来,我一直试图理解它,但似乎仍然无法理解其中的差异。