我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。

这是我的李宏毅老师 GAN 系列第5篇笔记,GAN 系列:

  • 1:Basic Idea
  • 2:Conditional GAN
  • 3:Unsupervised Conditional Generation
  • 4:Theory behind GAN

本节内容综述

  1. 上节有提到用 JS 散度衡量D()中的两个分布,本节课想证明一下,其实用什么散度都行。本节在工程上可能启发不大,但是数学上有一定参考性。
  2. 首先定义普遍的散度公式 f-divergence 。
  3. 每一个凸函数,都有一个共轭函数 Conjugate function。
  4. 之后讨论其与 GAN 的联系。
  5. 上面得出结论:使用各种散度公式都可以。但是有什么意义呢?或许我们可以解决 Model CollapseMode Dropping
  6. 一种解决方法可能是 Ensemble 。

文章目录

  • 本节内容综述
  • 小细节
    • 定义 f-divergence
    • Fenchel Conjugate
    • Connection with GAN
    • Model Collapse / Mode Dropping
    • Outlook: Ensemble

小细节

定义 f-divergence


如上,让 f(1) = 0,且让 f 是 convex 凸的。

如上,f 带入不同的函数,就是不同的散度定义。

Fenchel Conjugate


如上,共轭函数就是取 tit_iti​ 点对应的最大目标值,在图中是最高点,为 f∗(ti)f^*(t_i)f∗(ti​) 。

如上,另一种理解方法是,把所有 xxx 绘制出来,取最大的部分。


如上,对于 f(x)=xlogxf(x) = xlogxf(x)=xlogx 来讲,其共轭函数就是 f∗(t)=et−1f^*(t)=e^{t-1}f∗(t)=et−1。

Connection with GAN


可以转换成共轭函数。如上,我们假设D(x)=tD(x) = tD(x)=t。并且,如图中下部分所示,我们去掉 max⁡\maxmax ,则可得到 DfD_fDf​ 的下限。我们将下限反带回上面的式子中,得到:

Df≈max⁡D∫x...D_f \approx \max_D \int_x ...Df​≈Dmax​∫x​...

因此,我们进行变化如上。则得到了一个通式。

因此,我么可以使用各种散度公式如上。

Model Collapse / Mode Dropping


如上,我们生成的图片范围可能越来越小。

如上,可能真是数据有多个分布,但是我们只产生某一个的数据分布。

一个远古的猜测是:我们的散度函数选的不好。

如上,不同的散度函数衡量下,我们的最优拟合函数得到的分布(绿色虚线)是不同的。

Outlook: Ensemble


如上,一个可行的解决方法或许是,训练多个 Generator 。

【李宏毅2020 ML/DL】P78 Generative Adversarial Network | fGAN: General Framework of GAN相关推荐

  1. 【李宏毅2020 ML/DL】P86-87 More about Domain Adaptation

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本节内容综述 本节课由助教 Chao Brian 讲解. 首先讲解些领域适配的基础内容,包括名词.定义等. 接 ...

  2. 【李宏毅2020 ML/DL】P80 Generative Adversarial Network | Feature Extraction

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 这是我的李宏毅老师 GAN 系列第7篇笔记,GAN 系列: 1:Basic Idea 2:Conditiona ...

  3. 【李宏毅2020 ML/DL】P83 Generative Adversarial Network | Evaluation

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 这是我的李宏毅老师 GAN 系列第10篇笔记,GAN 系列: 1:Basic Idea 2:Condition ...

  4. 【李宏毅2020 ML/DL】P82 Generative Adversarial Network | Improving Sequence Generation by GAN

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 这是我的李宏毅老师 GAN 系列第9篇笔记,GAN 系列: 1:Basic Idea 2:Conditiona ...

  5. 【李宏毅2020 ML/DL】P81 Generative Adversarial Network | Intelligent Photo Editing

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 这是我的李宏毅老师 GAN 系列第8篇笔记,GAN 系列: 1:Basic Idea 2:Conditiona ...

  6. 【李宏毅2020 ML/DL】P79 Generative Adversarial Network | Tips for improving GAN

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 这是我的李宏毅老师 GAN 系列第6篇笔记,GAN 系列: 1:Basic Idea 2:Conditiona ...

  7. 【李宏毅2020 ML/DL】P1 introduction

    [李宏毅2020 ML/DL]P1 introduction 本节主要介绍了 DL 的15个作业 英文大意 Regression: 回归分析 Classification: 分类 RNN: 循环神经网 ...

  8. 【李宏毅2020 ML/DL】P59 Unsupervised Learning - Auto-encoder

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...

  9. 【李宏毅2020 ML/DL】P14 Tips for training DNN | 激活函数、Maxout、正则、剪枝 Dropout

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...

最新文章

  1. 交换机知识--集群管理
  2. 《Spark快速大数据分析》—— 第三章 RDD编程
  3. 使用绘图API自定义组件
  4. Android框架攻击之Fragment注入
  5. 程序员才能看懂,看到第18张终于忍不住笑喷了。
  6. 您在eXo平台上的第一个Juzu Portlet
  7. STL(二)——向量vector
  8. python两行数据相加_小白python入门基础——Python安装教程与特色介绍
  9. 史上最详细的Studio教程二来啦
  10. 解决安装Discuz!插件时提示“对不起,您安装的不是正版应用,安装程序无法继续执行”的方法...
  11. 隐马尔可夫模型(HMM)推导详解
  12. 使用深度图重建世界坐标
  13. js 利用window.getSelection() 实现简单的文字标注(鼠标选中文本,给其加下滑线、背景色)
  14. 一次性计时器和间隔性计时器的实现
  15. 已发送邮件如何撤回?
  16. Excel 获取工龄公式
  17. GL(m)的拓扑结构,泡利矩阵暂记
  18. ubuntu 定时重启/关闭进程
  19. 数据结构课程设计---实现一元稀疏多项式计算器
  20. 计算机视觉论文-2021-07-23

热门文章

  1. 关于对于工作方式的一些总结。
  2. 【Kettle】如何输出固定格式报表
  3. 问题解决:pip无法使用,经升级后可以使用
  4. C# Process.Kill() 拒绝访问(Access Denied) 的解决方案
  5. 关于使用IDEA导入项目后依赖报错的解决方案
  6. Win11如何更改盘符?Win11更改磁盘驱动器号的方法
  7. ubuntu18.04,Linux使用远程连接工具连接失败解决
  8. 打印机(Brother MFC-7860DN)一直提示更换墨盒
  9. tab vue 竖排_vue tab切换的几种方式
  10. 正则表达式查找字符串_如何简单理解正则表达式?只需1分钟就可以看到她优美的舞姿...