最近看了Adversarial Autoencoders(以下简称AAE)这篇paper,就随便写几句笔记。

paper链接,点我

1. 概述:

GAN和VAE是近年来很火的生成模型(关于GAN,我之前写过几篇了,需要的话点击文末的相关链接即可),对于这两个模型的研究层出不穷,变体无数,而将这两者结合也是一种优秀的思路。GAN说白了就是对抗,VAE就是一种Autoencoders,而本文的AAE就是将对抗的思想融入到Autoencoders中来。如下图所示:

这个图大概的意思是:上半部分就是AE,我们都知道AE需要把一个真实分布映射成隐层的z,AAE就是在z这里动手脚,(如图下半部分所示)在此加上对抗思想来优化这个z。

2. 优势:

知道了大概的思路,在具体理解一个事情前,我们先来进行一些思考:
从上图中可以明确地看出,这个模型不像原来的GAN一样生成出一些样本,然后和真实数据比较,梯度反向传播从而渐渐优化模型;这个模型操作的是隐层的z,通过调整z来达到得到想要的生成的效果。真实样本可以是不连续的(普通GAN无法训练优化),但是z却是连续的,我们可以做到通过微调z来生成更加真实的样本。也就是说AAE完美避开了GAN无法生成离散样本的问题。

3. Adversarial Autoencoders:

首先来展示一些下文有关的符号:

p(z) 任意的先验分布
q(z) 聚合后验分布
q(z | x) encoding分布
p(x | z) decoding分布
pd(x) 真实数据分布
p(x) 模型分布


简易说明图

The adversarial autoencoder is an autoencoder that is regularized by matching the aggregated posterior, q(z), to an arbitrary prior, p(z).

公式(1)是paper中给出的q(z)的表达式。

AAE就是一种让 q(z)去匹配p(z)的AE,配合最上边的符号解释和“AE简易说明图”,我们可以理解这句话,也可以理解这个模型。通过图可以看出这是一个AE框架,包括encoder、中间编码层和decoder。我们让中间编码层的q(z)去匹配一个p(z),怎么做到呢?此时对抗思想就出场了,见下图:

红框中与“AE简易说明图”中的内容类似,就是一个AE,对抗思想的引入在于黄框中的内容,AE的encoder部分,作为GAN中的generator,生成样本,也就是编码层中的编码,与黄框左边部分的真实样本,一个符合p(z)分布的样本混在一起让discriminator进行辨别,从而使discriminator与作为generator的encoder部分不断优化,并且在对抗的同时,AE也在最小化reconstruction error,最终可以生成更好的样本。

文中列出了三种q(z | x)的选择,包括确定性函数,高斯后验和通用近似后验,其中使用确定性函数,它的q(z)只是和真实数据分布有关,其他两种的q(z)除了与真实分布有关,还与这两种方式中的某些随机性有关。不同的选择在训练过程中会有细微的差别,但是文中提到,他们使用不同的方式会得到类似的结果。


相关链接:
GAN入门
GAN深入讨论
SeqGAN

原文链接:https://blog.csdn.net/yinruiyang94/article/details/77839048

Adversarial Autoencoder(GAN和VAE的结合版) 阅读笔记相关推荐

  1. Object Region Mining with Adversarial Erasing: A Simple Classification to Semantic Segmentation阅读笔记

    Object Region Mining with Adversarial Erasing: A Simple Classification to Semantic Segmentation Appr ...

  2. [MBSE]sysml实践指南第三版阅读笔记(一)

    SysML实践指南(第三版)阅读笔记(一) 作为入门前的基础知识了解 文章目录 SysML实践指南(第三版)阅读笔记(一) 前言 作者简介 一.概览 总结 前言 系统工程是为复杂工程问题开发解决方案的 ...

  3. 【论文笔记】Generative Adversarial Frontal View to Bird View Synthesis - 论文阅读笔记

    [论文笔记]Generative Adversarial Frontal View to Bird View Synthesis 这篇论文是一篇发表在3DV会议上的文章,提出了基于GAN进行视角迁移与 ...

  4. 《Java核心卷 I》第10版阅读笔记第八章(书第九章)

    文章目录 第八章 集合 8.1 Java 集合框架 8.1.1 将集合的接口与实现分离 8.1.2 Collection 接口 8.1.3 迭代器 8.1.4 泛型实用方法 8.1.5 集合框架中的接 ...

  5. javascript 高级程序设计(第4版)阅读笔记(三)

    第3章,内容很长,所以更得慢,主要讲的是ECMAScript   es的语言基础:语法.数据类型.基本操作符.流控制语句.理解函数,ECMAScript 的语法很大程度上借鉴了 C 语言和其他类 C  ...

  6. Adversarial disentanglement spectrum variations and cross-modality attention networks阅读笔记

    Adversarial disentanglement spectrum variations and cross-modality attention networks for NIR-VIS fa ...

  7. Generative Adversarial Learning Towards Fast Weakly Supervised Detection(CVPR2018)阅读笔记

    弱监督目标检测相对于一般的目标检测任务来说,训练样本不需要实例级别的标注,只需要图片级别的标注,即告诉图片中有什么而不需标注位置信息,这种标注图片容易获取,能节省标注时间及精力.现有的大部分方法在进行 ...

  8. C++Primer第四版 阅读笔记 第二部分 “容器和算法”

    泛型算法中,所谓"泛型(generic)"指的是两个方面:这些算法可作用于各种不同的容器类型,而这些容器又可以容纳多种不同类型的元素. 第九章 顺序容器 顺序容器的元素排列次序与元 ...

  9. c++ primer 第五版 阅读笔记四

    第四章 复合类型 4.1 数组 数组的声明:关于数组的内容写了蛮多的,包括一维数组和二维数组的创建.调用.返回等等,甚至用到了static和new/delete关键字,详见:(一维数组相关内容)htt ...

最新文章

  1. Tim Berners-Lee重新分散的新Web SOLID简介
  2. LeetCode27——Remove Element(移除数组中指定的元素)
  3. TortoiseGit 单文件版本提交记录查看_入门试炼_08
  4. [cdq分治][树状数组] Bzoj P3262 陌上花开
  5. html 跑马灯效果 源代码,跑马灯效果.html
  6. Android开发-Android项目结构
  7. ibm澳州业务_通过集体学习使业务用户能够使用IBM Blueworks Live和IBM Industry Models进行业务建模
  8. flash Android 11.5,增强稳定性 Flash Player 11.5已发布
  9. matlab,cvx安装mosek
  10. C#打开外部的exe程序并隐藏窗口、注册退出事件、传递参数
  11. 计算机备份u盘,如何把电脑系统备份到u盘_怎么备份系统到u盘-win7之家
  12. 宝藏又小众的覆盖物PBR多通道贴图素材网站分享
  13. OPTIONS方法禁用
  14. xftp无法取消被动模式
  15. 517codingP770
  16. 宝宝巴士儿歌下载链接
  17. 惠普打印机驱动服务器系统安装教程,Hp打印机驱动怎么安装,详细图文版教程...
  18. 使用nid修改dbname和dbid
  19. 企业微信审批页面HTML,企业微信审批模板调用示例及注意事项
  20. 超700万个NFT存储在星际文件系统网络上,总量超54TiB

热门文章

  1. Vue CLI 3 安装、创建、配置、安装插件
  2. 如何在Ubuntu中添加和删除用户
  3. Android画笔Paint与文字相关的设置
  4. 计算机性能用途说明,工控机的用途及特点说明
  5. macOS上有哪些视频无损压缩和编码转码软件
  6. cmd命令跳转到指定目录
  7. 指定网段走指定网卡网关方法
  8. 创业机会:你眼前的机会早已不是机会
  9. 从0开始项目经理之路-柳艳芹-专题视频课程
  10. 分类问题常用算法——逻辑回归原理