作者:Ameh Emmanuel Sunday
简朴的前馈神经网络
这篇文章讲的是一个非常独特的深度学习框架——生成对抗网络(GANs),我以为它特别故意思,不但因为它的工作原理,还因为它正在彻底改变流体力学领域中,尤其是在降阶建模和动力体系这类研究标题上的办理方式。
在GAN出现之前,大多数呆板学习模子都是辨别式的,也就是说它们重要用于分类或回归任务。但我以为GAN现实上标志着呆板学习和深度学习的创意期间的开始。Meta AI的首席科学家Yann LeCun就曾说过GAN是“过去十年里呆板学习中最故意思的点子”——我真的完全同意。
Yann LeCun谈GANs
虽然这个框架是2014年才出现的,但GAN已经在流体力学界打下了坚固的根本。它们被用来通过学习真实流体活动的数据分布,生成逼真的流场快照——这但是一件大事啊。这意味着我们现在可以在不跑完整CFD模仿的环境下,生成流体活动数据,而CFD模仿通常很烧钱。尤其是在你想建一个呆板学习模子但手头数据有限的环境下,这就特别有用了。GAN也被用来根据已有数据,生成新的、公道的模仿边界条件配置——这只是它浩繁酷炫应用中的一个。
如果你不像我那样着迷流体力学😎,那GAN在别的地方也随处可见。好比说,它们被用来生成那些着实并不存在的超逼真人脸哈哈。你可以去看这个网站,每次革新都会冒出一张完全虚假的(但特别真实)人脸。不止这些,GAN也被用在生成式设计中,让你能创造出酷炫的3D家具。像Adobe如许的公司在用GAN打造下一代Photoshop工具,谷歌用它来生成文本,IBM用它做数据加强,Snapchat和Tiktok这些平台也早就用GAN做图像滤镜了。
在这篇博客里,我会讲讲GAN背后的数学原理,我以为这个数学部分非常紧张,因为它能帮我们明确GAN为什么有用,而不只是知道它“似乎有用”,还能让我们跳出深度学习模子黑盒的头脑方式,获得改进甚至发明新一代生成模子的本事。我还发起你去读一下2014年Ian Goodfellow写的那篇介绍GAN的原始论文。信任我,如果你真能一行一行把那篇论文读下来(原文),以后再看别的GAN相关论文,你都能轻松看出它们想干嘛。
我们先来个高层次的概览,生成对抗网络是一种由两个部分构成的深度学习框架:生成器和辨别器。生成器通常从正态或高斯分布中采样噪声——然后生成一个假的样本,好比一个假的二维温度流场。这时间,生成器就像个艺术造假者,试图伪造出一个假的二维温度流场样本。
而辨别器呢,就是那个猜测这个流场是真的还是假的的人。在这个比喻里,我们可以把辨别器叫做“法官”。
如果生成器能骗过辨别器,让它以为假的样本是真的,那生成器就算干得不错,而辨别器就干得差。反过来,如果辨别器能很好地看破生成器制造的假样本,那阐明它很锋利,生成器就还必要加强学习。
这种你来我往的过程就叫“对抗练习”,两个部分不停变强,直到辨别器再也分不出一个样本到底是真的还是假的。这个时间它就不再学习了,而生成器已经学会了练习数据的概率分布,这时间我们就说GAN练习“收敛”了。
GAN的图示形貌
既然这篇博客是讲GAN的数学,我们就深入到它背后的数学天下🎯。像逻辑回归、支持向量机、以及一些用于分类的简朴前馈神经网络如许的辨别模子,是在学习“给定某些输入特性的环境下某个标签的概率”。而生成模子则学的是两样东西:某个标签的概率,以及在这个标签下输入特性出现的概率。这个叫做输入特性和它们标签的“团结概率分布”。如果你以为上面这段不直观,那我举个动物的例子表明一下:辨别模子会说:“给定这张有某些特性的图,是猫还是狗?”而生成模子会说:“我知道猫长啥样了。现在我可以生成一张新的、逼真的猫的图——虽然这只猫根本不是真的。”通过这种团结概率,生成器学会了练习数据的分布,并能生成超逼真的猫图,虽然这些猫并不真实存在。从数学角度讲,下面这张图就用概率情势表明确这件事。
辨别模子与生成模子的概率对比图
下面这张图展示了GAN团体结构的高层视角。生成器可以是一个简朴的前馈神经网络、一个反卷积神经网络,或是一个解码器。辨别器也可以是一个简朴的前馈神经网络、卷积神经网络,甚至是一个自编码器。选择哪种结构取决于你要构建的GAN用途,但不管哪种环境,GAN的两个部分都各司其职。
GAN架构符号总结
- z:从高斯或正态分布中采样的噪声
- G:生成器,负责从噪声生成假图像
- G(z):生成的假图像
- D:辨别器
- X:真实数据样本的域
- θg:生成器的权重和偏置,在梯度上升中更新
- θd:辨别器的权重和偏置,在梯度降落中更新
如果你细致想想,GAN的工作方式着实可以建模为一个极小极大博弈(minimax game),在这个游戏中: 生成器想最小化自己被抓到生成假数据的概率,而辨别器则想最大化识别假数据的概率。
用数学语言说,就是生成器要最小化,而辨别器要最大化如下这个值函数V,也就是我们的丧失函数。
GAN的极小极大博弈
上图中你可以看到两个公式:一个是值函数的极小极大情势,一个是值函数自己。我来把第二个公式讲简朴点。
你会发现这个公式跟二元交织熵丧失函数非常像,这个丧失函数如下所示:
二元交织熵丧失函数
- Y:第i个样本的真实标签
- Y-hat:辨别器的预测值
- n:数据集或批次中的样本数
GAN的值函数是从二元交织熵丧失函数推导出来的。这个丧失函数权衡我们离“正确分类真假样本”的目的尚有多远。为了明确BCE丧失函数的工作方式,请看下面这张图。
BCE丧失函数图
当数据的真实标签是1(真)时,只有BCE丧失的左边部分(绿色地区)起作用。当标签是0(假)时,只有右边部分起作用。看图可知,当y=1,预测越靠近1,丧失越小;预测越靠近0,丧失趋近于无穷。当y=0时,预测越靠近0,丧失越小;预测越靠近1,丧失趋近于无穷。
BCE丧失函数中的预测与丧失关系图
把BCE丧失的两部分加起来(即y为1和y为0的环境),就得到了GAN用的那个值函数。因为这个值函数是对很多数据点求的,以是我们用盼望E表现对整个数据分布的均匀丧失。
在GAN的语境下,辨别器的目的是最大化这个丧失函数,也就是正确地区分真假;而生成器则想最小化它,也就是骗过辨别器。
值函数V(D,G)的极小极大图解
尚有一点要留意:生成器对D(x)(也就是真实数据)是没有影响的,因为它不会生成真实数据。全部的真实数据样本在练习时是单独喂给辨别器的。
练习生成对抗网络
下面这张图来自2014年的GAN原始论文,它展示了GAN练习用的算法。我会把它拆解得普通一点🙃,不外你先自己读一遍——没读原论文的赶紧去补!
2014年GAN论文里的练习算法
- 起首,从匀称分布中生成一些噪声样本,喂给生成器生成假的数据样本。然后断开生成器,把这些假图像和真实图像一起喂给辨别器。辨别器的权重和偏置通过梯度上升来更新,找到全局最大值。
- 然后断开辨别器,让生成器自己练习,生成假图像后送进辨别器。生成器的参数(权重和偏置)通过梯度降落更新。每轮练习里辨别器和生成器各更新一次。
梯度上升与降落的丧失地形图表现
现实上辨别器和生成器的神经网络拟合的函数远比图里的凸函数和凹函数复杂。这些图只是最简朴的梯度降落和上升表现。
生成器和辨别器的结构
- 生成器是一个简朴的前馈神经网络,只有一个埋伏层,埋伏层用ReLU激活,输出层用tanh激活,把输出压到-1到1之间,表现MNIST数据集的像素值。
- 辨别器也是一个简朴的前馈神经网络,有一个埋伏层,利用leaky ReLU激活函数,输出层只有一个神经元,用sigmoid激活,输出真假概率(0或1)。
用数学方式最大化与最小化值函数
在生成器固定之后,辨别器的目的是最大化这个值函数,数学表达如下:
用梯度上升最大化值函数
辨别器在D(x)=Pd(x)/[Pd(x)+Pg(x)]时最大化值函数,此中Pd是真实数据分布,Pg是生成数据分布。而生成器的目的是最小化这个最大化的函数。要最小化它,我们得让真实数据分布和生成数据分布一样。要权衡这两者的隔断,我们就用JS散度,它是通过KL散度盘算出来的👌。
生成器最小化值函数
JS散度的情势跟我们要最小化的值函数非常像👌。要最小化它,就得让真实数据和生成数据的分布完全一样。其时间,值函数的值会变成-2ln2。此时辨别器无法再判定真假,对全部输入都输出0.5。
当辨别器无法再判定真假时,就克制练习。GAN练习的过程可视化图如下,取自原论文。
生成器-绿色,辨别器-蓝色,练习数据分布-玄色虚线。GAN论文2014年
刚开始练习时,辨别器和生成器都不知道自己在干嘛。在(b)中更新的是辨别器的权重和偏置,而生成器被冻结。在(c)中更新的是生成器的参数,而辨别器被冻结。这个回合不停重复,在(d)中,生成器的数据分布终极与练习数据相匹配,辨别器也变成一条输出恒为0.5的蓝直线。这个时间,生成器就学会了练习集的数据分布,能生成看起来像真的数据样本。
读到这里谢谢你啦☺️!盼望这篇文章帮你明确GAN的数学原理,也盼望你现在已经预备好去自己动手练习GAN了。想更深入相识,可以看看KL散度、JS散度,以及GAN练习中经常碰到的稳固性标题。
你也可以去研究一些高级话题,好比Wasserstein GANs、边界平衡GANs、Lipschitz一连性束缚、GAN中的批归一化、谱归一化、深度卷积GAN(DCGANs)等等。这些都会帮你练习出更稳固更有用的GAN模子。别的也保举你去听听这期和GAN发明人以及Lex Fridman的播客。
播客 — Ian Goodfellow和Lex Fridman
https://lexfridman.com/ian-goodfellow/
这期播客里,Lex Fridman 和 Ian Goodfellow 深度探究了生成对抗网络的诞生、发展过程、背后的理念以及它们对人工智能领域的影响。如果你想听听这个架构的发明人切身讲讲自己的思绪和进程,这期真的不容错过。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |