“百面深度学习”系列连载 第五期
生成式对抗网络
引言
很多人认为算法和编程离艺术很遥远,但是实际上,算法和编程中蕴藏着一个非常具有创造性的世界,这种创造性就是一种建立在逻辑之上的艺术。而生成式对抗网络( Deep adversarial networks, GANs )就是一种非常能展现其“创造性”的模型。从名字就可以看出,GANs 的核心在于“生成”和“对抗”,“生成”指的是生成式模型,生成式模型的目的是模拟多个变量的联合概率分布,它已经有很长的发展历史, 也出现了许多经典的模型,如隐马尔可夫模型,受限玻尔兹曼机以及变分自动编码器等;“对抗”指的是对抗训练的方法,Yann Lecun 曾将这种“互怼”的艺术评论为“近十年机器学习领域最有趣的想法”。这两者结合,就产生出了神奇的 GANs。从 GANs 在 2014 年被提出至今,各种各样的方法和应用不断推进和扩宽着它的发展,我们可以看到它在图像,语音,文本,诗词歌赋等各种领域展现的创造力。
问题
简述 GANs 目标函数的演进。
分析与解答
生成模型的本质在于使生成分布尽量逼近于真实分布。因此减少两分布之间的差异是训练生成模型的关键。原始的 GANs 用 JS 散度作为分布距离的度量,这容易引起梯度消失问题。近几年出现的一些新的方法中用其他分布距离度量或散度来取代 JS 散度建立目标函数,以提高 GANs 的表现。这些不同的目标函数主要可以分为基于 f-散度、基于积分概率度量(Integral Probability Metric, IPM)、添加辅助目标函数项等类型。
Table 1: 基于f-散度的 GANs
判别器的损失函数形式和 SVM 中的 Hinge loss 的形式很相似。这样 Hinge loss 形式的 GANs 损失函数在很多方法中被采用,包括 SAGAN [10] 和 BigGAN [11] 。
现在,更多的 GANs 中采用了基于 IPM 而非 f-散度的目标函数。 我们可以通过二者的对比找到原因:由 f-散度的定义 Eq. 1 可以发现,当数据维度很高时,f-散度将变得非常难以估计,两个支撑集很难碰面,导致散度值趋于无穷。而基于 IPM 的方法不依赖于数据的分布,这样的度量一致收敛于两分布间的真实距离,并且当两分布无交集时也不会发散。
除了上面介绍的 IPM-GANs 和 f-GANs 两类方法,还有一些方法中,通过添加其他类型的优化目标作为辅助项来提高训练的稳定性,或者给 GANs 加入新的“技能”,这类辅助目标中主要的两种是重建目标和分类目标。重建目标是指令生成样本和真实样本尽可能相似,或是为了加入编码器结构使其具备推断能力。若重建目标加在生成器中,可以尽可能地保留原输入图像的内容,尤其是在一些图像的语义信息或一些模式需要被保留的任务中,比如图像翻译任务。直观上我们可以将加入重建目标的 GANs 看作是有监督的训练,此时输入图像就是训练的标签,常用输入图像与生成图像之间的像素级重构误差,这样生成器就是在按照我们所期望的方式来缩小噪声到图像空间可能的映射范围。还有一些 GANs 将重建损失加在判别器上,常见于与自动编码器相结合的 GANs ,这类方法可以将判别器看作一个能量方程。还有的方法加入了分类目标,比如半监督学习或风格迁移。分类任务的交叉熵损失可以直接加在判别器中,使其在完成分辨真假任务的同时完成分类任务,也可以重新加入一个专门负责分类的网络,将其产生的交叉熵损失添加到 GANs 的对抗训练的损失函数中。
[1] GOODFELLOW I, POUGET-ABADIE J, MIRZA M, 等. Generative adversarial nets[C]//Advances in neural information processing systems. 2014: 2672–2680.
[2] ZHU J-Y, PARK T, ISOLA P, 等. Unpaired image-to-image translation using cycle-consistent adversarial networks[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 2223–2232.
[3] ZHAO J, MATHIEU M, LECUN Y. Energy-based generative adversarial network[J]. arXiv preprint arXiv:1609.03126, 2016.
[4] ARJOVSKY M, CHINTALA S, BOTTOU L. Wasserstein gan[J]. arXiv preprint arXiv:1701.07875, 2017.
[5] MROUEH Y, SERCU T, GOEL V. Mcgan: Mean and covariance feature matching gan[J]. arXiv preprint arXiv:1702.08398, 2017.
[6] GULRAJANI I, AHMED F, ARJOVSKY M, 等. Improved training of wasserstein gans[C]//Advances in Neural Information Processing Systems. 2017: 5767–5777.
[7] WEI X, GONG B, LIU Z, 等. Improving the improved training of wasserstein gans: A consistency term and its dual effect[J]. arXiv preprint arXiv:1803.01541, 2018.
[8] KODALI N, ABERNETHY J, HAYS J, 等. On convergence and stability of gans[J]. arXiv preprint arXiv:1705.07215, 2017.
[9] LIM J H, YE J C. Geometric gan[J]. arXiv preprint arXiv:1705.02894, 2017.
[10] ZHANG H, GOODFELLOW I, METAXAS D, 等. Self-attention generative adversarial networks[J]. arXiv preprint arXiv:1805.08318, 2018.
[11] BROCK A, DONAHUE J, SIMONYAN K. Large scale gan training for high fidelity natural image synthesis[J]. arXiv preprint arXiv:1809.11096, 2018.
下期预告
【元学习】
引言
从元学习的学习过程看,它有另一个常用名叫学会学习。由于元学习可帮助模型在少量样本下快速学习,从元学习的使用角度看,人们也称之为少次学习(Few-Shot Learning)。更具体地,如果训练样本数为 1,则称为一次学习(One-Shot Learning);训练样本数为 K,称为 K 次学习;更极端地,训练样本数为 0,称为零次学习(Zero-Shot Learning)。另外,多任务学习(Multitask Learning)和迁移学习(Transfer Learning)在理论层面上都能归结到元学习的大家庭中。
追溯元学习的起点,几乎所有相关论文在引用早期元学习文献时,都会指向这两位大佬—— Jürgen Schmidhuber 和 Yoshua Bengio。1987 年夏,Schmidhuber 在德国慕尼黑工业大学读完本科,他的毕业论文《Evolutionary principles in selfreferential learning. (On learning how to learn: The meta-meta-... hook.)》@schmidhuber1987evolutionary 被认为最早提出元学习的概念。随后的几年, Schmidhuber 接着在本校读博并于 1991 年博士毕业转为博后,然后在 1992 和 1993 两年里他借助循环神经网络进一步发展元学习方法。与此同时,1991 年夏,比 Schmidhuber 小一岁的 Bengio 在大西洋彼岸的加拿大麦吉尔大学拿到博士学位,并在当年发表了论文《Learning a synaptic learning rule》@bengio1990learning,合著者中还有他的弟弟 Samy Bengio。这篇论文提出通过学习带参函数来模拟学习大脑神经元中突触的学习法则,从优化神经网络的角度看,是把优化过程本身看成了一个可学习问题,而非一个事先定好的梯度下降算法。
问题1
元学习适合哪些学习场景,
可解决什么样的学习问题?
问题2
元学习与有监督学习、强化学习有何区别?
问题3
从理论上简要分析,
元学习可以帮助少次学习的原因?
今日份的彩蛋!
我请教丁老师一个名词的含义。丁老师跟我说,“这种词也不要定义太严格,看语境的。机器学习毕竟不是数学,有时候一个词具体是什么意思看心情的。”我现在心情不错,决定不学习了。。。
丁老师二三事
说明:“丁老师二三事”是取材于Hulu日常的虚构创作,如有雷同,您别当真~
关注Hulu公众号
你就是最爱学习的仔~