机器学习数学本质的理解

来源:计算机视觉与机器学习

近日,国际数学家大会丨鄂维南院士作一小时大会报告:从数学角度,理解机器学习的“黑魔法”,并应用于更广泛的科学问题。


鄂维南院士在2022年的国际数学家大会上作一小时大会报告(plenary talk)。

今天我们带来鄂老师演讲内容的分享。

鄂老师首先分享了他对机器学习数学本质的理解(函数逼近、概率分布的逼近与采样、Bellman方程的求解);

然后介绍了机器学习模型的逼近误差、泛化性质以及训练等方面的数学理论;

最后介绍如何利用机器学习来求解困难的科学计算和科学问题,即AI for science。

c4631595ab5f983e345132176f2e750b.png

机器学习问题的数学本质

众所周知,机器学习的发展,已经彻底改变了人们对人工智能的认识。机器学习有很多令人叹为观止的成就,例如:

比人类更准确地识别图片:利用一组有标记的图片,机器学习算法可以准确地识别图片的类别:

434440fb4c963c5d491554055a05aa46.png

Cifar-10 问题:把图片分成十个类别

来源:https://www.cs.toronto.edu/~kriz/cifar.html

Alphago下围棋打败人类:完全由机器学习实现下围棋的算法:

9d6826069a7618bee5c4649871920454.png

参考:https://www.bbc.com/news/technology-35761246

产生人脸图片,达到以假乱真的效果:

07c3d993ea70f6c2ec7e5235ac77a477.png

参考:https://arxiv.org/pdf/1710.10196v3.pdf

机器学习还有很多其他的应用。在日常生活中,人们甚至常常使用了机器学习所提供的服务而不自知,例如:我们的邮件系统里的垃圾邮件过滤、我们的车和手机里的语音识别、我们手机里的指纹解锁……

所有这些了不起的成就,本质上,却是成功求解了一些经典的数学问题。

对于图像分类问题,我们感兴趣的其实是函数54f262c573b0fda37470b88dc091dc33.png

a8e350e0e5b0c90d2772c7ed64ae2964.png: 图像→类别

函数3eb0ac1eef62a2b6dc02aa5e5ba17ef3.png把图像映射到该图像所属的类别。我们知道39f76fda2e7b10c648224ffcd4ad8821.png在训练集上的取值,想由此找到对函数d3d7c97a919059922c6006418406ad60.png的一个足够好的逼近。

一般而言,监督学习(supervised learning)问题,本质都是想基于一个有限的训练集S,给出目标函数的一个高效逼近。

对于人脸生成问题,其本质是逼近并采样一个未知的概率分布。在这一问题中,“人脸”是随机变量,而我们不知道它的概率分布。然而,我们有“人脸”的样本:数量巨大的人脸照片。我们便利用这些样本,近似得到“人脸”的概率分布,并由此产生新的样本(即生成人脸)。

一般而言,无监督学习本质就是利用有限样本,逼近并采样问题背后未知的概率分布。

对于下围棋的Alphago来说,如果给定了对手的策略,围棋的动力学是一个动态规划问题的解。其最优策略满足Bellman方程。因而Alphago的本质便是求解Bellman方程。

一般而言,强化学习本质上就是求解马尔可夫过程的最优策略。

然而,这些问题都是计算数学领域的经典问题!!毕竟,函数逼近、概率分布的逼近与采样,以及微分方程和差分方程的数值求解,都是计算数学领域极其经典的问题。那么,这些问题在机器学习的语境下,到底和在经典的计算数学里有什么区别呢?答案便是:维度(dimensionality)。

例如,在图像识别问题中,输入的维度为a5dd3f4a34ff95a0342fb2259a5dbe78.png。而对于经典的数值逼近方法,对于708aa86d3c9b590f1cafe2be349b96dc.png维问题,含b2e06820a720d64d56eaa212b701c73f.png个参数的模型的逼近误差fbb6edb04bd6ee47dd7f93c235d974af.png. 换言之,如果想将误差缩小10倍,参数个数需要增加ceddeaa8083960158416a7b7d090bda2.png. 当维数3f4d1c18dfa910c263d26671f3b8a288.png增加时,计算代价呈指数级增长。这种现象通常被称为:维度灾难(curse of dimensionality)。

所有的经典算法,例如多项式逼近、小波逼近,都饱受维度灾难之害。很明显,机器学习的成功告诉我们,在高维问题中,深度神经网络的表现比经典算法好很多。然而,这种“成功”是怎么做到的呢?为什么在高维问题中,其他方法都不行,但深度神经网络取得了前所未有的成功呢?

从数学出发,理解机器学习的“黑魔法”:监督学习的数学理论

2.1 记号与设定

神经网络是一类特殊的函数。比如,两层神经网络是750eb0938a4c8d671b66542fdf38d7f4.png

其中有两组参数c8fc861cc0dbf5eb7b00787fa877329a.png,和d19df4c241962bb58e26bde4e1d839f6.png。是激活函数,69800f7cde9fb18050d198158842abe2.png可以是:227235b160d8af2a5df78425b46c3305.png ,ReLU函数;ec1e275a6bce401955ed4e229f195f02.pngSigmoid函数。而神经网络的基本组成部分即为:线性变换与一维非线性变换。深度神经网络,一般就是如下结构的复合:

82cb8e18311b8c499e2304c09f4d61e0.png

088b3f648fd59fd9ce799938fad294b0.png

为了简便,我们在此省略掉所有的bias项2dff8e6d452c45c7485552140c7461e5.png6fd626d220d3826db1bca75eaedd78b9.png是权重矩阵,激活函数a11afdb082db401d105166f20582b1ab.png作用在每一个分量上。

我们将要在训练集S上逼近目标函数7bb1cef4582285c8641d41cc19010ec0.pngdccb60cf8668aaec64bb903ffde2869a.png不妨假设X的定义域为94846521d5a60944cee9f41c723bef22.png。令b2a3be56d1aed3b2804df38b3de77d6e.png为x的分布。那么我们的目标便是:最小化测试误差5fb8930b7e09be40bf87004ab645f9d2.png(testing error,也称为population risk或generalization error)a08622aac294633eb88c4f888244a4d0.png

2.2 监督学习的误差

监督学习一般有如下的步骤:

第一步:选取一个假设空间(测试函数的一个集合)(m正比于测试空间的维数);

第二步:选取一个损失函数进行优化。通常,我们会选择经验误差(empirical risk)来拟合数据:3967ab78b742dd81e8cc43b1afe1a6b6.png

有时,我们还会加上其他的惩罚项。

第三步:求解优化问题,如:

  • 梯度下降:15b5591b17f69b3f47fcf790db07bc12.png

  • 随机梯度下降:803c5c43994600c3dc319e5bbf72c7e2.png

4a57aa2c922ef2ecb537ae0eff893577.png是从1,…n中随机选取的。

如果把机器学习输出的结果记eaa95438818e2b32581a4d516e2f1a8b.png,那么总误差便是9e3449d3ec4e4371fc0cb1a7c4ae7127.png。我们再定义:

bece83054dcf5676932b733ceafa2421.png是在假设空间里最好的逼近;

1b4a9840402539b82daa761573027a4c.png是在假设空间里,基于数据集S最好的逼近。

由此,我们便可以把误差分解成三部分:ba0bb469f247055ac88389feabcce90d.png

5b0c484863e8b691c3becbf781683a6e.png是逼近误差(approximation error):完全由假设空间的选取所决定;

3a3638bb6130e7edd94e99a81b4b294d.png是估计误差(estimation error):由于数据集大小有限而带来的额外的误差;

1dfb3a14fa1a5436aa566eb3f10188a9.png是优化误差(optimization error):由训练(优化)带来的额外的误差。

2.3 逼近误差

我们下面集中讨论逼近误差(approximation error)。

我们先用传统方法傅立叶变换做一个对比:

558716826ebfb6321d5799061c1d90ac.png如果我们用离散的傅立叶变换来逼近:875368f8f42bec5f0c7cad342b82487b.png其误差abf72b76b6a71c04e476a8f11dc2b50e.png便是正比于6b95e90f54f6262690517ed8d55e589b.png,毫无疑问地受到维度灾难的影响。而如果一个函数可以表示成期望的形式:2b401719da37f2f18a2d0c00a66f2f93.png2984717ada0c5fa7a86c49ed76b243d7.png是测度bf949051665b1d6d24471ca9335726e7.png的独立同分布样本,我们有:8bd2a78df6a4f56425b97b050e32cc90.png那么此时的误差是:051e9061e9808e3bbc02092d5cbc02f7.png可以看到,这是与维数无关的!

如果让激活函数为52ac040acfaca5915f32cdc147e1c673.png,那么30aa47795fd7984e63992314ca56d908.png就是以7d33b0fbe10790067c24109c0c4257a6.png为激活函数的两层神经网络。此结果意味着:这一类(可以表示成期望)的函数,都可以由两层神经网络逼近,且逼近误差的速率与维数无关!

对于一般的双层神经网络,我们可以得到一系列类似的逼近结果。其中关键的问题是:到底什么样的函数可以被双层神经网络逼近?为此,我们引入Barron空间的定义:

a54ac72a32cd9b518f26cd1c2456277a.pngBarron空间的定义参考:E, Chao Ma, Lei Wu (2019)


对于任意的Barron函数,存在一个两层神经网络ada09722298f03096210015232155ef1.png,其逼近误差满足:

c6fd29d16bf98b7dcad961a0de4a8841.png

可以看到这一逼近误差与维数无关!(关于这部分理论的细节,可以参考:E, Ma and Wu (2018, 2019), E and Wojtowytsch (2020)。其他的关于Barron space的分类理论,可以参考Kurkova (2001), Bach (2017),Siegel and Xu (2021))

类似的理论可以推广到残差神经网络(residual neural network)。在残差神经网络中,我们可以用流-诱导函数空间(flow-induced function space)替代Barron空间。

2.4 泛化性:训练误差与测试误差的差别

人们一般会期待,训练误差与测试误差的差别会正比于a7c2bdcdb615537d10b49ae506faa07b.png(n是样本数量)。然而,我们训练好的机器学习模型和训练数据是强相关的,这导致这样子的Monte-Carlo速率不一定成立。为此,我们给出了如下的泛化性理论:

e65646d626f89019f3010b60b309068c.png

简言之,我们用Rademacher复杂度来刻画一个空间在数据集上拟合随机噪声的能力。

Rademacher复杂度的定义为:3c3bd76e95655e8f6e8ad7a1b52798c2.png其中7c57db1323d0f06d504dce4af437cdad.png是取值为1或-1的独立同分布的随机变量。

8303f000f8ad248fdfdb96ac6a1cfdec.png是李朴西斯空间中的单位球时,其Rademacher复杂度正比于79cdf7a510ecd983ad435cd2b4e23216.png
当d增加时,可以看到拟合需要的样本大小指数上升。这其实是另一种形式的维度灾难。


2.5 训练过程的数学理解

关于神经网络的训练,有两个基本的问题:

  • 梯度下降方法到底能不能快速收敛?

  • 训练得到的结果,是否有比较好的泛化性?


对于第一个问题,答案恐怕是悲观的。Shamir(2018)中的引理告诉我们,基于梯度的训练方法,其收敛速率也受维度灾难的影响。而前文提到的Barron space,虽然是建立逼近理论的好手段,但对于理解神经网络的训练却是一个过大的空间。


特别地,这样子的负面结果可以在高度超参数(highly over-parameterized regime)的情形(即m>>n)下得到具体刻画。在此情形下,参数的动力学出现了尺度分离的现象:对于如下的两层神经网络:506690dae6df2445b92acd9843bbe417.png在训练过程中,eac8a986f95c1a11b6ef8fad03753011.png的动力学分别为:0cbe96ae7498e022fc9eb7e8bdc00582.png

由此可以看到尺度分离的现象:当m很大的时候,ff7e2aa62f1052448c3e76fc60ac35d6.png的动力学几乎被冻结住。

这种情形下,好消息是我们有了指数收敛(Du et al, 2018);坏消息却是这时候,神经网络表现得并不比从random feature model模型好。


我们也可以从平均场的角度理解梯度下降方法。令:,并令:则是下列梯度下降问题的解:当且仅当是下面方程的解(参考:Chizat and Bach (2018), Mei, Montanari and Nguyen (2018), Rotsko  and Vanden-Eijnden (2018), Sirignano and Spiliopoulos (2018)):这一平均场动力学,实际上是在Wassenstein度量意义下的梯度动力学。人们证明了:如果其初始值的支集为全空间,且梯度下降的确收敛,那么其收敛结果必然是全局最优(参考:Chizat and Bach (2018,2020), Wojtowytsch (2020))。

机器学习的应用

3.1 解决高维科学计算问题

既然机器学习是处理高维问题的有效工具,我们便可运用机器学习解决传统计算数学方法难以处理的问题。


第一个例子便是随机控制问题。传统方法求解随机控制问题需要求解一个极其高维的Bellman方程。运用机器学习方法,可以有效求解随机控制问题。其思路与残差神经网络颇为类似(参考Jiequn Han and E (2016)):

2ed904be11f74a3e742b45c1d3780595.png

第二个例子便是求解非线性抛物方程。非线性抛物方程可以被改写成一个随机控制问题,其极小点是唯一的,对应着非线性抛物方程的解。



d53d1e67e31d5f631c5524b49993e099.png

3.2 AI for science

利用机器学习处理高维问题的能力,我们可以解决更多科学上的难题。这里我们举两个例子。第一个例子是Alphafold。


b9c75c9fef7c1cdab5ce7278b7fc62a0.png

参考:J. Jumper et al. (2021)

第二个例子,便是我们自己的工作:深度势能分子动力学(DeePMD)。这是能达到从头计算精度的分子动力学。我们所使用的新的模拟“范式”便是:

  • 利用量子力学第一性原理计算提供数据;

  • 利用神经网络,给出势能面准确的拟合(参考:Behler and Parrinello (2007), Jiequn Han et al (2017), Linfeng Zhang et al (2018))。


运用DeePMD,我们能够模拟一系列材料和分子,可以达到第一性层面的计算精度:

f02c0886c9fdb6d30863f504943161cc.png


我们还实现了一亿原子的第一性原理精度的模拟,获得了2020年的戈登贝尔奖:

c1dd335cc75849e6637ec48d9d7b4f0a.png

参考:Weile Jia, et al, SC20, 2020 ACM Gordon Bell Prize

我们给出了水的相图:

45225627e6f086a5fea8aab732c9726b.png参考:Linfeng Zhang, Han Wang, et al. (2021)

而事实上,物理建模横跨多个尺度:宏观、介观、微观,而机器学习恰好提供了跨尺度建模的工具。

c53506e4e9566e8f938403c974515b30.png

AI for science,即用机器学习解决科学问题,已经有了一系列重要的突破,如:

  • 量子多体问题:RBM (2017), DeePWF (2018), FermiNet (2019),PauliNet (2019),…;

  • 密度泛函理论: DeePKS (2020), NeuralXC (2020), DM21 (2021), …;

  • 分子动力学: DeePMD (2018), DeePCG (2019), …;

  • 动理学方程: 机器学习矩封闭 (Han et al. 2019);

  • 连续介质动力学:  36fdc8800518e267fe2f1bac6cc8ec24.png(2020)

在未来五到十年,我们有可能做到:跨越所有物理尺度进行建模和计算。这将彻底改变我们如何解决现实问题:如药物设计、材料、燃烧发动机、催化……

f497a5e39acaa3506fa9bf6feecdec4d.png

总结

机器学习根本上是高维中的数学问题。神经网络是高维函数逼近的有效手段;这便为人工智能领域、科学以及技术领域提供了众多新的可能性。

这也开创了数学领域的一个新主题:高维的分析学。简而言之,可以总结如下:

  • 监督学习:高维函数理论;

  • 无监督学习:高维概率分布理论;

  • 强化学习:高维Bellman方程;

  • 时间序列学习:高维动力系统。

f9490a018c7ebbddb4cf4aaaad5b143f.png
-------- End --------推荐👇同名微信视频号

图解Pandas图文00-内容框架介绍图文01-数据结构介绍图文02-创建数据对象图文03-操作Excel文件图文04-常见的数据访问图文05-常见的数据运算图文06-常见的数学计算图文07-常见的数据统计图文08-常见的数据筛选图文09-常见的缺失值处理图文10-数据合并操作
源码地址: https://pan.quark.cn/s/d1f41682e390 miyoubiAuto 米游社每日米游币自动化Python脚本(务必使用Python3) 8更新:更换cookie的获取地址 注意:禁止在B站、贴吧、或各大论坛大肆传播! 作者已退游,项目不维护了。 如果有能力的可以pr修复。 小引一波 推荐关注几个非常可爱有趣的女孩! 欢迎B站搜索: @嘉然今天吃什么 @向晚大魔王 @乃琳Queen @贝拉kira 第三方库 食用方法 下载源码 在Global.py中设置米游社Cookie 运行myb.py 本地第一次运行时会自动生产一个文件储存cookie,请勿删除 当前仅支持单个账号! 获取Cookie方法 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 按刷新页面,按下图复制 Cookie: How to get mys cookie 当触发时,可尝试按关闭,然后再次刷新页面,最后复制 Cookie。 也可以使用另一种方法: 复制代码 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 控制台粘贴代码并运行,获得类似的输出信息 部分即为所需复制的 Cookie,点击确定复制 部署方法--腾讯云函数版(推荐! ) 下载项目源码压缩包 进入项目文件夹打开命令行执行以下命令 xxxxxxx为通过上面方式或取得米游社cookie 一定要用双引号包裹!! 例如: png 复制返回内容(包括括号) 例如: QQ截图20210505031552.png 登录腾讯云函数官网 选择函数服务-新建-自定义创建 函数名称随意-地区随意-运行环境Python3....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值