完整笔记:http://www.gwylab.com/note-gans.html
———————————————————————
本章借鉴内容:
https://blog.csdn.net/qq_25737169/article/details/77575617?locationNum=1&fps=1

2. EBGAN

EBGAN的全称是Energy-Based GAN,它只改动了discriminator,使其不再去鉴别输入图像是来自于还是,而是去鉴别输入图像的重构性高不高。具体来说就是,本来discriminator的目的是学会寻找之间的差异,进而给图片质量打分,现在我们不再是通过寻找差异来打分,而是用一种”强烈的记忆”让discriminator仅仅记住长什么样子,然后对于一个任意的输入x,只要x符合这个“记忆”中的样子就给高分,只要x与“记忆”中的样子有差异就给低分。EBGAN就是用autoencoder实现了这样的“记忆”,我们会在接下来详细介绍。

首先值得说明的是,图中的autoencoder是提前用真实图片训练好的,也就是说,如果输入是来自真实数据集的图片,这个autoencoder就能产生和输入非常相似的图片;但是如果输入的是其他图片,autoencoder的输出就不会和输入相似。现在把这个autoencoder放入discriminator中,每当discriminator输入一张image x,通过这个autoencoder得到重构图像x’,我们就能用x与x‘的差值作为评判输入图像x质量好坏的标准,当差值越低的时候意味着输入图片越符合真实图片的特征。

由此我们可以看到,EBGAN的最大特点就是discriminator一开始就非常强(因为有pretrain),因此generator在一开始就能获得比较大的“能量驱动”(energy based),使得在一开始generator就进步非常快。所以如果我们比较看中训练效率,希望在短期内获得一个比较不错的generator的话,就可以考虑EBGAN。

更:上边写的太简单了点,关于EBGAN的详细解释,新写了一篇: 【GANs学习笔记】(二十三)EBGAN深度理解

3.* BEGAN

BEGAN看着与EBGAN好像,二者确实存在着一些关联。BEGAN的全称是Boundary Equilibrium GAN(边界均衡GAN),它借鉴了 EBGAN 和 WGAN 各自的一些优点,提出了一种新的评价生成器生成质量的方式,使GAN即使使用很简单的网络,也能实现很好的训练效果,完全不用担心模式崩溃(model collapse)和训练不平衡的问题。

直观来讲,如果两个分布越相近,我们可以认为他们越相似,当生成数据分布非常接近于真实数据分布的时候,这时候生成器就有足够的生成能力。BEGAN代替了这种估计概率分布方法,它不直接去估计生成分布Pg与真实分布Px的差距,而是估计分布的误差分布之间的差距,作者认为只要分布之间的误差分布相近的话,也可以认为这些分布是相近的。

BEGAN中,作者做出了以下四个贡献:

1. 提出了一种新的简单强大GAN网络结构,使用标准的训练方式不加训练trick也能很快且稳定的收敛

2. 对于GAN中G,D的能力的平衡提出了一种均衡的概念

3. 提供了一个超参数,这个超参数可以在图像的多样性和生成质量之间做均衡

4. 提出了一种收敛程度的估计,这个机制只在WGAN中出现过。

这篇paper比较偏理论了,我就不再做详细介绍了(逃),感兴趣的读者可以自行去研究,附上一篇非常好的讲解博文:

https://blog.csdn.net/qq_25737169/article/details/77575617?locationNum=1&fps=1

【GANs学习笔记】(十五)EBGAN、BEGAN相关推荐

  1. python复制指定字符串_python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)...

    python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...

  2. windows内核开发学习笔记十五:IRP结构

    windows内核开发学习笔记十五:IRP结构   IRP(I/O Request Package)在windows内核中,有一种系统组件--IRP,即输入输出请求包.当上层应用程序需要访问底层输入输 ...

  3. Polyworks脚本开发学习笔记(十五)-用Python连接Polyworks的COM组件

    Polyworks脚本开发学习笔记(十五)-用Python连接Polyworks的COM组件 用Polyworks脚本开发,没有高级语言的支持,功能难免单一,一些比较复杂的交互实现不了,界面和报告也很 ...

  4. IOS之学习笔记十五(协议和委托的使用)

    1.协议和委托的使用 1).协议可以看下我的这篇博客 IOS之学习笔记十四(协议的定义和实现) https://blog.csdn.net/u011068702/article/details/809 ...

  5. Mr.J-- jQuery学习笔记(十五)--实现页面的对联广告

    请看之前的:Mr.J-- jQuery学习笔记(十四)--动画显示隐藏 话不多说,直接上demo <!DOCTYPE html> <html lang="en"& ...

  6. 世界是有生命的(通向财富自由之路学习笔记十五)

    最近因为工作调度的事情,有了一段空闲的日子,有比较多的时间来回望自己走过的路以及如何走好以后的路.之前忙得很少时间来写博文,很少时间来写读书笔记,逐渐将自己一些很好的习惯丢弃了.从今天起将重拾写博文的 ...

  7. 前端学习笔记(十五)

    第十五章 HTML5新增标签 一.HTML5概述 1.简介         HTML5万维网的核心语言.标准通用标记语言下的一个应用超文本标记语言的第五次大修改.HTML5将成为 HTML.XHTML ...

  8. 【theano-windows】学习笔记十五——受限玻尔兹曼机

    前言 终于到了最喜欢的模型: 受限玻尔兹曼机(RBM)了, 发现关于RBM是如何从能量模型发展过来的介绍非常不错, 而关于详细理论证明, 可以去看我前面的受限玻尔兹曼机的一系列博客. 国际惯例, 参考 ...

  9. hough变换直线检测_CV学习笔记(十五):直线检测

    在这一篇文章中我们将学习使用OpenCV中的 HoughLines 函数和 HoughLinesP 函数来检测图像中的直线. 在这个函数中,使用的是霍夫变换(Hough Transform) 这是计算 ...

  10. javascript学习笔记(十五) 间歇调用和超时调用

    1.超时调用setTimeout() setTimeout() 方法接受两个参数,第一个参数是函数,第二个参数是时间(单位微秒),返回数值ID 1 setTimeout( function () { ...

最新文章

  1. ASP.NET前台代码绑定后台变量方法总结
  2. sql导航函数 NTH_VALUE
  3. 【Python】一个已经存在 10 年,却被严重低估的库
  4. 【数学建模】线性规划模型MATLAB求解(最优化)
  5. Android开发之WebView加载自定义scheme报错net::ERR_UNKNOWN_URL_SCHEME(附带源码标题下面可点击下载)
  6. mysql 修复模式_Mysql表修复
  7. 2012-04-12
  8. python倒三角形粉色填充笔的形状海龟_Python001-Turtle(海龟绘图)详解
  9. 【计算机视觉】【车辆识别】--Matlab实现
  10. VMware上安装Linux镜像CentOS
  11. python---之hasattr()
  12. OpenCasCade拓扑变换(使用gp_trsf)
  13. 最新kali之hping3
  14. 关于防范ONION勒索软件病毒攻击的解决办法
  15. HDU - 2586 - How far away ? (最短路)
  16. 六级考研单词之路-二十二
  17. 塞规公差带图_塞规公差计算表
  18. 【采样算法】拉丁超立方采样
  19. 廖雪峰Python基础笔记
  20. 知识中藏着美好的未来,社科院杜兰金融管理硕士项目是你前行路上的里程碑吗

热门文章

  1. 演讲者为什么会紧张 以及如何克服
  2. 计算机工具选项卡,Word中的辅助功能——工具栏和菜单选项
  3. 学生管理系统说明文档
  4. 谷歌浏览器导出所有收藏书签
  5. Java:键盘录入:接收键盘输入的数字
  6. JAVA String 截取字符串的方法(含 substring 索引截取示例)
  7. 写代码复现论文的几点小建议!
  8. 一稿多投合法吗?你支持吗?
  9. 主动式电容笔是什么?苹果平替电容笔性价比高的推荐
  10. 互联网公司应当受到怎样的监管