Designing GANs:又一个GAN生产车间
©PaperWeekly 原创 · 作者|苏剑林
单位|追一科技
研究方向|NLP、神经网络
在 2018 年的文章里 f-GAN 简介:GAN 模型的生产车间笔者介绍了 f-GAN,并评价其为 GAN 模型的“生产车间”,顾名思义,这是指它能按照固定的流程构造出很多不同形式的 GAN 模型来。前几天在 arXiv 上看到了新出的一篇论文 Designing GANs: A Likelihood Ratio Approach(后面简称 Designing GANs 或原论文),发现它在做跟 f-GAN 同样的事情,但走的是一条截然不同的路(不过最后其实是殊途同归),整篇论文颇有意思,遂在此分享一番。论文链接:https://arxiv.org/abs/2002.00865
从 f-GAN 简介:GAN 模型的生产车间中我们可以知道,f-GAN 的首要步骤是找到满足如下条件的函数 f:
f 是非负实数到实数的映射(
); f(1)=0 ;
f 是凸函数。
找到这样的函数后,就可以构造一个概率 f 散度出来,然后用一种称为“凸共轭”的技术将 f 散度转化为另一种形式(带 max 的形式,一般称为对偶形式),然后去 min 这个散度,就得到一个 min-max 过程,这便诞生了一种 GAN 模型。
顺便说一下,f-GAN 代表了一系列 GAN 模型,但不包含 WGAN,不过 WGAN的推导其实也遵循着类似的步骤,只不过它用到的概率度量是 Wasserstein 距离,并且 Wasserstein 距离转化为对偶形式的方法不一样,具体细节可以参考从 Wasserstein 距离、对偶理论到 WGAN。
f-GAN 在逻辑上并没有问题,但是根据它提供的步骤,我们总是需要先找到一个 f 散度,然后再转化为对偶形式。问题就是:既然我们只需要它的对偶形式,为什么不直接在对偶空间里边分析呢?
这个疑问笔者之前在文章不用 L 约束又不会梯度消失的 GAN,了解一下?,只不过在当时只是讨论了在对偶空间中概率散度的证明,并没有给出概率散度的构建方法,而 Designing GANs 正是补充了这一点。
在这一节里,我们会探讨 Designing GANs 里边的思路和方法。不同于原论文中比较冗余的教科书式推导,本文将会通过逐步反推的过程来导出 Designing GANs 的结果,笔者认为这样更容易理解一些。有意思的是,理解整个推导过程事实上只需要非常基础的微积分知识。
Total Variation这里以一个称为 Total Variation 的概率散度为例子,让我们初步体会一下在对偶空间里边分析推导概率散度的要点。 首先,我们有:这里的 ∫|p(x)−q(x)|dx 就称为两个概率分布的 Total Variation,所以我们就通过这样的过程导出了 Total Variation 的对偶形式。如果固定 p(x),让 q(x) 逼近 p (x),那么就可以最小化 Total Variation,即:
目标 1:寻找函数 ϕ(t), ψ(t) 以及某个值域 Ω ,使得:
求导找极大值
注意到“目标 1”里边 p, q 只是一个非负实数,ϕ(t), ψ(t) 也只是标量函数,所以整个目标纯粹是一元函数的极值问题,应该说已经相当简化了。甚至地,设 r=q/p∈[0,+∞),它还可以转化为更简洁的“目标 2”:目标 2:寻找函数 ϕ(t), ψ(t) 以及某个值域 Ω ,使得:现在我们就来考察目标 2,简单起见,我们假设 ϕ(t), ψ(t) 都是光滑函数,这样一来 ϕ(t)+rψ(t) 的最大值我们就可以通过求导来解决。事实上这样的设计已经有足够的代表性了,当有部分点不光滑时,我们可以用光滑函数近似,然后取极限,比如
这里假设上述方程有唯一解,记为 t=ω(r),所以最后
此外,既然能求逆,说明 ω(r) 要不就严格单调递增,要不就严格单调递减,不失一般性,这里假设 ω(r) 是严格单调递增的,所以
导数为 0 只能说明 t 是一个极值点,但还不能保证是极大值点,我们来确定它是最大值的条件,现在我们有:
注意到
求导找极小值
先汇总一下到目前为止的结果:我们假设 ω (r) 是严格单调递增的,并且假设 ρ(t) 在 t∈Ω 时是恒正的,然后满足如下关系:
这时候 ϕ(t)+rψ(t) 就存在唯一的极大值点 t=ω(r),并且它也是最大值点,对于目标 2 来说这已经完成了一半的内容。现在来考察当 t=ω(r) 时,d(r)=ϕ(ω(r))+rψ(ω(r)) 是否如我们所愿满足剩下的性质(即 d(r) 的最小值在 r=1 时取到)。
继续求导:
其中第二个等号是因为根据式 (8) 得方括号部分为 0。现在只剩 ψ(ω(r)) 一项了,并且留意到我们假设了 ψ′(t)=ρ(t)>0,所以 ψ(t) 是严格单调递增的,同时我们也假设了 ω(r) 是严格单调递增的,所以复合函数 ψ(ω(r)) 也是严格单调递增的。
现在我们补充一个假设:ψ(ω(1))=0,也就是说 d′(1)=0,即 r=1 是 d(r) 的极值点,并且由于 ψ(ω(r)) 连续且严格单调递增,所以 d′(r) 是先负后正,因此 r=1 是 d(r) 的极小值点,也是最小值点。
GAN模型已经送达
到这里,我们的推导已经完成了,我们得到的条件是:
结论 1:如果 ω(r) 是严格单调递增的,Ω=ω([0,+∞)),ρ(t) 在 t∈Ω 时是恒正的,并且满足如下关系:
以及条件 ψ(ω(1))=0,具备这些条件的的 ϕ(t), ψ(t) 就可以用来构建如 (6) 的 GAN 模型。
比如,我们来验算一下原始版本的 GAN:
其中 σ(⋅) 是 sigmoid 激活函数,上述是让真样本的标签为 0、假样本的标签为 1 的二分类交叉熵,等号右边是化简后的结果,由此观之
我们做个小调整,让
再算一个例子。选择
本文的方法与之前的 f-GAN 有什么关联吗?本文的方法还有什么推广吗?此处给出笔者自己的答案。
与 f-GAN 的联系
在上面的推导中,max 这一步的结果 d(r),其中 r=1 是 d(r) 的最小值点,回顾目标 1,然后将 d(r) 代回到式 (6) 中,就会发现我们优化的目标实际上是:
本文分享了一篇直接在对偶空间设计 GAN 模型的论文,并且分析了它与 f-GAN 的联系,接着笔者对原论文的结果进行了简单的推广,使得它能设计更多样的 GAN 模型。
最后,读者可能会疑问:f-GAN 那里搞了那么多 GAN 出来,现在你这篇论文又搞那么多 GAN 出来,我们来来去去用的无非就那几个,搞那么多有什么价值呢?这个问题见仁见智了,这类工作更重要的应该是方法上的价值,实际应用的价值可能不会很大。不过笔者更想说的是:
我也没说它有什么价值呀,我只是觉得它比较有意思罢了。
点击以下标题查看更多往期内容:
让你的论文被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得或技术干货。我们的目的只有一个,让知识真正流动起来。
📝 来稿标准:
• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
📬 投稿邮箱:
• 投稿邮箱:hr@paperweekly.site
• 所有文章配图,请单独在附件中发送
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。