林宙辰:实现机器学习科研从 0 到 1,没有什么比一个好的理论更加实用
极市学者专访|第四期
“听大牛说说计算机视觉那些事儿”
前三期,金连文教授、左旺孟教授和白翔教授为我们分享了他们精彩的科研经历和观点。本期,我们非常荣幸邀请到了机器学习与计算机视觉领域大牛林宙辰教授,来为我们分享他有趣、有料的科研经历。
01
林宙辰与微软亚洲研究院的故事
在博士毕业前,林宙辰教授与微软亚洲研究院曾有过一段有趣的经历:
微软亚洲研究院成立于1998年11月。彼时,还在北大读博士二年级的林宙辰教授非常关注这件事情。当时他的一位即将毕业的同学想去参加应聘副研究员的笔试,但不知道微软亚洲研究院的地理位置,于是林宙辰教授就带着他去。到了之后,因为笔试的入场条件较为宽松,因此,怀着为自己一年后的找工作做预备的打算,林宙辰教授临时参加了这场考试。
虽然没有任何准备,但因为扎实的数学功底,林宙辰教授在这场参与者约200人的微软亚洲研究院招聘笔试中考取了第二名的好成绩。于是时任视觉计算组主管的沈向洋博士邀请林宙辰教授做实习生。第二年,林宙辰教授博士毕业后就非常顺利地加入了微软亚洲研究院,一干就是十二年。
02
何谓好的机器学习论文
我一直认为,论文有两种:一种是有趣的论文,一种是有用的论文。可能大部分人都会倾向于选择有用的论文,认为它能够解决问题。但是我个人还是比较倾向于有趣的论文。当然,有用可能更好,但是有趣这个因素也不可或缺。
那么,什么是有趣的论文?我认为,有趣是指我这篇论文背后有很好的数学理论和数学模型,我也能够阐明其原理。我们不需要像纯数学那么严格地进行证明,只要能够从直观上说明算法后面的机理,能够让别人相信我的这个算法或模型是有效的,这样就能算作一篇有趣的论文。如果只是单纯靠实验来论证,缺乏理论的支撑,我个人不是特别欣赏。
因此,作为一篇好的机器学习与计算机视觉科研论文,首先要有很好的问题背景,不能是为了灌水来写的,而是要的确洞察到了目前领域中所面临的关键性的问题。当然,这个问题可大可小,如果解决一些特别关键的问题,就是一个非常大的突破了。也可以是一个小的关键问题,如果能解决,就会给现有的技术或者知识做出实质性的贡献。这样就是一个很好的写论文的动机。
接下来,需要有较好的数学模型,能用于描述这篇论文所提出来的思想和方法。最后,还要有一些分析,可多可少,我们希望这些分析能有一定的指导作用。另外,在逻辑组织方面,读起来要能顺应大家的正常思维,不能过于跳跃。文字是否优美是其次的,重点是要在逻辑上保持流畅。另外,也不要有英文上的常见错误。对于实验结果,我自己的很多文章,其实结果都没有特别惊艳,但只要结果能够与我的数学模型和理论预测能够吻合,我觉得就足够了。会有其他人替我改进实验结果。
03
林宙辰与他的实验室:ZERO
在访谈过程中,林宙辰教授向我们展现出他作为一位机器学习科研工作者特有的风趣幽默而又严谨细致的形象。林宙辰教授实验室的名字叫ZERO(Zeal, Excellence, Reliability and Openness),他为我们解释了这个十分有趣的名字的由来:
实验室名字叫“ZERO”其实有多方面原因。首先考虑到名字要朗朗上口,而我自己就姓“林”。当时我们也没有想要按研究方向来命名,所以就以我名字的谐音命名为“ZERO”。这其中蕴涵着我们对于做原创性研究的目标,我们希望从零出发,努力实现从零到一。然后我们再考虑如何更进一步来解释“ZERO”这个词语,也是建立我们实验室的文化。
我认为“Zeal”、“Excellence”、“Reliability”和“Openness”这几个词语非常符合我对学生的预期:
“Zeal”是指对所做的事情要有热情。我对学生做事情时的热情以及自我驱动看得非常重,因为这是超越智力的。有些同学非常聪明,但是他没有把绝大部分时间放在研究上面,那么他可能做不出有价值、有深度的研究成果。平时我们实验室不打卡,学生全靠积极性,实验室的位置也是流动的,学生可以不在实验室做研究,在宿舍或者图书馆都可以,全都是靠我的学生自觉地工作。同时在我们实验室内部,学生之间会有一些以学生为主的讨论。我在其中承担的角色则是在研究课题方面对他们进行引导。
“Excellence”是指我们要做出色的工作,要做有影响力的工作,而不是做‘差不多就行了’的工作。说得俗一点,我们的论文都要瞄准A类会议和A类期刊。当然并不是说要唯论文,但这也能起到较好的激励或者引导作用,希望我们论文能够发在最有影响力的地方,能够被大家所尊重。这也是一种目标。
“Reliability”是指做人说话要可靠,做的实验也要可靠。我希望我的学生,当我把任务布置下去的时候,能够自我驱动,把它尽量完成,实验不要掺杂虚假成分。虽然我们是偏理论的研究,大部分属于验证性实验,但我们也希望报告真实情况,而不是挑一些对我们有利的结果来汇报。当然,代码也不允许有任何不实成分。
“Openness”的意思是我鼓励同学们进行内部合作,也欢迎跟外界进行合作,不能仅仅把自己的想法藏在我们内部。我们希望通过合作,能够把研究做得更对、更深入、也更广泛。另外,“Openness”也指希望同学们在生活中也能更开放,交更多的朋友。这样在读研的过程以及未来科研的过程中,就能够走得更加顺利一点。
我们实验室的研究主要通过同学之间的互相促进,并不靠我给他们压力。我跟我的学生说过,打个武侠小说中的比方,当年全真七子跟欧阳锋打架,全真七子每个人都打不过欧阳锋。但是他们连在一起,一个人接着一个人的时候,欧阳锋就推不动了。我有那么多学生,如果全靠我去推,我肯定是推不动的。只有他们自己有足够的动力,我才能帮助他们跑得更远、跳得更高。
04
对数学的热爱
作为一个机器学习领域的学者,林宙辰教授对于数学的热爱体现在他科研的各个方面。谈到数学基础对于机器学习与计算机视觉的重要性,林宙辰教授有这些观点:
“我认为数学在计算机科学领域的研究中,起到了非常大的基础性作用。如果数学基础不好,就会限制一个人的创造性、洞察力以及能达到的高度。虽说人工智能有很多较为工程的研究方向,但是从理论深度方面来看,数学还是起到了决定性作用。尤其是在以统计学、计算机科学,还有优化算法作为支撑的机器学习领域,它往往需要建立数学模型。因此,如果数学比较薄弱的话,就很难玩得动机器学习,更不要说成为机器学习领域的引领者。不过对于当前的计算机视觉而言,它相对机器学习更加偏工程一些,可能对数学的要求就没那么高。尽管如此,数学对于研究的深度和广度,还是会有很大帮助的。
因此,我也希望学生能打好数学基础。事实上,我不太鼓励在本科阶段就赶紧发论文、发顶会。因为像数学这种基础学科,本科期间的学习是个非常好的一个修炼机会,错过了以后可能就不会再有了,而论文迟早都会有的。简言之,基础知识如果没有在合适的时间掌握好的话,将来就很难补上了。
05
没有什么比好的理论更加实用
除了对数学的热爱,林宙辰教授在他多年的机器学习研究工作中,一直遵从Vladimir N. Vapnik 的名言:“Nothing is more practical than a good theory.”( 没有什么比一个好的理论更加实用)。
我非常认可这句名言。如果没有理论,就很难确定你的方法什么时候能行,什么时候不行,它与仅仅只是在工程上的经验是截然不同的。比如,深度神经网络分析是非常难的问题,目前也有不少严肃的学者在研究深度学习背后的机理。但现在的很多深度学习方法,都陷入了一个缺乏理论指导的困境。而以我本人这么多年的研究经历来看,我觉得我做的东西,总得有一些数学理论和数学模型作为支撑,否则做起来没有感觉。因此,我现在要求我的学生读论文、写论文时,要有一定篇幅的数学推导或证明。
当然,理论不能解决所有问题。对数学模型或算法进行分析时,我们希望能在适当简化之后保持其本质特征。如果实验结果能够与理论相匹配,那我就会对这项工作非常有信心。否则,就会心里觉得不踏实,总觉得更换数据集之后,效果就可能得不到保证。
06
高维复杂数据的低秩模型理论与方法
今年十月,林宙辰教授团队的项目《高维复杂数据的低秩模型理论与方法》获得了2020年CCF科学技术奖自然科学一等奖。从人工智能领域高维复杂数据的低秩性出发,利用低秩分析、谱图理论等技术,从低秩模型提取、高效优化算法、高维数据分析方面做出了多个重要的理论发现,对高维数据的建模提供了新的理论工具和技术方案。在本次访谈中,林教授为我们介绍了这个项目的研究背景、动机以及所解决的问题:
大家都知道,一个项目如果能获奖,那它不是短期内就能完成的,都是长期以来的工作成果。事实上,我们的这个工作早在2010年就开始做了,后来陆陆续续做到2018年。18年之后,低秩方面的工作就慢慢减少下来。我们的目的是为了解决高维数据中,怎么解决缺失数据和明显偏离正常值的例外值的问题,也就是要处理现实世界中不完美的情况。
举个例子,假定社会上都是好人,那么社会就很好,一切都很完美,大家互相帮助。但是会有些坏人,专门搞破坏、干扰秩序的人,就会对社会造成滋扰。在科学界中也是一样,我们拿到了一些数据,都不是非常完美的,都带有一些噪声、缺失值,还有一些例外值。那么在这种情况下,如果直接用的话,就会对后续任务造成非常大的干扰,也就是你算出来的结果可能并不是你所需要的。那么,我们通过引入‘低秩’这么一个概念,对整个数据集起到很强的整体约束作用。这样,一些例外值就可以检测得出来,同时也能补齐一些缺失值和去除噪声。经过我们的这种方法处理之后,后续任务的性能就会得到非常明显的提升。
另外,我们跟其他研究者做得不一样的一点是,我们提供了非常深刻的理论分析,以此来保证我们所提出来数学模型在现实中的有效性,即如果满足我们的条件,我们就可以确保算出来的结果是正确的,这是在模型方面。另一方面,如果一个模型不能快速求解的话,那么它的实用性就比较差。于是在算法方面,我们还提出了一些比较实用的快速算法,来保证我们所提出的这些数学模型能够快速有效地求解。
因此,这次我们就把这些年来的工作进行了总结,得出了净化高维复杂数据、提取其内在结构的系统性方法。低秩模型在深度学习之前是一个非常受欢迎的研究领域,国内很多同行对我们的工作也有一定的了解,所以在这次评选过程中得到了他们的支持,在这里我特别感谢他们。
07
对机器学习优化算法领域研究的前沿观点
作为机器学习优化算法领域的知名学者,在这次访谈中,林宙辰教授也谈到了他对于机器学习优化算法领域值得研究的课题,以及机器学习理论与工程实践的结合应用方面的一些观点:
在机器学习优化算法领域,我认为值得研究的有分布式算法和随机算法这两个方面。
因为当面临高维、海量的数据时,要能有效地计算的话,分布式优化和随机优化这两类算法基本上是不可避免的。那么传统的优化算法可能就不够实用。在算法复杂性这一方面,传统算法往往有一个明确的复杂度下界,复杂度不可能比这个下界低。所以我们最近在做一些基于学习的优化,能够把数据的一些特性吸收到算法内部,极大地加速算法的收敛性,而且在理论上能够保证它是正确的。
还有一个值得研究的内容是双层优化。双层优化基本是专门为机器学习领域定制的,但是大家可能没有太意识到。双层优化的上层是在验证集上的错误率,下层优化则是在训练集上的错误率。上层要找超参,下层则是在给定的超参之下优化模型本身的一些可训练的参数。所以双层优化是天然地在机器学习中随处可见的。但是这方面的研究在前几年比较欠缺,这两年大家可能又开始关注起来。所以我认为随机、分布式、基于学习的优化、还有双层优化都是比较值得探索的。传统优化还有一些理论方面的硬骨头,我个人不是特别喜欢去啃。如果对产业有影响的话,我觉得还是应该考虑我刚才说的四个方向。
关于这些理论工作如何与工程实践相结合的问题,事实上机器学习中的优化理论与算法的应用性都是比较强的。某个算法如果比较快的话,大家都会马上用它,在一些特定的问题上进行测试和检验。但是有些算法的分析可能比较宽泛,虽然在阶上有一定的提升,但是实际效果上未必那么好。比如做梯度下降,有些算法声称它的复杂度有阶的下降,但是在现实中,比如用在深度神经网络的训练中,可能就没有看到有明显的加速,因为我们在做有限步运算的时候,这些阶前面的常数可能起很大的作用。我认为,如果不是分析算法复杂度这种特别理论的内容,绝大部分机器学习优化算法都可以直接应用到不同的问题中,我个人对此是比较乐观的。