数说名师 | 孙若愚教授专访——从“拿着锤子找钉子”到“找准钉子造锤子”

# 数说名师|导语
香港中文大学(深圳)数据科学学院(SDS)以师资见长,学院拥有一支由计算机科学、运筹学、统计学等学科国际化学术人才组成的高水平教授队伍。
全球千强科学家中五位教授任职于SDS(点击查看Guide2Research“全球千强科学家”榜单),其中还有跻身全球百强的教授。教授队伍中有曾在世界顶尖高校任职的终身教授,有培养出四位院士的名师,也有《人民日报》报道过的高端人才,他们在学术界和工业界都有着显著的国际影响力。
SDS成立以来汇聚了众多拥有辉煌履历的国内外名师。“数说名师”系列教授访谈带您探索SDS教授们的学术实力、育人理念以及他们对学术的坚持。相信在访谈中,你们会找到适合追随的人生导师,也会更加了解SDS。

NeurIPS、ICML、ICLR、AISTATS等人工智能会议领域主席
原伊利诺伊大学香槟分校(UIUC)助理教授
曾任脸书人工智能研究所全职访问科学家
曾获INFORMS George Nicolson学生论文竞赛第二名
曾获INFORMS优化协会学生论文竞争荣誉奖
研究领域:
深度学习理论和算法、生成模型、大规模优化算法、学习优化、图神经网络、人工智能在通信网络的应用、通信网络容量理论、通信网络优化算法
简介:
孙若愚现为香港中文大学(深圳)数据科学学院副教授、博士生导师。此前他于2017年至2022年任伊利诺伊大学香槟分校(UIUC)助理教授、博士生导师,2016年任脸书人工智能研究所(由LeCun领导)全职访问科学家,2015-2016年任斯坦福大学博士后研究员。他2015年在美国明尼苏达大学电子与计算机工程系获得博士学位,2009年在北京大学数学科学学院基础数学系获得本科学位。他的主要研究领域为人工智能和机器学习、数学优化理论与算法、无线通信和信号处理等,具体研究方向包括神经网络理论和算法、生成模型、大数据优化算法、学习优化、通信网络容量理论与优化算法等。他曾获得INFORMS(国际运筹与管理协会) George Nicolson学生论文竞赛第二名,以及INFORMS优化协会学生论文竞争荣誉奖。在人工智能与机器学习会议NeurIPS, ICML, ICLR, AISTATS,顶尖信息论与通信杂志IEEE transaction on information theory, IEEE Signal Processing Magazine, Journal of Selected Areas in Communications,顶尖数学优化与运筹杂志Mathematical Programming, SIAM Journal on Optimization, Math of Operations Research等会议与杂志发表数十篇文章。目前担任NeurIPS, ICML, ICLR, AISTATS等人工智能会议的领域主席。
*文章转载自“将门创投”微信公众号
“优化/计算数学和机器学习的交叉、尤其是和深度学习的交叉,对当前人工智能的发展影响重大,但这个交叉方向大部分AI研究者是知之甚少。我希望多传播这个方向的知识,来帮助AI研究者更好地使用和推进神经网络。”
在孙若愚看来,深度学习的计算理论尚未得到足够的关注和宣传。
孙若愚从今年7月开始在香港中文大学(深圳)数据科学学院任教,做更多基础理论与机器学习应用结合方面的研究。他希望他的学生做学术,能夯实基础、亦能兼顾理论与实践,不只是“拿着锤子找钉子”,更要有找准“钉子”设计“锤子”的能力。
数学——通信——深度学习的旅程
孙若愚高中就读于湖南师大附中,因全国数学奥赛金牌、入选国家集训队的成绩保送进入北京大学数学科学学院。在本科期间,和很多因竞赛报送的同学一样,他一度向往进入纯数学的殿堂,参加了不少纯数学的讨论班。
到了本科后期,为寻找自己感兴趣的方向,孙若愚广泛选修了统计、经济金融、计算数学、信息科学等方向的课程。大四时因高立老师推荐,他参与了袁亚湘院士在中科院的数学优化讨论班,通过这个讨论班接触到了现代优化前沿,逐渐建立了对优化和应用数学的研究兴趣。
在博士阶段,孙若愚选择了明尼苏达大学电子工程系,师从优化大师、无线通信和信号处理方向大牛、同样毕业于北大数学学院的罗智泉教授〔香港中文大学(深圳)副校长(学术)、数据科学学院教授〕。
申请时,罗教授或许看出了他对工程学科的陌生和疑虑,说了一句让他至今印象深刻的话:You will not waste your wisdom (你不会浪费你的才智)。现在回头来看,他觉得这句话说得一点都没错,应用数学和工程学科的双重学习,不仅没有浪费才智,他反倒是经常觉得自己才智不够用。他鼓励数学系的同学积极投身应用学科的研究中来,这个方向大有可为,同样能发挥自己的聪明才智。

孙若愚(右)和罗智泉教授(左)以及同组师兄洪明毅(中)合影
孙若愚的第一个研究项目和现代信息科学的基石之一信息论有关:多用户网络的信道容量。这个问题是香农1948年的单用户信道容量界问题的自然推广,直到2009年才由一些研究者取得了重大突破,证明了一种叫“干扰对齐”的技术可以达到一个非常乐观的关于信道容量的上界。如果能达到这个信道容量,那么我们手机的下载速度可以比目前的高很多倍,5G、6G乃至7G网络的发展将获得坚实的基础。然而,当时只知道在非常特殊的情况下(无穷长时间下的平均)这个上界可以达到,在现实有限长时间下能否达到这个上界是一个悬而未决的问题。这个问题可以被转化为多项式方程组的可解性问题,因此和代数几何有密切的联系。
这个项目对现实世界的潜在影响让他很激动,和数学的密切联系也让他觉得兴致盎然,他第一次感觉到现代数学和现实世界结合得如此紧密。经过一年多时间的探索以及与导师的多次讨论,他借用一些代数几何的技巧,取得了任意长时间下的第一个理论界,发表在IEEE Transaction on Information Theory上。这是孙若愚第一次接触信息科学中的数学问题,他之前以为工程学科中的数学或许比较简单,但这个项目之后他发现,看上去简单的工程问题背后的数学其实非常困难,已有的数学研究里未必会有工具可以解决这些问题。所以“应用数学”并非只是“已有数学工具的应用”,而往往需要根据问题结构来发展自身的工具。
他博士论文研究的是推荐系统的协同过滤技术背后的理论,在学术界一般叫做“矩阵填充”问题。这个问题在工业界流行的重要原因是2009年的Netflix prize, 当时Netflix开放了大量的用户观看记录,悬赏百万美元征求算法来预测用户对电影的喜好。Netflix prize获奖者的主要模型以及之后的业界主流模型是非凸的矩阵分解模型,但该模型缺乏较好的理论;学术界的主流算法则是基于凸优化的核范数优化模型,有更优美的理论,但计算复杂度较高。
在优美理论和计算效果之间应该选哪个?在导师罗智泉建议下,他选择研究工业界常用的非凸模型。当时研究这个方向的人极少,因为没有多少成型的理论可供参考。经过两三年的探索,他给出了一个较好的理论分析,说明矩阵分解模型具有较好的局部几何性质,从奇异值分解得到的某种初始点出发,梯度下降法、交替最优法等常见局部方法都可以收敛到全局最优点。该文章发表在理论计算机顶会FOCS和信息论杂志IEEE Transaction on Information Theory上,也成为机器学习非凸优化研究的早期代表性文献之一。更贴近现实的分析使这篇文章也引起了工业界的兴趣,后来Netflix的工程师还和孙老师探讨过如何利用此研究的一些技巧提升Netflix推荐系统的训练。

在“矩阵填充”这个工作中,他慢慢体会到了应用数学研究的一些哲学:要以实际应用为导向,而非以理论优美与否为导向。理论不完善不优美还可以再发展,只要在现实中有用,一个研究方向就会有持久的生命力。比如2014年之后,非凸模型因为其实用性强,相关研究在机器学习和信号处理里成为了热门话题之一。然而,如果理论漂亮而落地应用前景渺茫的话,就有空中楼阁的危险;事实上他之前研究的干扰对齐,虽然理论优美、证明巧妙,单从数学品味上讲他可能更喜欢,但因为干扰对齐本身迟迟未能落地,这个工作也未能达到他所期望的影响力。
2015年孙若愚来到斯坦福大学访问另一位优化大师、冯诺依曼奖获得者叶荫宇教授,并随后跟随叶教授从事博士后研究。叶教授的经历很传奇(网上有报道),他对线性规划算法做出了重要的奠基性贡献,和企业界合作很多,几个学生创立的杉数科技在国内最近也声名鹊起。孙若愚和叶教授的合作主要集中在大规模优化问题的算法设计和分析。随着大数据的兴起,单步成本较低的分解类算法越来越流行,不过机器学习领域一般研究的是无约束的分块算法,对带约束优化问题则研究得较少。这个方向有个奇怪的现象:经典的ADMM方法(交替乘子法)只有在分成两块时才有严格的收敛性证明,但分成三块的话就有不收敛的反例。有趣的是,实验显示,一个非常简单的随机置换技巧可以让任意多块的ADMM收敛,但背后的理论却并不清楚。孙若愚舍弃了传统优化证明路子,创造性地选择从矩阵特征值的角度分析这个问题,发现了置换后的更新矩阵特征值分布的有趣现象,给出了随机置换ADMM收敛性的第一个理论分析,文章获得了INFORMS Nicholson学生奖第二名,发表在运筹学顶刊Math of Operations Research上。
在斯坦福从事博士后研究时,孙若愚发现越来越多做理论的朋友开始关注深度学习,深度学习课程在斯坦福也座无虚席。一番了解之后,他对人工智能方向的研究产生了浓厚的兴趣。他注意到神经网络长期以来不如支持向量机受重视,其重要原因是神经网络是非凸模型、缺乏强有力的理论支撑,而支持向量机是凸模型、有优美的凸优化理论做支撑;这和矩阵填充研究方向早期学术界重视凸模型、忽视非凸模型的现象类似,这种相似性让他开始思考是否非凸理论研究也可以放到神经网络中去。后来他意识到矩阵分解可以看做是神经网络的一个特例,因此进一步坚定了研究神经网络的非凸优化的决心。

孙若愚(左三)在湾区与斯坦福的小伙伴徒步
离开斯坦福之后,他拿到了UIUC的助理教授offer,但推迟了入职时间,来到距离学校20分钟车程的Facebook AI Research ( 现为Meta AI Research,简称“FAIR”), 作为访问研究科学家工作,在深度学习三巨头之一Yann LeCun以及深度学习优化先驱者Leon Bottou的领导下对神经网络进行深入了解和研究。
从FAIR开始到UIUC工作期间,他把研究重心放在了神经网络的优化理论和算法上。经过了多年的探索,他在神经网络的几何图景、生成对抗网络理论、Adam算法收敛性研究等方向取得了多项成果。近年来,他发现“神经网络优化”或更广的“神经网络计算”方向的研究者虽多,但由于AI方向实在太大,很多研究者并没有机会接触到这方向的研究,因此他也在着力推广这个方向。
神经网络的优化和计算:基础、重要且不难,但被低估
孙若愚进一步解释了为什么他认为“神经网络优化”或“神经网络计算”这个方向重要且被低估。在FAIR向LeCun和Bottou学习的经历,让他对深度学习发展历程中优化的作用有了更深的体悟。
"深度学习先驱者们,尤其是LeCun和Bottou, 对深度学习的贡献不仅仅在引入新的架构,另一大贡献是全面研究神经网络如何训练,这体现在他们1998年的经典著作 Efficient Backprop中。LeCun、Bottou等人对神经网络优化和计算的理解相当深,这也是他们能成功训练出第一个商用CNN的重要原因。"
孙若愚注意到Google Brain、FAIR等AI机构的一部分研究者延续了深度学习先驱者们对于神经网络训练的研究,不断挑战固有对训练方法的理解、提出新的训练方法,其中不乏基于理论指导的研究。但理论界对这些偏计算和“工程”的研究了解并不多,而学术界的工程研究者则更关心训练方法本身、缺乏对其背后理论的了解。当北大的文再文教授邀请他为袁亚湘院士主编的中国运筹学杂志特刊撰写一篇综述时,他决定对深度学习的优化理论和算法做一个系统的总结。
https://arxiv.org/abs/1912.08957
https://link.springer.com/article/10.1007/s40305-020-00309-6

参考了机器学习主流的“表示-优化-泛化”的分解框架之后,他把“优化”进一步分解为“局部收敛-全局几何”两个挑战,并以此为主线阐述了神经网络一些重要技巧(初始化、正则化、SGD/Adam、过参数等)和局部、全局优化的关系,希望搭起理论和实践中的桥梁,借此让数学家更了解深度学习、也让工程师更了解训练技巧背后的数学。
孙若愚的报告,解读神经网络训练要素与理论的关系
“神经网络表现不好应该从哪些角度去分析和提升?神经网络有没有局部最优,什么时候会遇到局部最优?多层网络为什么一般有正则化,什么时候可以不用正则化?Adam收敛吗,其超参数怎么调?如何根据表示和优化理论来定量判断不同网络架构的能力?这些基本的问题大部分AI从业者了解较少。"
在孙若愚看来,关于神经网络训练方法和技巧的问题,只要用神经网络做研究,就不可避免地会遇到。“用神经网络尝试一个新想法失败了,有相当的可能性是因为一些基本问题没有处理好,比如正则化、初始化、优化算法的选择、算法的学习率规则、网络的宽度和深度设置等等 ”。这些基础问题,极大程度地影响着研究结果,一线工程师也积累了一些经验,但对这些问题的底层理论和系统性理解还普遍缺乏。
“机器学习理论课程强调泛化和表示理论,不太讲优化理论,也不太讲表示理论中影响实际计算的部分。数学优化课程体系里,有很大一部分内容是约束优化和整数规划,无约束光滑优化(深度学习中最常见的优化问题的类别)受到的关注相对较少,已有的授课内容也多偏向于方法,而非和深度学习密切相关的理论部分。每个学科有自己的着重点,而“深度学习优化”或“深度学习计算“这一交叉学科在各个领域都不是传统研究方向。”
孙若愚介绍,出于多种原因,机器学习课程(包括斯坦福的CS224n、CS231n,李沐的“动手学深度学习”)都不太讲优化和计算理论,比如初始化和正则化的原理和细节、Adam的原理和收敛理论等都没有涉及。但其实这一方向并不难,也应该有机会被更多人知道,一个几天的短期课程即可帮助一些同学完成入门理解,并对后续使用神经网络产生较大的帮助。
认识到这一方向的重要性,孙若愚也身体力行多次在UIUC、北大暑期学校等开设相关课程,一本关于深度学习优化/计算的专著也有望在近期由Springer Nature公开出版。他于今年7月开始在香港中文大学(深圳)数据科学学院任教,也很希望能带领学生从基础理论出发研究相关领域,未来还希望通过写专栏、线上分享讲座等方式推广该方向的研究。孙若愚希望让更多人了解这个方向的发展、利用这个方向的知识指导实际中对神经网络的应用。
理想的理论应当具有“预测能力”
受益于基础学科训练打下的坚实基础,他看待机器学习的问题时总希望找到背后更本质的规律和理论。不过他强调,他经历了“不再只追求深刻”的思维转变,现在希望做的研究不仅有理论支撑、更能和应用有紧密联系。他以去年在TechBeat社区分享的NeurIPS oral文章Towards a better loss lansdcape of GANs 为例解释了这个想法。
孙若愚Talk分享
“GAN (生成对抗网络)是深度学习最火热的方向之一,因为逼真的图像生成质量而备受关注。做GAN理论的文章很多,但已有理论却无法解释最简单的两点生成模型的训练过程。为什么GAN训练有时候失败有时候成功?为什么失败的时候对应的损失函数值是0.38左右? 如果最简单的实验都无法解读,那已有的理论是远远不够的。”
他介绍,GAN训练的一个重大挑战是“模式坍塌”,两点实验的训练失败一般是由于模式坍塌。学术界对模式坍塌的原因有多种解释,比如损失函数"不够好"和判别器"较弱",但他认为这些解释并没有和基本的数学概念联系起来。通过对简单的两点模型的分析,他发现模式坍塌其实是某种局部最优。随后他建立了严格的数学理论来证明传统的GAN损失函数都会有很多局部最优点,且对应于模式坍塌 ;并证明了一个小小的改动(配对, RpGAN) 即可消除这些局部最优点。虽然理论上很漂亮,他指出,这个项目对他来说最花时间的部分却是实验验证。
“整个项目持续近2年,大概80%以上的时间花在设计实验和测试上,这多亏了两位机器视觉方向的合作者Tiantian Fang和Alex Schwing。全局几何理论对大部分审稿人来说都是陌生的概念,为了说服审稿人这个理论确实和现实是相符的,我们花费了比一般文章更多的功夫,根据理论做出了五个不同的推测,并在实际数据上验证了所有的推测。”
他指出,这个研究范式“提出理论--根据理论提出实验猜想---验证实验猜想”其实在物理学或科学领域更常见。理想的“理论”应当具有“预测能力”,可以提出预测,并通过实验加以验证或证伪。这篇GAN的文章也是比较好的践行了这个范式。
不过他也坦言,这样在同一篇文章里把理论、预测和实验验证都做到的文章并不多,这篇文章能做到也有一定的运气成分。他提到,在他的另外一篇文章"On the benefit of width: disappearance of basin"中他们猜想神经网络增加宽度可以让损失函数曲面上的强吸引子 (basin) 消失,但并没有想到如何做实验验证,后来才发现Maryland大学一篇文章 (关于可视化神经网络损失函数曲面) 的实验比较了不同宽度网络的损失曲面 ,部分印证了这个猜想。
为什么这么强调实验验证呢?他认为实验验证只是一个手段 ,其目标是“理解”问题的本质。因为深度学习领域的理论比较多,为了辨别哪些理论能给出真正的理解,需要实验手段来帮助甄选相应的理论。应用和理论是相辅相成的关系:应用帮助甄选和发展理论,选出来的理论可以帮助设计更好的用于应用的方法/网络/算法。
“从社会全局来讲, 基础和应用学科的长远目标应该是一样的,都是提高生产力、解决社会问题等等,但短期内做了分解。比如基础学科追求体系的搭建、理论的漂亮、技巧的复杂;应用学科追求落地和实用——这造成了两者表面上看上去目标不一致、发现形态不一致。”
孙若愚提到,数学系出身的他也并非一开始就意识到这些问题。
现在他希望给更多不同背景的同学传递一种理念——两种学科并非是割裂的、理想状态应该是互相促进、互相生长的。按流行的说法,需要培养“闭环意识”——“无论做理论还是应用研究,要看到自己在整个从科研到产业的链条中的位置。没有这种闭环意识,容易会失去方向感。”
从“拿着锤子找钉子”到“先找钉子再设计锤子”
入职香港中文大学(深圳),孙若愚即将迎来一批自己的新学生。
当被问到博士生应该做什么样的研究,他回忆起在斯坦福参加Percy Liang组里一次活动的经历。当时有人提问做研究是否应该“拿着锤子找钉子”(大意是拿着同一套工具或方法用到不同问题上,可以指拿同一套理论比如SGD的收敛理论用到不同的应用上,也可以指拿同一个技术比如GAN用到不同的场景中),当场有不少人认可这种研究方式。他的看法则有些不同。
“拿着锤子找钉子是一种常见的研究方式,对于初涉学术领域的人来说也是很有用的技能。它至少需要熟练掌握锤子、知道哪个钉子可以用哪个锤子。不过对于有志于攀登学术高峰的研究者,如果能找到好钉子、设计相应的好锤子,可以做出更大的原创性贡献。”
他进一步解释,“拿着锤子找钉子”可能被“锤子”所局限,导致无法在解决钉子问题上取得持续进展。所以先“找准钉子”,即找到实际应用中真正的困境、瓶颈、问题,知道一线工程师关心什么,然后再“设计相应的锤子”,即根据“钉子”设计相应的解决方案或数学工具。比如神经网络理论研究,他的关注点和很多理论研究者不同,理论研究者往往关注泛化性如何分析、如何解释过参神经网络表现很好,他则更关注一个实际工程问题:如何训练一个小网络。
“小网络训练是一个不错的‘钉子’。它至少有两方面的应用: 一是当前的很多大模型需要计算资源过多(当前最大的模型训练一次花费上百万甚至千万美元),若能训练较小的模型得到类似效果,会节省很多金钱、时间和碳排放;二是很多硬件设备如手机、无人机、物联网设备等无法部署常规的神经网络,因此一个可训练的小网络会很有实用价值。但小网络训练非常困难,我们猜测背后有很根本的理论原因,比如我们最近的理论工作展示了小网络训练的一个难点可能是损失曲面的大量强吸引子。我们可能还远没有理解小网络训练的最佳方法。”
他用这个例子说明“找钉子”是什么意思。他之前把钉子设置为“理解为什么大神经网络能训练得很好”,但后来发现这个目标下的研究难以和一线AI研究人员的关切产生直接联系。后来他修改了钉子为“如何训练小网络”,发现了大量相关的应用研究分支(如边缘计算、剪枝、彩票假设等),他感觉这个新的目标可能会促成更多理论学者和应用研究者的对话,可以产生更多有意思的研究。
