专栏《GAN的优化》(第一季)正式完结啦!

在这一季里,我们从生成模型出发,讲述了GAN的基本理论,包括工作原理,更具有普适性的f散度度量和Wasserstein距离,以及IPM框架并顺带给出了一个处理WGAN的莱布尼茨限制的优雅解决方法;接着介绍了GAN训练困难的原因以及几个训练技巧;然后从动力学视角出发探索GAN的训练,将GAN与动力学方程联系在一起,讲述了一致优化,并总结了各种GAN的正则项的优劣;最后我们讲了一下GAN中的模式崩溃问题,并介绍了几个比较好的解决方案。

至此,我们再对整个GAN的优化专栏第一季的内容进行一个大总结!

作者 | 小米粥 言有三

编辑 | 言有三

1 GAN原理

第一篇文章首先讲一部分关于生成模型的内容,从极大似然法到显式的定义概率密度函数到隐式定义概率密度函数的GAN。接着在GAN中,我们介绍了基本结构,工作原理,推导了几个基本结论,并从分布度量和博弈论两个角度阐述了GAN。

【GAN的优化】GAN优化专栏上线,首谈生成模型与GAN基础

2 f-GAN

第二篇文章向大家介绍了概率密度函数的距离、由f散度定义的一系列距离、共轭函数,之后推导了如何使用fGAN生成原始的GAN,最后阐述了KL散度和JS散度的一些问题。fGAN是一个具有一定“通用”意义的模型,它定义了一个框架,从这个框架中可以自然而然得衍生出其他GAN模型。

【GAN的优化】从KL和JS散度到fGAN

3 WGAN和SNGAN

第三篇文章带大家领略了一下WGAN,首先指出了之前f散度的问题,接着介绍了一种新的距离度量Wasserstein距离,并展示了使用对偶方法转化Wasserstein距离,WGAN是一个具有重要里程碑意义的模型,非常值得反复研究。

第四篇文章带领大家一起学习了SNGAN,学习了特征值和奇异值相关问题,学习如何使用谱范数解决1-Lipschitz限制,并推导了SNGAN,最后给出了一个快速求解矩阵最大奇异值的方法。SNGAN是比较重要而且优雅得解决1-Lipschitz限制的方案。

  • 【GAN优化】详解对偶与WGAN

  • 【GAN优化】详解SNGAN(频谱归一化GAN)

4 IPM

第五篇文章向大家介绍了GAN的IPM框架。关于GAN的目标函数,除了f-divergence外还有另一大类:IPM,非常熟悉的WGAN便是属于IPM框架下的一种GAN,IPM(integral probability metric)也是一种对于两个概率分布之间的距离的度量,我们在这篇文章中选择不同的函数集合F而得到不同GAN,例如FisherGAN,MMDGAN,MCGAN。

【GAN优化】一览IPM框架下的各种GAN

5 训练问题

第六篇文章重点讲述了GAN训练中4个问题。第一个部分介绍了最优判别器引发的梯度消失问题,第二部分使用一个例子介绍距离计算时的问题,接着第三部分将介绍优化问题的困惑以及给出模式崩溃一个简单解释,最后一部分简单谈一下参数空间的问题。

【GAN优化】GAN训练的几个问题

6 训练小技巧

第七篇文章主要向大家介绍了GAN训练时的一些tricks。GAN的训练其实是一个寻找纳什均衡状态的过程,然而想采用梯度下降达到收敛是比较难的,先讲述了GAN的纳什均衡状态以及达到此状态的难点,然后介绍了特征匹配、历史均值、单侧标签平滑等几个技巧,可以尽量保证GAN进入收敛的状态。

【GAN优化】GAN训练的小技巧

7 GAN与动力学

第八篇文章带大家领略了GAN与动力学的结合,这篇文章首先介绍了常微分方程以及如何使用欧拉法得到常微分方程的数值解,接着描述了欧拉法与动力学系统之间的内在联系,然后从动力学的系统重新看梯度下降算法,最后从动力学视角重新表述了GAN,提供一个新颖的视角,这是接下来两篇分析GAN训练过程的理论基础。

【GAN优化】从动力学视角看GAN是一种什么感觉?

8 一致优化

第九篇文章介绍了一个非常优雅的GAN优化算法,一致优化。先从一个关于动力学系统收敛的重要命题出发,将其与GAN对接起来,然后进入动力学系统的特征值分析,最后介绍一致优化的所提出的正则项,而且最重要的是,这里给出了一定条件下,使用一致优化算法可收敛到纳什均衡状态的理论保证。

【GAN优化】详解GAN中的一致优化问题

9 GAN的正则项

第十篇文章里用了一个非常简单且直观的Dirac-GAN进行实验收敛性,首先说明了标准的GAN或者WGAN是无法收敛到纳什均衡的,需要添加正则项。接下来,WGAN-GP也无法收敛,而一致优化正则项和zero centered gradient可以实现收敛,这为我们提供了很好的训练GAN的启示指导。

【GAN优化】如何选好正则项让你的GAN收敛

10 模式崩溃

第十一篇文章首先讲了GAN的模式崩溃问题,并用一个简单的例子做了过程示意,接着重点描述了通过修改目标函数来解决模式崩溃的方法,着重介绍了unrolled GAN的思想,并同样进行了过程示意描述,最后又比较简单地描述了另一种方案:DRAGAN。

第十二篇文章首先将说明模式崩溃问题的本质是GAN无法通过训练达到最优纳什均衡状态,并介绍两种解决模式崩溃问题的思路:修改目标函数和网络结构,然后介绍了一种简单而有效的解决方案MAD-GAN,最后一部分给出MAD-GAN的强化版本MAD-GAN-Sim。

  • 【GAN优化】什么是模式崩溃,以及如何从优化目标上解决这个问题

  • 【GAN优化】解决模式崩溃的两条思路:改进优化和网络架构

总结

12篇文章,说多不多,说少也不少,真的是花了自己非常大的心血,质量不敢说多高,但是自己确实是在认认真真、绞尽脑汁做这件事情。同时也非常感谢

有三AI,给了我一个写东西的平台,感谢给我的宽松自由的环境。

要忙于实验、论文,忙于其他的事情,公众号的部分暂时就先写到这里吧,其实,关于GAN的知识内容非常非常多,远非几篇文章能描述,每次涉及到到的内容我也只能浅尝辄止,或者选择具有代表性的内容聊一聊。

说一下,关于GAN的其他内容,网络结构或者隐空间,应用等等之类,我以后还会继续涉及到,之前相关内容也会加强完善,可能会用别的形式展示出来,敬请期待。

Ps:大家一定要持续关注有三AI哦!

【完结】12篇GAN的优化文章大盘点,浓浓的数学味儿相关推荐

  1. 【无人驾驶一】【第一本无人驾驶技术书】最全的12篇无人驾驶技术系列文章

    无人驾驶作为人工智能的集大成应用,从来就不是某单一的技术,而是众多技术点的整合.技术上它需要有算法上的创新.系统上的融合,以及来自云平台的支持.本文整合了首发于<程序员>的无人驾驶系列技术 ...

  2. 宏病毒组研究大放异彩!| 凌恩生物1-5月高分宏病毒组文章大盘点!

    凌恩生物现已在宏组学.基因组.表观遗传以及蛋白代谢等多组学及联合分析领域积累了深厚经验,打造出成熟的科研服务平台,以优质售前方案和优秀售后服务助力客户在Nature.Science.PNAS.ISME ...

  3. 国庆余韵|植物广靶代谢组学项目文章大盘点

    小趣(百趣生物)整理了近期使用植物广泛靶标代谢组学技术发表的项目文章,平均IF超过6分,发表在:Journal of Nanobiotechnology.Food Chemistry.Industri ...

  4. 【GAN优化外篇】详解生成模型VAE的数学原理

    最近在学习生成模型的相关知识,这篇文章将介绍一下变分自编码器(Variational Auto-encoder),本文只介绍一些粗浅内容,不会涉及比较深刻的问题. 作者&编辑 | 小米粥 1. ...

  5. 每个程序员都必读的12篇文章

    作为一名Java程序员和软件开发人员,那些每个程序员都应该知道的XXX的文章教会了我不少东西,它们提供了某个特定领域的一些实用的并且有深度的信息,这些东西通常很难找到. 在我学习的过程中我读到过许多非 ...

  6. 深度学习之对象检测_深度学习时代您应该阅读的12篇文章,以了解对象检测

    深度学习之对象检测 前言 (Foreword) As the second article in the "Papers You Should Read" series, we a ...

  7. 那个大三就发了12篇一作SCI的同学,后来怎样了?

    喜讯传来. 2021年4月6日,康奈尔大学博士生郑景旭在能源顶级期刊<Nature Energy>上发表论文"Regulating electrodeposition morph ...

  8. 对抗生成网络GAN(优化目标篇)

    对抗生成网络GAN(优化目标篇) 快要面试,故对GAN进行稍许复习 目的 对抗式生成网络GAN提出的目的是估计样本的密度函数pr(x;θ)p_r(x;\theta)pr​(x;θ),且并不显式的估计密 ...

  9. 当今主流分割网络有哪些?12篇文章一次带你看完

    作者 | 孙叔桥 来源 | 转载自有三AI(ID: yanyousan_ai) 本文的12篇文章总结了当前主流的分割网络及其结构,涵盖从编解码结构到解码器设计:从感受野到多尺度融合:从CNN到RNN与 ...

最新文章

  1. 【9】青龙面板系列教程之互助规则的配置
  2. Android开源框架——依赖注入Dagger
  3. P1447-[NOI2010]能量采集【GCD,数论,容斥】
  4. JSP + Struts + Hibernate + Spring+MySQL+Myeclipse实现固定资产管理系统
  5. vue2.0 element-ui中的el-select选择器无法显示选中的内容
  6. Python计算并可视化商品批发时商家收益和顾客节省情况
  7. 2008服务器网站设置密码,win2008服务器设置密码
  8. 使用docker安装easy-mock
  9. 数值分析期末考试复习(逼近问题)
  10. 加拿大卡尔顿大学两个月进阶java—2
  11. 下拉筛选时el-select在部分ios系统上软键盘不能弹出软键盘
  12. oracle loop面试题,oracle存储过程面试题
  13. git commit 错误:On branch main Changes not staged for commit:
  14. angularjs-requirejs-rjs-md5
  15. 每个程序员应该知道的计算机网络知识
  16. 鸿蒙系统主题曲,新红楼梦的主题曲和片尾曲
  17. 软件工程学习之小学四则混合运算出题软件 Version 1.00 设计思路及感想
  18. 如何提高自己的学习能力、效率
  19. c语言选择冒泡排序,c语言选择冒泡排序讲解(附代码)
  20. 7000字用户画像技术及方法论

热门文章

  1. 蓝桥杯java第三届决赛第四题--DNA比对
  2. 2021-10-11 寻找二叉树结点的前驱或后继结点(用到parent指针)
  3. 使用eclipse自带制作帮助系统
  4. guido正式发布python年份_Python 基础学习笔记.docx
  5. hurricane中文_hurricane是什么意思
  6. html5的网页布局工具,HTML5网站响应式布局的主流设计方法介绍及工具推荐
  7. 443 k8s配置开启nginx_SSL证书不会安装配置?手把手教会你,3步搞定
  8. 图文分析 OSPF 的特点
  9. 【干货】Linux 网卡绑定的相关知识和技巧
  10. linux怎么进入gnu grub_十项Linux常识,你知道吗?