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

今天讲述的内容是GAN与动力学,这是一个非常好玩、非常新鲜的视角。考虑到很多人微积分和线性代数等知识的涉猎不多,我将会对涉及的内容都做出基本说明,也并不会涉及过深入的东西,然后争取串成一个故事,扩展一下大家的视野。

作者&编辑 | 小米粥

最近这几期我们都一直在讲GAN的训练,最开始说明了实际训练GAN面临的几个理论和实践上的问题,然后接着从博弈论角度解释了GAN和纳什均衡,还说了几个帮助网络收敛的技巧。

这期将从动力学的视角看一下GAN,首先介绍基本概念常微分方程和欧拉法,然后介绍非常经典的梯度下降动力学系统,最后将GAN表示成动力学系统,并给出了一些比较好的结论。其实无论是什么视角,都是为了能更好的解决训练收敛的问题。

1 常微分方程与欧拉法

很多人平时接触的方程大部分是代数方程、超越方程等等,比如:

其解是一个或几个数值,例如上式的解为:

而微分方程是一种稍微“抽象”的方程,它是表示未知函数y(x)、未知函数的导数y`(x)以及自变量x关系的方程,比如:

其解(如果可解)应是一个函数或者函数族,例如上式的解析解为:

未知函数y(x)是一元函数的称为常微分方程,若是多元函数则称为偏微分方程。方便起见,将自变量x写成时间t,则可以用微分方程来表示某些随时间变化的规律或者动力学系统:

需要说明,对于常微分方程,只有某些特殊类型的方程能求得解析解,大部分是很难求得解析解的,所以实际中主要依靠数值法来近似计算求得数值解,以一个简单的具有初始值常微分方程为例:

其解析解为:

而数值解只能给出部分、离散的自变量、因变量近似数值对,例如

欧拉法便是一种非常经典的一阶数值方法。给定初始值和一系列固定间隔h的离散时间点,则可迭代计算:

得到微分方程的数值解。根据递推关系:

可以看出,欧拉法是先从初始点开始,在每一点做切线并沿当前切线推进至下一点,最后连接成一条折线,这种比较“粗糙”的方式精度是比较差的。上面的例子使用欧拉法得到的解如蓝线所示:

2 梯度下降法

在机器学习或者神经网络中,我们大量使用梯度下降法,其实它也可以看作是一个动力系统。给定关于训练集的某种损失函数:

一般情况下,对相当复杂的损失函数,不太可能一步到位直接求解参数的最优解,只能通过某些算法“慢慢地”去寻找最优解,比如使用经典的梯度下降算法,参数不断更新,在参数空间留下一条美妙的轨迹,其行为与动力系统十分相像。

考虑一个由常微分方程表示的动力系统:

使用欧拉法求解该动力系统,则有如下迭代关系:

如果把固定时间间隔h视为学习速度learning rate,则这就是大家非常熟悉的梯度下降算法的表达式,到此应该看得出,所谓梯度下降算法从动力学角度来看,就是使用欧拉法求解某个动力学系统。

当然,我们并不单单致力于能求解微分方程的数值解或者得到参数的轨迹,更重要的是,希望参数θ能够收敛到某个稳定点,动力系统达到某个稳定的状态,损失函数能够收敛。

3 GAN的动力学系统

在GAN中,我们设定生成器的优化目标为最大化f,而判别器的优化目标为最大化g,动力系统的参数由两部分组成:

那么动力学微分方程可写为:

整个动力学仍然采用梯度下降法进行迭代更新,若使用欧拉法求解GAN动力学系统,则可理解为使用同时梯度下降算法:

即在一个时间节点上,同时更新生成器和判别器的参数,其参数轨迹如下:

需要说明一下,通常在GAN中我们使用的是交替梯度下降,两者有一些区别(但是很多情况下并不影响最终的结论),即依次交替更新生成器和判别器的参数,其参数轨迹为:

上一期也说过,GAN并不是在寻找全局最优解,而是在寻找一个局部最优解。我们希望动力学系统的轨迹可以随着不断迭代而进入一个局部收敛点,也就是纳什均衡,定义纳什均衡点为:

容易证明对于零和博弈(f=-g),在纳什均衡点,其雅可比矩阵:

是负定的。反过来,可以通过检查雅可比矩阵的性质来判断是否达到了局部收敛,如果在某个点,其一阶导数为0

且其雅可比矩阵为负定矩阵,则该点为纳什均衡点。

我们知道半负定矩阵的特征值均小于等于0,则:如果在某一点的雅可比矩阵的特征值为均负实数,则在足够小的学习速率的前提下,训练过程收敛;如果特征值出现复数,则训练一般而言不会实现局部收敛;如果复数特征值的实部很小而虚部比较大,此时需要某种非常苛刻的学习速率才能达到收敛状态。

[1] Mescheder L , Nowozin S , Geiger A . The Numerics of GANs[J]. 2017.

[2] Nagarajan V, Kolter J Z, Nagarajan V, et al. Gradient descent GAN optimization is locally stable[J]. 2017.

总结

这篇文章首先介绍了常微分方程以及使用欧拉法得到常微分方程的数值解,然后从动力学的系统重新看梯度下降算法,最后从动力学视角重新表述了GAN,并且给出几个有用的结论。

下期预告:GAN训练中的正则项

GAN群

(0)

相关推荐

  • 微分万物:深度学习的启示

    (1 中国科学院物理研究所) (2 松山湖材料实验室) (3 哈佛大学物理系) 本文选自<物理>2021年第2期 摘要   深度学习教会了人们一种新的和计算机打交道的方式:将一些可微分的计 ...

  • 用Excel体验梯度下降法

    公众号后台回复"图书",了解更多号主新书内容 作者:气象学渣 来源:气象学渣 梯度下降法是目前神经网络训练过程中最为核心的算法之一,配合链式求导可实现误差在神经网络中的反向传播,更 ...

  • 突变理论及其应用

    (2010-07-07 21:34:28) Ø       研究的现象    某个因素的连续变化(往往还是光滑,理解为无限次可微)的变化可能导致系统性台的突然变化. Ø        突变现象的研究工 ...

  • 从动力学角度看优化算法:为什么学习率不宜过小?

    原创 · 作者|苏剑林 单位|追一科技 研究方向|NLP.神经网络 本文的主题是"为什么我们需要有限的学习率",所谓"有限",指的是不大也不小,适中即可,太大容 ...

  • 从教研员视角看教育是一种怎样的体验?| 戊戌年第一谈

    2018.02.24  09:57 UTC+0 UCL IOE ©️陶理 为了满足我的好奇心,而且与同学交流时有具体的数据和故事可以讲,我向一位资深教研员请教了相关内容,通过一小时多的音频通话我对教研 ...

  • 显微镜,热成像仪和皮皮虾的超级眼——新奇视角看世界的N种方法

    显微镜.热成像仪 和皮皮虾的超级眼 新奇视角看世界的N种方法 ~( ̄▽ ̄)~* 你眼中的世界和我眼中的是一样的吗? 我们眼中的世界和皮皮虾眼中的是一样的吗? 如果可以给你的眼睛按个特别的"镜 ...

  • 从心理学视角看“旅游是一种学习方式”

    □ 李鹏冲 学习是个体以自己现有的知识.技能.态度等心理结构为基础,通过与客体信息进行交互来形成.充实或调整自己的知识.技能和态度的过程,由此带来的变化会对个体以后在相关情境中的活动水平和方式产生影响 ...

  • 【阿里云课程】生成模型之GAN优化目标设计与改进

    大家好,继续更新有三AI与阿里天池联合推出的深度学习系列课程,本次更新内容为第11课中的一节,介绍如下: GAN优化目标设计与改进 本次课程是阿里天池联合有三AI推出的深度学习系列课程第11期,深度生 ...

  • 【GAN优化】长文综述解读如何定量评价生成对抗网络(GAN)

    欢迎大家来到<GAN优化>专栏,这里将讨论GAN优化相关的内容,本次将和大家一起讨论GAN的评价指标. 作者&编辑 | 小米粥 编辑 | 言有三 在判别模型中,训练完成的模型要在测 ...

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

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

  • 【GAN优化】小批量判别器如何解决模式崩溃问题

    GAN的第二季开始更新了,还是熟悉的配方,还是熟悉的味道.第一季更新了12篇小文,只解读了GAN的冰山一角,第二季将作为第一季的"零零星星"的补充,讲解包括其他的损失函数.训练算法 ...

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

    今天讲述的内容是GAN中的模式崩溃问题,之前的文章有提到这个问题,在接下来的两三期内,将和大家一起讨论有关模式崩溃的解决方法. 本期将会首先介绍什么是模式崩溃,然后给出两种通过修改GAN目标函数的解决 ...