Variational auto-encoder(VAE变分自动编码器)

在机器学习中,我们往往希望将复杂的、抽象的目标具体化,这是我们需要处理复杂、具体、维度高的数据。例如,图像、文字、音频等等。尽管这些形式看起来比较复杂,但往往复杂的数据背后都隐含着许多信息。我们可以根据这一特点,将原始数据化简,用比较低的维度去表达,从而达到我们想要的目的。在机器学习中有很多去压缩数据抽取核心特征的技巧,可以将复杂高维度的数据简化。Variational auto-encoder是人们常用的一种方法,Variational auto-encoder在无监督学习领域有着举足轻重的作用。下面就简单的介绍Variational auto-encoder。

1.Variational auto-encoder经常用于数据集预处理 进行数据降维或者特征的提取 ,其结构主要有两个各个部分组成,分别是Ecoder和Dcoder。

在这里插入图片描述

2. VAE整体结构

在这里插入图片描述!这里插入图片描述](https://img-blog.csdnimg.cn/20200221161255687.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTU2MTc5NQ==,size_16,color_FFFFFF,t_70)

2.1Ecoder过程

在这里插入图片描述

2.2Dcoder过程

在这里插入图片描述

2.3Reparameterization-参数化

在这里插入图片描述

2.4compute kl divergence-计算散度

在这里插入图片描述

2.5下面以fashion_mnist数据集为例进行训练

import  os
import  tensorflow  as tf
import  numpy  as np
from    tensorflow import keras
from    tensorflow.keras import Sequential, layers
from    PIL import Image
from    matplotlib import pyplot as plt

from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)


tf.random.set_seed(22)
np.random.seed(22)
os.environ['TF_CCP_MIN_LOG_LEVEL'] = '2'
assert tf.__version__.startswith('2.')


#save_images-保存图片
def save_images(imgs,name):
    new_im = Image.new('L', 
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值