在人工智能研究中,“先进的数学”在何种程度上需要/有用?


19

我目前正在学习数学。但是,我不希望将来成为专业的数学家。我正在考虑将我的数学知识应用于人工智能研究。但是,我不确定我应该学习多少门数学课程。(以及我应该学习哪些CS理论课程。)

从Quora,我了解到线性代数,统计和凸优化这两个主题与机器学习最相关(请参阅问题)。有人提到,学习线性代数,概率/需要统计,微积分,基本算法和逻辑来研究人工智能(见这个问题)。

在我们大学的数学学士学位的前1.5年中,我可以了解所有这些主题。

不过,我想知道,是否有一些甚至是研究生水平的数学学科都对学习人工智能有用或什至是需要的。ODE,PDE,拓扑,测度理论,线性分析,傅里叶分析和流形分析又如何呢?

这表明,一些比较先进的数学是人工智能的研究有用的一本书是模式论真实世界的信号的随机分析由大卫·芒福德和Agnes Desolneux(见页)。它包括有关马尔可夫链,分段高斯模型,吉布斯场,流形,李群和李代数及其在模式论中的应用的章节。本书对人工智能研究有多大作用?


22
在这个网站上的2年多的时间里,我已经看到超过六个问题,这些问题的类型为“我需要什么数学...”。Que的答案读起来就像《普林斯顿数学指南》的内容。1)人工智能是一个广阔的领域,其子领域中使用的数学有千篇一律;2)参加基础数学课程,根据兴趣选择更多的高级课程;3)进行AI研究,找到自己喜欢的东西,找到在那里使用的数学;4)我们不知道先验什么样的数学将对这个或那个问题有用。
Sasho Nikolov

Answers:


57

我不想屈服,但您在本科甚至研究生课程中所学的数学并不先进。这是基础。您的问题的标题应该是:AI研究中是否需要/需要“基础”数学?因此,尽我所能,我从来没有遇到过一位计算机科学家抱怨过高的数学知识,尽管我遇到过许多抱怨不懂数学的计算机科学家。我记得曾经帮助过AI的一名研究生了解页面排名样式的算法。对我来说,这只是一些相当简单的线性代数,但他受苦是因为他对特征值和特征向量一无所知。想象一下,如果AI人士真的懂很多数学,他们会做些什么!

我在数学系任教,我经常收到CS同事的要求,推荐CS专业的数学专业学生,因为他们偏爱数学学生。您会发现,数学真的很难真正依靠您自己来学习,但是计算机科学的大多数方面都不是。我知道,我是数学专业的人,就读于CS研究生院。当然,我对操作系统的知识“落后”(尽管对Unix和VMS有一定的了解),但是我对“理论”却遥遥领先。这不是一个对称的情况。


6
测量理论和概率论是所有概率推理的基础。拓扑对于拓扑数据分析非常重要。傅里叶分析对于学习理论很重要(用于了解函数的敏感性以及学习函数的难度),而流形学习则需要对流形几何学有深刻的理解。
Suresh Venkat 2012年

2
@MaxMuller:要继续列出,组理论和代数(如李代数)被广泛用于图像的分解理论中的模式识别中,而拓扑分解是非常需要的(而且李代数和流形之间有很深的联系,您需要一路学习)。诸如Monique Pavel的“模式识别基础”之类的书甚至会向您介绍类别理论及其应用,这在AI中也非常重要,因为它在形式语言和证明理论(可以是推理理论)的基础上使用...
ex0du5

1
过去的前奏级研究生课程,学习数学家他们都对自己的数学(或在读团体和研讨会)..这还不是全部硬,如果你有一定的基础......好吧,你可能很难,但不是不可能。
Sasho Nikolov

1
麦克斯,我也教合气道。我不记得有任何合气道学生问过“为什么我必须学习基础知识(如何跌倒,如何摆脱攻击路线)?” 有时您需要稍微相信您的老师知道他们在做什么。但是,我将第一个承认我们教了很多废话,尤其是在中学和小学,那里教数学的目的就像是要抑制学生的好奇心。但是就您而言,您列出的主题并不是废话。相信我。
Andrej Bauer 2012年

13
还有一点评论。如果您仅学习在CS某些领域已被证明有用的数学,那么您将永远没有机会应用新的数学。您将永远落后。科学是一门艺术,而不是9比5的工作。如果您问我“我应该学习物理,我想进入AI”,我会说“绝对如此!” 如果您问“我是否应该学习社会学,我想进入AI”,我的答案仍然是相同的。
安德烈·鲍尔

6

最多,这是(必要的)部分列表:

基本线性代数和概率在各处都需要。我想您不需要为此的参考。

据我所知,傅里叶分析已用于一些与学习理论相关的研究中。例如,查看本文

多元学习的概念越来越流行,您可以开始看看Mikhail belkin和Partha Niyogi的作品。这方面的工作需要理解与流形和黎曼几何有关的各种概念。

机器学习还有另一个方面,它更深入地扎根于统计信息, 信息几何。该领域与黎曼几何,信息理论,Fisher信息等各种概念有关。此类研究的表亲可以在代数统计学中找到,这是一个新兴的领域,具有很大的潜力。

渡边森男(Sumio Watanabe)研究了学习模型中奇异性的存在以及如何应用代数几何的深层解析结果来解决许多问题,这是一个不同的领域。渡边的结果很大程度上取材于广中海介辅(Heisuke Hironaka)的著名作品,该作品为他赢得了菲尔兹奖。

我想我忽略了许多其他领域,这些领域需要相对繁重的数学运算。但是正如安德烈(Andrej)所指出的那样,它们中的大多数可能并不位于数学的前沿,而是相对较早建立的领域。

无论如何,我认为进入主流计算的AI的当前状态(例如在Amazon的推荐系统中或在Apache Mahout中找到的机器学习库)不需要任何高级数学。我可能是错的。


2

取决于您对高级的定义以及您想学习哪种AI。

AI中的许多问题都是难以解决的-POMDP的最佳解决方案可以证明是NP-Complete,DEC-POMDP的最佳解决方案可以证明是NEXP-Complete等。及其理论基础就更好了。(除了测度理论等,还需要真正理解构成POMDP模型基础的贝叶斯概率。)

尤其是多主体人工智能与博弈论相交。因此了解博弈论是有帮助的,而博弈论又取决于拓扑,测度理论等。同样,博弈论中的许多问题都是棘手的。有些甚至在近似下很难处理,甚至理解何时可以进行有效近似也需要大量的数学运算。

(我注意到,在过去的几年中,博弈论者在诺贝尔经济学领域一直有不错的表现,这本质上是数学上的。我预测,在二十年后的今天,今天的算法博弈论者将处于同一水平位置。)


1

人工智能所涉及的数学不是高级的,并且是在本科阶段教授的。AI训练和推理算法属于高级计算机科学领域。

这有点文字游戏。研究AI时也应包括一些历史。

例如,在当前的术语中,深度学习似乎是AI中的流行关键字。

深度学习曾经被称为人工神经网络(ANN),例如Hinton的反向传播感知器网络模型(BACKPROP)等。

例如,与BACKPROP ANN相关的数学是用于训练的导数演算,以及用于推理的矩阵代数。

深度学习的新方面是训练和推理算法的物理分离。CPU仍用于训练,但现在GPU用于推理。

例如,使用校正导数演算通过反向传播误差对ANN矩阵进行训练(加权)。这最适合于CPU,并且每个ANN部署只需执行一次。

然后将ANN部署在高度并行的GPU架构中。前向推理数学涉及为GPU设计的密集矩阵代数。

与以前的基于CPU的部署相比,这将部署的ANN的性能提高了几个数量级,并且可以在任意数量的专用GPU上更有效地扩展。

英伟达(Nvidia)和AMD(AMD)等公司现在都在销售非常高端的GPU芯片组,如深度学习机。GPU一词一直有点用词不当,因为它们实际上是通用的并行处理器。例如,GPU在区块链应用程序中有时也称为Bitminer。

原来是旧的现在是新的。所涉及的数学并没有改变,只是计算机科学的术语(主要是由于市场压力)。

AI一词一直被认为是一匹黑马。深度学习现在是政治上正确的,市场友好的术语。


2
一个以前的答案已经给出反例在第一个句子的要求。(还有许多其他答案。)您在发布之前是否已阅读了先前的答案?您可能需要编辑此答案以缩小要求范围。
DW

2
您认为“ CPU仍用于训练[深层网络],但现在GPU用于推理”的说法颇具误导性(如果不正确的话)。每个人都在GPU上训练现代神经网络。大多数人也将它们部署在GPU上,但是某些部署环境(例如某些手机)仍然使用CPU。
Mike Izbicki '17

我同意麦克。与说“ CPU用于训练而GPU用于推理”相比,“ GPU用于训练而CPU用于推理”的正确性要低得多
ASDF

@MikeIzbicki深度学习需要使用CUDA,OpenCL等管道体系结构进行培训,而深度学习在很大程度上依赖于CPU内核进行纠错。推理管道仅需要CPU内核来提供和获取GPU内核。目标是功率和热效率,这就是为什么核心类型之间的平衡在训练和推理之间转换的原因。我已经说过了。
Birkensocks

-1

人工智能是一个广阔的领域,具有多种可能的途径。有些是极度数学的,有些则很少涉及数学。其他人已经为更多的数学方法给出了很好的答案。您指出的主题中-

“线性代数,概率/统计,微积分,基本算法和逻辑”

-您基本上确实需要或将从中受益。许多方法至少部分地直接基于概率和统计数据-启发式,神经网络,遗传算法,模糊逻辑。微积分同样有用-在AI或一般计算科学中,您几乎可以在任何地方找到它。线性代数也是您绝对需要的。

从CS / AI角度来看,最重要的两个主题是算法和逻辑,算法是计算科学的真正心脏,逻辑是算法的基础“语言”。学习算法的关键在于学习如何编程,熟练基本编程的实践是几乎所有计算机科学或AI学科的最重要基础之一。编程也是大学并不总是特别擅长的一项技能。逻辑对于AI的大多数分支也确实至关重要。布尔逻辑,谓词演算,符号逻辑,排列的基础理论,设计层次结构,递归,有限状态机,图灵机,CPU设计等。在这里,我们实际上是从数学逐步过渡到计算科学领域。

扩展到我自己的“强大的AI”数学领域起着潜在但绝对必不可少的作用。对基础数学的很好理解可能比高级数学更重要,但是实际上,您学到的任何东西都可能有用。在诸如“强人工智能”这样的新生领域中,真正的问题是所有事物都在空中传播,因此该领域处于总通量之中。
可能有用的主题包括-神经网络,遗传算法,神经学,遗传学,心理学,控制论和机器人技术,3D图形理论,图像处理理论,计算机游戏设计,哲学,艺术理论,数字电子学,语言学理论。像这样的阅读是最重要的学习方式之一。对我来说,几本书是起点–罗杰·彭罗斯(Roger Penrose)的《皇帝新思想》(Emperors New Mind),RL格雷戈里(RL Gregory)的《眼与脑》(Eye and Brain),但真正的见解几乎可以来自任何地方

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.