深度学习-李宏毅GAN学习之InfoGAN,VAE-GAN,BiGAN

article/2025/3/4 9:00:20

深度学习-李宏毅GAN学习之InfoGAN,VAE-GAN,BiGAN

  • 提出问题
  • InfoGAN
  • VAE-GAN
  • BiGAN
  • 总结

提出问题

我们知道最基本的GAN就是输入一个随机的向量,输出一个图片。以手写数字为例,我们希望修改随机向量的某一维,能改变数字的特想,比如角度,粗细,数字等,但是实际上貌似没什么大的影响,下图就是个例子,貌似看不到某一维度的具体含义,如下图:
在这里插入图片描述
我们可能直观的会认为每个维度应该就是一个特征,分布可能是这样的:
在这里插入图片描述
不同颜色代表不同特征的分布,如果真这样话就方便了,但是实际上或许是这样的分布:
在这里插入图片描述
很蛋疼的分布,很难区分不同维度表示的特征。那怎么用他变成我们想象中的分布呢,可以使用InfoGAN。

InfoGAN

传统的GAN架构是这样。
在这里插入图片描述
InfoGAN里把输入的向量随机看成2部分,然后加上一个分类器,通过x分类出c是什么:
在这里插入图片描述
生成器和分类器就组成了自编码器,只不过输入向量,中间是图片,输出是向量,自编码器就希望能将z里的c部分预测出来,那样x必定包含c的特征,但是这样可能会有个问题,生成器可能很偷懒的直接把c贴在x图像上来帮助分类器学习出来,这就不符合我们的要求啦,中间的图出问题,所以这个时候,我们可以加入一个判别器,用来判别x是真是假,防止出现上述情况。分类器和判别器的输入都是x,网络可以共用参数,只是最后一层不一样,分类器可以是softmax,给出一堆概率的值表示c,生成器可以是sigmoid,输出0,1.

可以看下效果,左上角是某一维改变数字,右上是传统GAN的,左下是改了角度,右下是该了粗细:
在这里插入图片描述

VAE-GAN

顾名思义是VAE和GAN的结合体,可以说用GAN来强化VAE,也可以说用VAE来强化GAN,毕竟双方都有缺点,互补好呀。
在这里插入图片描述
VAE生成的图片比较模糊,因为他的其中的一个目的是输入和输出最小差异嘛,所以可能会有很多像素为了差异最小,取了平均值,所以看起来就会模糊。那GAN刚好是可以判别图片质量啦,给模糊的低分,给真实高分,逼着生成器去生成清晰的图片,又要复原原图像。

算法基本思想就是:
编码器要做的就是让P(z|x)逼近分布P(z),比如标准正太分布,同时最小化生成器(解码器)和输入x的差距。
生成器(解码器)要做的就是最小化输出和输入x的差距,同时又要骗过判别器。
判别器要做的就是给真实的高分,跟P(z)采样生成的和重建的低分。

来看看他的算法,很清楚,就不多说了:
在这里插入图片描述
当然还有一种是判别器分为三类的,但是也是判别出真实的和其他的:
在这里插入图片描述

BiGAN

在这里插入图片描述

算法思想:将编码器和解码器分开,但是加一个判别器,将他们的输入和输出同时作为判别器的输入,然后区分是来自编码器还是解码器,如果无法分别来自哪个,就说明编码器的输入图片和解码器生成的图片很接近,编码器输出的z和解码器输入的z很接近,目的就达到了。

简单的原理就是将编码器看成一个P(x,z)分布,将解码器看成Q(x,z)分布,通过判别器,让他们的差异越来越小。理想情况下就会:
在这里插入图片描述
算法也很清楚:
在这里插入图片描述
上面的结构好像也可以改成训练两个自编码器:
在这里插入图片描述
这种做法在最优的情况可能会跟BiGAN的架构一样,但是实际情况不可能最优,只能近似最优,而且这两个出来的图的特性不一样,自编码器出来还是跟输入的图一样,但是BiGAN出来的可能不是同一张图,但是还是原来图的内容,比如输入是一只鸟,输出可能是另一只鸟,鸟还是鸟,不会变别的,这个可能就是GAN的特性吧,有创造特性。

总结

AE可以让我们提取特征,VAE可以让我们找出特征分布,而GAN可以让特征的质量更加高,可以有效的结合三者,做更有趣的东西。

好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵,图片来自李宏毅课件,侵删。


http://chatgpt.dhexx.cn/article/b7iQAbBl.shtml

相关文章

GAN及其变体C_GAN,infoGAN,AC_GAN,DC_GAN(一)

当时害怕篇幅过大,拆分两部分编写,下一篇文章见:GAN及其变体DCGAN, CGAN,infoGAN,BiGAN,ACGAN,WGAN,DualGAN(二) 在介绍GAN之前,我们先了解一些什么是生成模型(Generative Model)和判别模型(Di…

深度学习《InfoGAN模型》

一:网络介绍 普通的GAN网络的特点是无约束,对网络输入的噪声也不好解释,CGAN中我们通过给噪声合并一些类别数据,改变了输出形式,可以训练出我们指定类别的数据,这一点也是某种程度的解释,但是解…

InfoGAN原理PyTorch实现Debug记录

1. CGAN从无监督GAN改进成有监督的GAN GAN的基本原理输入是随机噪声,无法控制输出和输入之间的对应关系,也无法控制输出的模式,CGAN全称是条件GAN(Conditional GAN)改进基本的GAN解决了这个问题,CGAN和基本…

CGAN和InfoGAN理解

在一些比较经典的GAN模型中(像WGAN、LSGAN、DCGAN等等),往往都是从样本空间里随机采样得到输入噪声,生成的图像究竟属于哪一个类别也是随机的。通过这些模型,我们无法生成指定类别的数据。 举个不恰当的例子&#xff…

InfoGAN

InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets Xi Chen, Yan Duan, Rein Houthooft, John Schulman, Ilya Sutskever, Pieter Abbeel https://arxiv.org/abs/1606.03657 一、从GAN到InfoGAN 1.GAN存在的问题 GAN通…

InfoGAN 生成时序序列

InfoGAN 生成时序序列 简介 完整代码:https://github.com/SongDark/timeseries_infogan 本文介绍用InfoGAN生成多维时序序列。 数据 数据集下载地址 NameClassDimensionTrain SizeTest SizeTruncatedCharacterTrajectories20314221436182 样本介绍 CharacterTr…

InfoGAN详解与实现(采用tensorflow2.x实现)

InfoGAN详解与实现(采用tensorflow2.x实现) InfoGAN原理InfoGAN实现导入必要库生成器鉴别器模型构建模型训练效果展示 InfoGAN原理 最初的GAN能够产生有意义的输出,但是缺点是它的属性无法控制。例如,无法明确向生成器提出生成女…

InfoGAN论文笔记+源码解析

论文地址:InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets 源码地址:InfoGAN in TensorFlow GAN,Generative Adversarial Network是目前非常火也是非常有潜力的一个发展方向&#…

InfoGAN(基于信息最大化生成对抗网的可解释表征学习)

前言: 这篇博客为阅读论文后的总结与感受,方便日后翻阅、查缺补漏,侵删! 论文: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets 解决的问题: In…

InfoGAN学习笔记

InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets Xi Chen, Yan Duan, Rein Houthooft, John Schulman, Ilya Sutskever, Pieter Abbeel https://arxiv.org/abs/1606.03657 一、从GAN到InfoGAN 1.GAN存在的问题 GAN…

生成对抗网络(十)----------infoGAN

一、infoGAN介绍 infoGAN采用的是无监督式学习的方式并尝试实现可解释特征。原始数据不包含任何标签信息,所有的特征都是通过网络以一种非监督的方式自动学习得到的。使用了信息论的原理,通过最大化输入噪声和观察值之间的互信息来对网络模型进行优化。…

InfoGAN详细介绍及特征解耦图像生成

InfoGAN详细介绍及特征解耦图像生成 一.InfoGAN框架理解特征耦合InfoGANInfoGAN论文实验结果 二.VAE-GAN框架理解VAE-GAN算法步骤 三.BiGAN框架理解四.InfoGAN论文复现使用MNIST数据集复现InfoGAN代码编写初始化判别器初始化生成器初始化分类器训练InfoGAN网络 总结参考文献及博…

InfoGAN介绍

今天给大家分享的是NIPS2016的InfoGAN。这篇paper所要达到的目标就是通过非监督学习得到可分解的特征表示。使用GAN加上最大化生成的图片和输入编码之间的互信息。最大的好处就是可以不需要监督学习,而且不需要大量额外的计算花销就能得到可解释的特征。 通常&#…

10.可视化、可视分析、探索式数据分析

前言:基于人大的《数据科学概论》第十章。主要内容为可视化的定义、可视化的意义、可视化的一般过程、科学可视化与信息可视化、可视化的原则、可视化实例、可视化的挑战和趋势、可视分析技术、探索式数据分析、可视化工具。 一、可视化的定义 可视化是数据的可视表…

国内外大数据可视化分析产品点评

一、KINETICA Kinetica 利用图像处理芯片提供计算支持,允许企业使用机器学习,商业智能分析和可视化技术更快速地分析海量数据; 点评:它的核心技术能力是类MapD的GPU数据库,功能性能较强大,非开源&#xf…

数据分析可视化之模型介绍

一 前言 “数据分析可视化”这条术语实现了成熟的科学可视化领域与较年轻的信息可视化领域的统一。 数据分析可视化:是指将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程。 数据可视化已经提出了许多方法&…

5个最受欢迎的大数据可视化软件

数据可视化的本质是视觉对话,数据可视化将数据分析技术与图形技术结合,清晰有效地将分析结果信息进行解读和传达。 大数据可视化是进行各种大数据分析解决的最重要组成部分之一。 一旦原始数据流被以图像形式表示时,以此做决策就变得容易多了…

软件架构-可视化

软件架构-可视化 当我们在讨论系统时,往往都会说这个系统的架构是什么样的,在你口述的同时,如果能借助某些图表,效果会更好,传统的uml建模比较复杂,目前的软件工程大家更关注效率(这里我不谈敏捷…

48 款数据可视化分析工具大集合

作者:DC君 来源:DataCastle数据城堡 本篇专门推荐48款数据可视化工具,全到你无法想象。 1、Excel 作为一个入门级工具,是快速分析数据的理想工具,也能创建供内部使用的数据图,但是Excel在颜色、线条和样式上…