条件变分自动编码器

条件变分自编码器CVAE
条件变分自编码器概述

VAE的局限

对于普通的VAE来说,其生成能力和过程表现在从一个隐藏的变量空间中采样,然后去解码生成一个新的东西,拿minist手写数据集举例的话,我们在生成数字之前并不知道解码器会从这个隐变量z中解码出什么数字。这是因为原始的VAE直接对隐变量z和数据X建模,而CVAE可以对定义在条件概率下的隐变量z和数据X建模。

VAE公式

logP(X)DKL[Q(z|X)||P(z|X)]=E[logP(X|z)]DKL[Q(z|X)||P(z)] l o g P ( X ) − D K L [ Q ( z | X ) | | P ( z | X ) ] = E [ l o g P ( X | z ) ] − D K L [ Q ( z | X ) | | P ( z ) ]

编码器是在基于X对隐变量z建模。

CVAE公式

上述VAE中不管X的类型是什么,如minist中的X为0~9,不同的数字可能有不一样的数据分布,但这个信息并没有得到利用,所以可以加入数据的标签作为条件,得到编码器: Q(Z|X,c) Q ( Z | X , c ) ,解码器: P(X|z,c) P ( X | z , c ) ,这里c是先验知识,如每张图片的标签,这样就推广为CVAE。
公式如下:

logP(X|c)DKL[Q(z|X,c)||P(z|X,c)]=E[logP(X|z,c)]DKL[Q(z|X,c)||P(z|c)] l o g P ( X | c ) − D K L [ Q ( z | X , c ) | | P ( z | X , c ) ] = E [ l o g P ( X | z , c ) ] − D K L [ Q ( z | X , c ) | | P ( z | c ) ]

这样,隐变量的分布局限在条件c下,对于编码器即 P(z|c) P ( z | c ) ,在每一个c的值下面,都有一个隐变量z的分布 P(Z) P ( Z ) ,对解码器也是如此。

条件变分自编码概述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值