VAE with a VampPrior
概
这篇文章提出了一种新的"多模态"的先验.
主要内容
首先根据这里的推导可知,
\mathcal{L}(\phi, \theta, \lambda)
=& \mathbb{E}_{q(x)} [\mathbb{E}_{q_{\phi}(z|x)}\log p_{\theta}(x|z)] \\
&+ \mathbb{E}_{x \sim q(x)}[\mathbb{H}[q_{\phi}(z|x)]] \\
&- \mathbb{E}_{z \sim q(z)}[-\log p_{\lambda}(z)].
\end{array}
\]
其中, \(q(z) = \frac{1}{N} \sum_{n=1}^{N} q_{\phi}(z|x_n).\)
因为只有最后一项(交叉熵)和先验分布有关系, 可见, 最优的先验分布\(p_{\lambda}\)就是
\]
但是这样的先验分布每一次计算量太大, 所以作者退而求其次, 假设
\]
其中\(\mu_k\)是可训练的参数.
分级的VAE

一般的VAE的隐变量往往只有少部分是激活的有效的, 而且这一点越在deep的网络中越容易出现.
所以作者提出了如上图(b)的一种双层的改进方式.
具体的, variational part:
\]
generative part:
\]
其中:

感觉有点残差的味道.
代码
VAE with a VampPrior的更多相关文章
- (转) 变分自编码器(Variational Autoencoder, VAE)通俗教程
变分自编码器(Variational Autoencoder, VAE)通俗教程 转载自: http://www.dengfanxin.cn/?p=334&sukey=72885186ae5c ...
- pytorch实现VAE
一.VAE的具体结构 二.VAE的pytorch实现 1加载并规范化MNIST import相关类: from __future__ import print_function import argp ...
- 变分自编码器(Variational Autoencoder, VAE)通俗教程
原文地址:http://www.dengfanxin.cn/?p=334 1. 神秘变量与数据集 现在有一个数据集DX(dataset, 也可以叫datapoints),每个数据也称为数据点.我们假定 ...
- 生成器的认识及其思考:VAE, GAN, Flow-based Invertible Model
生成器对应于认知器的逆过程. 这一切的起源都是当初一个极具启发性的思想:Sleep-wake algorithm——人睡眠时整理记忆做梦,是一个生成的过程,即通过最终的识别结果企图恢复接收到的刺激,当 ...
- VAE (variational autoencoder)
https://www.zhihu.com/question/41490383/answer/103006793 自编码是一种表示学习的技术,是deep learning的核心问题 让输入等于输出,取 ...
- Pytorch入门之VAE
关于自编码器的原理见另一篇博客 : 编码器AE & VAE 这里谈谈对于变分自编码器(Variational auto-encoder)即VAE的实现. 1. 稀疏编码 首先介绍一下“稀疏编码 ...
- 编码器AE & VAE
学习总结于国立台湾大学 :李宏毅老师 自编码器 AE (Auto-encoder) & 变分自动编码器VAE(Variational Auto-encoder) ...
- 深度学习课程笔记(九)VAE 相关推导和应用
深度学习课程笔记(九)VAE 相关推导和应用 2018-07-10 22:18:03 Reference: 1. TensorFlow code: https://jmetzen.github.io/ ...
- 使用VAE、CNN encoder+孤立森林检测ssl加密异常流的初探——真是一个忧伤的故事!!!
ssl payload取1024字节,然后使用VAE检测异常的ssl流. 代码如下: from sklearn.model_selection import train_test_split from ...
随机推荐
- keybd_event模拟键盘按键,mouse_event怎么用
从 模仿UP主,用Python实现一个弹幕控制的直播间! - 蛮三刀酱 - 博客园 (cnblogs.com) 知道了 PyAutoGUI: * Moving the mouse and clicki ...
- HDFS【Java API操作】
通过java的api对hdfs的资源进行操作 代码:上传.下载.删除.移动/修改.文件详情.判断目录or文件.IO流操作上传/下载 package com.atguigu.hdfsdemo; impo ...
- 【STM8】SPI通讯
这篇内容有点长,如果有人想透过我的博客学习STM8的SPI,那是我的荣幸 首先我要先说大纲,这样大家心里比较有底,可以把精力都用在SPI理解上 [SPI初步介绍]:介绍SPI如何接线.名称解释.通讯注 ...
- android 下动态获取控件的id
有时候我们需要动态的取得一个一个控件的id,然后进行操作,经过在网上查找,找到了一下方法getResources().getIdentifier("textView01", &qu ...
- Default arguments and virtual function
Predict the output of following C++ program. 1 #include <iostream> 2 using namespace std; 3 4 ...
- 访问网页全过程,用wireshark抓包分析
用wireshark抓包查看访问网站过程 打开wireshark,打开一个无痕浏览器,输入网址,到网页呈现这一过程,网络数据包传递的消息都会被放在wireshark里.针对这些包,我们可以逐一分析,摸 ...
- 【Linux】【Services】【Web】Nginx基础
1. 概念 1.1. 消息通知机制:同步synchronous,异步asynchronous 同步:等待对方返回信息 异步:被调用者通过状态.通知或回调通知调用者 状态:调用者每隔一段时间就需要检查一 ...
- 【力扣】454. 四数相加 II
给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0. 为了使问题简单化,所有的 A ...
- 为什么kafka和zk总是在一起?
一.概念 发布订阅,一个发布者发布到消息,所有订阅者都可以接收到 生产消费,一个消息对象只能被一个消费者消费 kafka是生产者,zookeeper是消费者 有3个微服务,聚合形成一个统一的业务层 但 ...
- Set数据结构基本介绍
构造 const set = new Set([1, 2, 3, 4, 4]); 可接受的参数为所有具有iterable 接口的数据 特性: 类似数组,无重复值. const set = new Se ...