华体会体育比分
华体会首充
华体会赛事押注

传统动力电控

传统动力电控
新能源动力电控

人工智能理论 动力系统与优化算法

时间: 2023-04-25   作者: 华体会体育比分

  科技开展的重要组成部分便是学科之间的彼此学习和交融。许多概念和理论是在被提出好久之后才发现了他在另一个好像彻底不想关的范畴的使用。比方说咱们都很了解的傅里叶同志,他的老本行是研讨烧锅炉的。傅里叶当年apply for professor [1] 的时分,用的文章叫做“热的传达”,里边提出的热传导方程归纳了后世一向到现在的烧锅炉学识。乃至傅里叶自己便是晚年以为热能包治百病,烧锅炉中暑死掉的。傅里叶在解这个方程的时分,发现能够用三角函数的无量级数来表明一个函数,这便是傅里叶变换。今日说起傅里叶变换,人们首要想到的必定不是锅炉,而是信号处理一类的东西。这便是傅里叶变换在另一个彻底不相干范畴的使用。从锅炉到示波器,傅里叶的思维完成了从工业时代到信息时代的行进,或者说从蒸汽朋克到赛博朋克的进化 [2]。

  又比方说,不是许多人讲深度学习其实是某一门陈旧的化学的分支吗?(来自傅里叶的浅笑)!!

  好了不说废话了,今日咱们就来讲一下这个动力系统和优化算法这两个看起来不要紧的学科的联络。咱们知道,优化分为离散优化和接连优化。机器学习里的优化大体都是接连优化,可是这个接连仅仅说objective function是接连的,优化的算法仍然是离散的。咱们要把算法写成迭代的办法,每一步的解是一个关于上一步的解和一些其他东西的函数。迭代的算法完成起来很简略,可是剖析起来却并不简略,至少不是很直观。简略的算法,比方gradient descent,还能够很轻松的推导出收敛的性质,一些更杂乱的算法就不那么好了解了。有人就想到,咱们能不能从“接连”的视点去研讨这些迭代算法,也便是说,把算法的每一步当成一个接连的轨道的某种离散化,这样咱们就能够经过研讨接连的轨道来获取关于对应迭代算法的信息。这也是咱们今日要评论的东西。

  微积分的课上都学过最简略的数值解常微分方程的办法:Euler Method。简略来说,咱们想解一个常微分方程

  咱们能够将其用一阶泰勒打开离散化,这样咱们就得到了这个函数在初始点的一阶近似,然后咱们沿着这个切线的方向行进一小步,在那个地方再做一阶近似,以此类推。

  到现在为止,咱们议论的东西和优化仍是没有什么联络,可是当你把上面的迭代式和gradient descent的迭代式比较一下,你就会发现,gradient descent实际上便是测验对下面这个常微分方程用Euler Method做数值解。这儿咱们评论简略的状况,也便是gradient descent的步长为一个定值η,对应的便是Euler Method里边的h。

  当然gradient descent是最简略的优化算法,Euler method也是最简略的常微分方程数值解法,所以这样的联立看起来有些trivial, 究竟直接剖析gradient descent也是很简略的。可是这种联络给咱们对优化算法的研讨供给了一种新的思路。比方咱们能够经过研讨Euler Method里的h的办法来找到最好的gradient descent的步长,以及在该步长下一些关于收敛速度的成果。这种研讨办法其实很早以前就呈现了[3],其间心思路是幻想优化算法的步长趋向于无量小,使得优化算法每一步组成的轨道趋向于一个ODE的轨道,然后经过现已十分老练的ODE相关理论来取得一些关于优化算法的deep insights。尤其是,当一个新的优化算法被提出的时分,有时分传统的剖析办法很难了解他。可是使用这种新办法剖析,或许会有一些风趣的发现。

  一个明显的比方便是Weijie Su, Stephen Boyd 和 Emmanuel J. Candes在2015年的NIPS上宣布的论文(NIPS上宣布的是短版的,完整版发布在2016年的JMLR上)A Differential Equation for Modeling Nesterov’s Accelerated Gradient Method: Theory and Insights。 这篇文章评论的是用ODE了解优化里一向很迷的一个算法 - Nesterov’s Acceleration [4]。本大众号之前的一篇文章现已对这个算法有所介绍。它是由战役民族闻名的使用数学家尤里 Nesterov在1983年一篇仅有四页的小文章提出来的,宣布在苏联的数学期刊上。我在读过的论文的引证中见过它太多太屡次了,足以见得这个算法影响之深远。尽管这个算法有许多种不同(可是等价)的表达式,可是原理十分简略,大约便是在每做一步gradient descent的时分加上一些之前迭代进程的信息。这个算法很了不得的一点是,它的收敛能够被证明到达了任何只包含一阶梯度信息的优化算法的最快收敛速度。可是关于这个算法背面的intuition却一向是个迷。Nesterov在最早的那篇小论文里并没有供给任何直觉上的解说,仅仅给出了收敛速度的数学证明。这个证明的进程被许多人点评是 “pure algebraic trick” ,就跟咱们做一些数学难题的时分凑集项相同。然后许多人提出这个算法成功的原因是由于他经过把不同的进程加权均匀提升了稳定性,我之前也是这么以为的,直到不久前看到Georgia Tech的赵拓教授在知乎上介绍他的研讨 [5] ,才发现工作并没有这么简略。简略来说,Nesterov’s Acceleration并不是加权均匀,而是一种外插值(extrapolation),实际上是损坏稳定性的。当然他首要是想从物理的视点了解,这就扯远了。除此之外年青的优化大神朱泽园Allen-Zhu提出“linear coupling”的思路将Nesterov’s Acceleration看成是gradient descent和mirror descent的结合。总归直到现在人们也不敢说彻底了解了Nesterov’s Acceleration背面的意义

  而咱们的主角是时分进场了。Nesterov’s Acceleration究竟也便是个简略的迭代式,采纳之前介绍过的思路,找到那个命中注定与他匹配的ODE并非难事。Su等人用半页纸推导出了这个ODE:(x的初始值和x的导数的初始值都是0)

  停下,这不对啊,这个算法分明是一阶的,怎样来个二阶的ODE?刚读到这儿我也是懵逼的,可是其实想一想,咱们说的一阶算法指的是梯度,是对x求导,这儿ODE是关于t的,其实没有什么联络。这个ODE的推导仍是十分简略的,有爱好能够去看一下那篇论文。

  当然了,这个ODE并不好剖析。传统的ODE理论对这个方程的解的存在性和唯一性都无法剖析出来。这首要是由于这个3/t的项导致该方程在t=0的时分是singular的。在这儿作者用了一些剖析上的办法,比方用Arzela-Ascoli theorem去找convergent subsequence,这儿就不细说了。咱们看看作者发现了Nesterov’s Acceleration的什么奥妙吧。首要作者测验用Euler Method去解这个ODE,然后经过一些核算证明了Nesterov’s Acceleration的迭代进程大致等同于Euler Method里边的步长取2/√L,这儿L是f的梯度的Lipschitz constant。而相对的,gradient descent对应的ODE假如想用Euler Method的话,在某些状况下步长要小于等于2/L才干收敛,而在L比较大的时分远小于2/√L。这意味着从ODE数值解的视点来看,Nesterov’s Acceleration答应更大的步长,那么在都确保收敛的状况下,收敛速度天然比gradient descent快。一起,作者也从ODE的视点推导出了Nesterov’s Acceleration的收敛速度,和Nesterov自己的成果是共同的。

  还有更重要的一点,咱们回去看看这个ODE,第二项的那个3十分可疑,为什么是3而不是其他的数呢?这是由Nesterov’s Acceleration算法里加上之前进程的信息这一项的系数决议的。作者发现,假如把这个3替换成大于3的其他常数,这个ODE仍然能够到达相似的收敛速度。所以经过改动这个常数,作者推导出了一个系列的优化算法。在某些状况,改动这个常数所对应的优化算法有更好的成果。比方当函数是强凸的时分,让这个常数大于9/2能够有更快的收敛速度。这表现了用ODE研讨优化的另一个闪光点:有或许从一个特定算法推导出更多的算法。

  那么这儿这篇文章就告一段落。这篇文章启发了许多后来的研讨者,尤其是Berkeley的Michael Jordan组。在2016年,Jordan的学生Ashia Wilson宣布了两篇 [6] [7] 剖析优化里加快算法的论文,为联络动力系统和优化加快速算法供给了更厚实的理论基础。这两篇论文用到了变分的思维,结构了一个叫Bregman Lagrangian的泛函,而且核算他对应的Euler-Lagrange equation,再对Euler-Lagrange equation做一些比较杂乱的离散化。经过这些办法,作者为加快算法构建了一个很广泛的结构,Nesterov’s Acceleration仅仅其间特别的一种状况。

  其他的相关研讨还包含了用随机微分方程(SDE)来了解随机优化算法。正如从gradient descent到SGD相同,从ODE到SDE也是一个天然的拓宽。 [8]是其间一个比方。这就为相关研讨打开了更广大的门,由于现在有许多随机优化算法都还没有很到位的了解。

  这篇文章到这儿就完毕了。其实学习上面说到的这些论文给我最大的感受便是,关于一个优化办法,并不仅仅推导它的算法机收敛速度就够了,而是要了解它背面的insight。前者Nesterov自己用四页纸就能够搞定,而后者却是许多研讨者花了30多年还没有彻底处理的问题。Insight重要吗?是也不是。不论你去不去更深化的了解,算法都摆在那儿,随时能够拿来用,可是关于算法背面的研讨却打开了新世界的大门,供给了一个更高层次的看问题视点。正如早年物理学界一向在测验的大一统理论,或许沿着这条路走下去,会通往数值优化的大一统呢。

  Xavier,本科就读于加州大学伯克利分校,使用数学和统计学双专业。现在于芝加哥大学就读核算数学专业博士。本科阶段的学习和研讨首要集中于偏微分方程的数值解以及医学图画剖析。博士阶段首要爱好对错凸优化及其在机器学习中的使用,以及核算机视觉的相关问题。