Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

为什么科技互联网公司越来越重视数学?贾扬清等大牛如是说


最近,第二届「阿里巴巴全球数学竞赛」正在紧锣密鼓地开展,仅预选赛题目的公布就引来了大量围观。这种数学竞赛的举办似乎透露出一个信号:科技互联网公司越来越重视数学了。为什么会出现这种现象?数学好的人才对这些企业有多重要?在知乎的一个问题讨论中,阿里巴巴技术副总裁贾扬清、达摩院语音实验室负责人鄢志杰等业内大牛给出了自己的看法。
原贴链接:https://www.zhihu.com/question/376741737/answer/1059438493

贾扬清认为,在做工程的过程中,基础数学方法的创新可以形成降维打击,如大幅度减少计算量。同时,数学也是一种思维方式的锻炼,可以帮助我们提升认知水平。

鄢志杰认为,互联网公司所看重的是数学中蕴含的「源动力」。对于互联网科技公司而言,用好数学就意味着更高的效率、更好的服务,同时也支撑了上层应用的突破。

两位研究者的观点得到了上千人的赞同。以下是回答原文:

贾扬清:数学方法的创新可以形成降维打击

从帮助实际应用的角度来说,懂基础数学,同时愿意上手尝试的人,是最好的综合性人才。具体来说有两点:

  • 基础数学可以提供可以证明的方法突破。
  • 基础数学和工程实践是一个乘法关系,可以相互放大它们的影响。

在最近人工智能的科研和实践当中,很不为大家所知的一点是计算的加速,因此我就举一个计算加速的例子。

卷积神经网络当中,最花时间的一个计算就是卷积计算:它耗费的时间是如此之多,以至于在一个图像识别模型当中,绝大多数(超过 90%)的计算量,都是花在卷积上面的。非常多的框架软件,硬件芯片设计,等等,都在解决这样一个问题:我要算一堆乘法和加法,我怎么让每个乘法和每个加法算得更快?更直白点讲,就像用算盘拨算珠,我怎么把我手指头弄得更快?

但是从数学的角度来说。。。我为什么不能索性少算一点呢?

「我可以证明我能少算一点」

这个正是在 2015 年的时候,Andrew Lavin 和 Scott Gray 做的一件事情:他们通过一个称作 Winograd 的数学方法证明说,对于 3*3 的卷积(这是绝大多数当时模型当中的卷积参数),他们可以将卷积当中的乘法计算量降低到之前的九分之四:也就是说,可以在理论上将计算速度提高 2.25 倍。

我们辛辛苦苦调了那么多程序,用 SIMD、cache locality 等等,都是在挤牙膏,一下子提升 2.25 倍理论性能是不是很诱人?

因为 Winograd 的具体解释比较琐碎,所以我用一个它的前身——Strassen 的快速矩阵算法——来解释一下。

我们都知道,如果我们需要计算两个矩阵的乘积,我们需要计算一系列乘法和加法:

最简单的情形,如果我们需要计算两个 2*2 的矩阵的乘积,那么通过矩阵乘法的定义,可以这样计算:


因此我们需要做 8 次乘法和 4 次加法(每一个 C 矩阵当中的值需要两个乘法和一个加法)。用更加数学的方式来说的话,对于两个 n*n 的矩阵乘法,最简单的算法应该会涉及到 n^3 次乘法和 n^2(n-1) 次加法。也即 O(n^3) 复杂度。也许你会觉得这是个不可思议的事情:这都已经是定义了,那我肯定得把这八个乘法都给算一遍,怎么能省下来呢?

Strassen 在他 1969 年的文章中提到,我们在数学上其实可以做得更好。拿上面的 2*2 矩阵为例子,我们可以构造一系列很有意思的中间数:

一共用到 7 次乘法以及 10 次加法。

这样,我们的 C 矩阵就可以这样来算:


最终,我们用到了 7 次乘法和 18 次加法。通过数学的变换方式,我们将乘法的数量成功降低了八分之一:这个是理论上可以证明的。

当然,一个显然的问题就是,为什么我们要关注乘法,而不是关注加法数量?这个和实际应用有关系:一般而言,我们认为乘法比加法所需要的计算更加复杂,所以我们会关注乘法的数量;另外,上面的所有计算当中,小写的 a/b/c/m 都可以从简单的数字变成子矩阵:而子矩阵的乘法(O(n^3) 复杂度)比子矩阵的加法(O(n^2) 复杂度)要复杂很多,所以减少乘法的数量是对于运算更加有效的。

我觉得这就是基础数学(或者说,也许这个还不是基础,还有点偏向应用)的好处:在我们埋头做工程的时候,有时候抬起头来一看,哇,数学方法的创新可以形成降维打击。这是最让人兴奋的地方。

基础数学和工程实践是一个乘法关系。

如果你觉得今天所有的矩阵计算都在用 Strassen 算法,那你就错了:在实际应用当中,Strassen 算法还面临着很多其他的挑战:
  • 实际的浮点数是有比特数限制的,Strassen 算法因为使用多次加法,数值的稳定性会差。也就是说,「算不准」。

  • 理论上的加速,还需要和硬件关联起来。现在的硬件因为乘法和加法在指令集层面的结合(fused multiplication and addition, FMA)以及指令流水线的缘故,最底层的乘法和加法如果不平衡,反而会造成减速

  • 在通过 Strassen 算法做矩阵的乘积的时候,还需要考虑具体实现当中的 cache locality 的问题

如此种种。Winograd 也是类似:今天,Winograd 出来以后,在现有的深度学习加速库 Winograd 在许多新的应用当中,因为越来越多地使用到 separable convolution,depthwise convoluiton 等等,因此,也不一定是任何的 convolution 都能用上。

应该说,工程实践经常是一个很「脏」的事情:环境不同,需求不同,不一定每一个很空灵的数学成果都能够实际落地下去。这个时候就特别需要「有手感」——一方面需要懂数学,一方面要能够懂需求。

不过,最后话说回来,这个问题兴许除了目标导向,「什么有用」之外,还有另一层更长线的原因:数学本身就是一个非常锻炼思维的场景,如果我们需要提升自己的认知水平和技能,那就需要在数学化、逻辑化思维上面多做训练。数学也许没有直接的用处,但是懂数学,触类旁通,这个肯定是有用处的。

鄢志杰:数学在很多方面乃是互联网的灵魂

曾经看过一个漫画,说的是化学、物理与数学的区别。时间有些久了,但意思还大概记得:

第一格漫画里画的是两个化学家,其中一个惊呼:「完了!药品的配方算错了!」,结果「砰」的一声,做实验的大楼爆炸了;第二格漫画里画的是两个物理学家,其中一个惊呼:「完了!小行星的轨道算错了!」,结果「砰「的一声,小行星撞上地球,人类灭亡了;第三格漫画里画的是两个数学家,其中一个惊呼:「完了!费马大定理证错了!」,结果呢,什么都没有发生。

这就是数学,它有时是如此重要,而有时却是「无用之美」。当今的科技互联网公司,越来越重视基础数学,正是看中了它所蕴含的最最基础的「源动力」。可以说,数学在很多方面乃是互联网的灵魂。

你若不信,试举几例。

互联网是一个典型的分布式系统,无数的计算机通过网络连接和通讯。那么问题来了:在一个分布式系统中,由于各台计算机自身的时钟是无法做到精确一致的。当计算机 A 和 B 分别通过网络向计算机 C 发送了事件 a 和 b,在 C 接收到这两个事件后,怎么能知道是 a 事件先发生、还是 b 事件先发生呢?这个问题是如此简单,但又是如此重要。如果这个问题无法确定,分布式系统的时间先后次序将会乱作一团。

好在有数学前来帮助。Lamport 在 1978 年的一篇论文《Time, clocks, and the ordering of events in a distributed system》中,用数学的方法证明了一个 bound。使用 logical clock 的概念,使事件的相对时间关系变得有序。这项工作构成了分布式系统中时间这一基本概念的基础,Lamport 也因为这一贡献(以及其它一系列贡献)获得了 2013 年图灵奖。没有数学的贡献,互联网不会是今天的样子。

再拿大家都在使用的淘宝来说。今天,打开淘宝搜索,每一个 query 背后的分布式处理都需要用到数学;如果您使用语音搜索、拍立淘等等 AI 搜索,背后的深度学习算法无不是数学;当你下单完毕,网购的包裹如何最高效的装箱、并且预测您的快递在何时到达某地,也都需要数学;打开淘宝直播,高清的视频编解码还是需要用到数学。可以说,数学的应用已经超越了普通大众难以理解的分布式系统时钟同步,悄然的融入了我们生活的方方面面。对于互联网科技公司而言,用好数学就意味着更高的效率、更好的服务。

在互联网金融领域,同样的事情也已经发生。在电影《21》(中文名《决胜 21 点》)中,MIT 的天才数学家团队,以记忆、心算及团队合作,借由数学的计算横扫拉斯维加斯,也让「大吉大利,今晚吃鸡」(Winner Winner Chicken Dinner」)的俗语火了起来。今天,已经有不少金融科技公司通过高频交易等手段去操作转瞬即逝的套利机会。区块链技术及其之上的数字货币,发展方兴未艾。数学背后隐藏着巨大的商业机会,今天的互联网科技公司具备将数学与商业链接起来的先天优势,这也正是它们越来越重视基础数学的源动力。

在 AI 方面,数学模型同样作为基石,支撑了上层应用的突破。拿笔者所从事的语音技术研发来说,从 GMM-HMM 及其背后的 maximal likelihood estimation,到 deep neural networks 及其背后的 stochastic gradient descent,数学模型在语音识别领域的应用不断推动准确率提升,让很多此前难以想象的语音识别应用成为现实。

不难看出,数学仍然是、且必将继续是当代和未来诸多应用技术的基础。在错综复杂、瞬息万变的当下,数学之美带给这个世界更多的确定性。它是如此简单,可以在喧嚣之下让人类洞见本质。它又是无比复杂,即便用 0 和 1 也能够去表征万物。

丘成桐:数学理论缺乏突破是 AI 领域存在诸多瓶颈的本源

除了以上两位业内研究者,部分数学家也发表过对类似问题的看法。

在去年 10 月份的中关村论坛上,菲尔兹奖首位华人获得者、美国国家科学院院士、哈佛大学教授丘成桐曾呼吁,国家应该更加重视基础科学和数学的发展。

人工智能领域,算法、数据、算力的突破推动了这一领域的蓬勃发展,但数学领域却没有多少突破。丘成桐认为,这正是当前人工智能发展面临诸多瓶颈的本源。

去年 11 月,科技部办公厅 、教育部办公厅 、中科院办公厅、自然科学基金委办公室四部门联合印发《关于加强数学科学研究工作方案》。此外,部分高校人工智能专业也非常重视数学基础的培养。正如丘成桐教授所说,没有基础科学的发展,应用科学发展不来,这也是科技公司越发重视数学的原因所在。

参考链接:https://new.qq.com/omn/20191017/20191017A0AJAN00.html

入门阿里巴巴贾扬清数学
1
相关数据
区块链技术

区块链是用分布式数据库识别、传播和记载信息的智能化对等网络, 也称为价值互联网。 中本聪在2008年,于《比特币白皮书》中提出“区块链”概念,并在2009年创立了比特币社会网络,开发出第一个区块,即“创世区块”。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

降维技术

降维算法是将 p+1 个系数的问题简化为 M+1 个系数的问题,其中 M<p。算法执行包括计算变量的 M 个不同线性组合或投射(projection)。然后这 M 个投射作为预测器通过最小二乘法拟合一个线性回归模型。两个主要的方法是主成分回归(principal component regression)和偏最小二乘法(partial least squares)。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

阿里巴巴机构

阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的18人于1999年在浙江杭州创立的公司。

https://www.alibabagroup.com/
区块链技术技术

所谓区块链技术,简称BT(Blockchain technology),也被称之为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录

知乎机构

知乎,中文互联网综合性内容平台,自 2010 年成立以来,知乎凭借认真、专业、友善的社区氛围,独特的产品机制,以及结构化、易获得的优质内容,聚集了中文互联网科技、商业、影视、时尚、文化等领域最具创造力的人群,已成为综合性、全品类,在诸多领域具有关键影响力的内容平台。知乎将AI广泛应用与社区,构建了人、内容之间的多元连接,提升了社区的运转效率和用户体验。知乎通过内容生产、分发,社区治理等领域的AI应用,也创造了独有的技术优势和社区AI创新样本。

zhihu.com
推荐文章
暂无评论
暂无评论~