博舍

科学网—人工智能背后的数学 人工智能要学高数吗

科学网—人工智能背后的数学

人工智能背后的数学精选

已有14108次阅读2020-8-2108:59|个人分类:读书札记|系统分类:海外观察

    计算机会“思维”、Agent(智能体)能感知环境、机器可从经验中学习,其背后离不开数学——从线性代数、概率统计到拓扑学众多数学分支。这篇读书札记讨论人工智能背后的数学。

【人工智能离不开数学】

术语“人工智能(AI)”由两个词组成,“人工”和“智能”。“人工”一词意味着人造,而“智能”一词则意味着思维能力(如,学习、推理和解决问题)。因此,可以说,人工智能是人造的思维能力。有些人工智能教科书将这一领域定义为研究“Agent(智能体)”——任何能够感知环境并采取行动,以最大限度地提高成功实现目标的机会的设备。机器学习(ML)是近年来发展最为迅速的人工智能的一个子集。它研究通过经验自动改进的计算机算法,为系统提供从经验中学习的能力,其主要目标是让计算机在不受人类干预的情况下自动学习并进行相应的调整。这里所谓人工智能的学习、推理和解决问题的能力,Agent(智能体)感知环境和采取行动的能力,机器学习的通过经验自动改进算法的能力,其背后均离不开数学。

RichardE.Neapolitan和XiaJiang著的《ArtificialIntelligencewithanIntroductiontoMachinelearning(人工智能与机器学习导论)》一书第二版(参考资料[1]),由5个部分组成,讨论了人工智能的5个主要研究领域:逻辑智能、概率智能、涌出智能(EmergentIntelligence,基于群体智能的进化计算和方法)、神经智能(神经网络和深度学习)和语言理解。

人工智能早期的成功,是建立在逻辑推理模型的基础上的。基于这种逻辑推理的人工智能模型是该书的第一部分的重点。在20世纪70年代,越来越明显的是,人类做出的许多判断都涉及不确定或概率推断。到20世纪90年代,这种概率推理的建模,在人工智能中变得司空见惯。概率推理是该书的第二部分的重点。智能行为并不局限于人类的推理。基于自然选择模型开发了有用的算法。非智能实体在群体中的行为有时会产生一种称为群体智能的涌现智能。该书的第三部分讨论了基于涌现智能的算法。最近神经网络在被称为深度学习领域的应用得到了新生,它已经成功地应用于计算机视觉和语音识别等领域。该书的第四部分致力于神经网络和深度学习。最后,第五部分讨论了人工智能的一项重要工作,即自然语言理解。

显然,人工智能这五个主要研究领域背后的数学,不尽相同。所以,如果问“人工智能背后的数学是什么?”,从不同人工智能研究者,可能得到不同的答案。

有许多数学分支有助于人工智能和机器学习。例如,拓扑学是一门纯数学的学科,然而,拓扑数据分析(TDA)是一种利用数据中的拓扑特征,寻找数据集结构的应用数学方法。顾名思义,TDA利用了拓扑学的思想。TDA为数据分析提供了一个通用的框架,其优点是能够从大量高维数据中提取信息,并具有抗噪声的稳定性。TDA在短短的几年内得到了长足的发展,包括:聚类、流形估计、非线性降维、理解时间序列、模式估计和岭估计等。TDA已经成功地发现了许多大型复杂数据集中的信息。TDA结合了代数拓扑和统计学习的工具,为研究数据的“形状”提供了定量基础。拓扑数据分析技术正在与我们今天所熟悉的人工智能技术相结合。早期的例子是计算机视觉拓扑学(参考资料[2])。拓扑数据分析量化了大原始噪声数据中隐藏的拓扑结构,将拓扑数据分析和机器学习结合起来,可用于解决计算机视觉实际问题,以及更深入的理解数字图像。又如,深度神经网络的拓扑学。深度神经网络是一种强大而迷人的方法,用于研究各种数据(包括图像、文本、时间序列和其他许多数据)取得了巨大成功。然而,限制其适用性的一个问题是,人们对其内部的工作原理缺乏任何详细的了解。对卷积深神经网络的内部状态进行拓扑数据分析,可以了解它们所执行的计算(参考资料[3])。神经网络还可以通过改变拓扑结构来运行,将拓扑结构复杂的数据集,转换为拓扑简单的数据集(参考资料[4])。TDA是一个快速发展的领域,在机器学习、应用和计算拓扑学领域吸引了越来越多的实践者和研究者的兴趣。因此,有人称:“拓扑数据分析可以说是机器学习趋势的先锋,因为它的细粒度模式分析取代了传统的有监督或无监督学习”(参考资料[5])。也许“拓扑智能”也会成为未来的一个重要的研究领域。

没有人精通所有数学(即使是数学家,也不一定精通全部所有数学知识),更不可能要求实际工作者掌握全部所有数学知识,但应该掌握有关研究领域的数学基础知识。微积分、代数、线性代数、概率统计的基础知识,将会很重要。

【机器学习中的数学基础新书】

数学是机器学习的基础,对理解这个领域的基础至关重要。机器学习涉及哪些基本数学工具呢?约书亚•本吉奥等著的《深度学习》(被称为“深度学习”的圣经)一书(参考资料[6])中,介绍理解深度学习所需的基本数学概念包括:线性代数、概率与信息论、数值计算三个应用数学基础。而莎朗·萨克塞纳(SharonSaxena)在一篇题为《机器学习背后的数学-你需要知道的核心概念》(参考资料[7])文章中,则提出线性代数、多元微积分和概率统计三个应用数学基础。两者都列有线性代数和概率统计。下面介绍三种机器学习中的数学基础新书,这些书尤其适合自学。

[应用线性代数导论——向量、矩阵和最小二乘法]

线性代数是研究线性方程组及其变换性质的学科。线性代数可用于分析空间中的旋转,最小二乘拟合,求解耦合微分方程,以及许多其他数学、物理和工程问题。例如,线性代数是现代几何的基础,包括定义基本对象,如直线、平面和旋转。这个数学分支涉及方程,有助于获得关于不同变量如何影响机器学习中需要预测的值。然而,由于线性代数是一种连续形式而非离散形式的数学,许多计算机科学家对此没有经验。对线性代数的良好理解对于理解和使用许多机器学习算法,特别是深度学习算法至关重要。

斯坦福大学教授斯蒂芬·博伊德(StephenBoyd)的新书《IntroductiontoAppliedLinearAlgebra——Vectors,Matrices,andLeastSquares(应用线性代数导论——向量、矩阵和最小二乘法)》(参考资料[8]),本书简称VMLS,提供对应用线性代数的基本主题——向量,矩阵和最小二乘法的介绍。目标学习线性代数的基础理论和技能,并了解它们的应用,包括数据拟合、机器学习和人工智能、断层扫描、导航、图像处理、金融,自动控制系统。

VMLS下载地址:https://web.stanford.edu/~boyd/vmls/

VMLS提供配套的《JuliaLanguageCompanion》,可以在复习数学概念的同时,学习最新的Julia语言。实际上,我去年读VLMS,是为了学习利用Julia语言数据分析编程。学习Julia语言主要有三个原因:性能、简单性和灵活性。在人工智能社区,现在主流编程语言是Python。但是,Python的运行效率慢,因而,许多大型科学与计算软件仍然使用C++或Fortran编写。现在Julia将Python和Matlab的高生产率和易用性与C++和Fortran的闪电般速度相结合,正在迅速成为科学与工程计算、人工智能和机器学习领域主要的有竞争力的语言。由于Julia语言是新推出的语言(2018年8月MIT正式发布编程语言Julia1.0),有关与之配套的应用数学书籍不多见。

[Julia统计学:数据科学、机器学习和人工智能基础]

统计学是一组工具的集合,可以使用这些工具来获得有关数据的重要问题的答案。可以使用统计方法将原始观察结果转换为可以理解和共享的信息,可以使用统计推断方法从小样本数据推理到整个领域。统计学通常被认为是应用机器学习领域的先决条件。机器学习和统计学是两个密切相关的研究领域。概率统计方法的使用,为机器学习提供了利用、分析和呈现原始数据的正确途径。机器学习应用统计方法,导致了语音分析和计算机视觉等领域的成功实现。

上述的VMLS是我读到的第一本具有Julia配套示例的应用数学教科书。另外一本正在读的是关于统计学的,约尼·纳扎拉西(YoniNazarathy)和海登·克洛克(HaydenKlok)著,题为《StatisticswithJulia:FundamentalsforDataScience,MachineLearningandArtificialIntelligence(Julia统计学:数据科学、机器学习和人工智能基础)》。预计这本书将于2020年底通过斯普林格(Springer)出版,不过,其草稿可以在如下网址下载(草稿预先发布的做法,有利于提前交流和完善书稿):

https://statisticswithjulia.org/StatisticsWithJuliaDRAFT.pdf

这本书的草稿包括:介绍Julia、基本概率、概率分布、数据处理与汇总、统计推断概念、置信区间、假设检验、线性回归、机器学习基础和动态模型仿真等十章,具有完整的内容结构和使用juliav1.4和近40个包的完整代码库,以及总共212个代码示例。

掌握人工智能背后的数学,不同于传统的数理研究。17世纪牛顿-胡克数学家之战时代的数学,要用笔和纸来钻研定理、推导和问题,然后第二天互相挑战。20世纪上半叶爱因斯坦-玻尔思想实验之争的时代,通过使用想象力进行的实验,说服对方。在21世纪,这些并非是学习新概念的唯一方法,更非最佳方式。研究人工智能中的数学,应该更加关注任何给定表达式的直觉和几何解释,理解这些令人费解的表达式背后的含义,关注发生了什么,为什么会发生。利用像NumPy这样的计算库,帮助进行计算试验,往往更有意义。所以,机器学习的实践者在学习数学的同时,离不开如同Python或Julia这样计算机编程语言。

[机器学习中的数学]

2019年,剑桥大学出版社出版了一本MarcPeterDeisenroth,A.AldoFaisal,ChengSoonOng著的新书《MathematicsforMachineLearning(机器学习中的数学)》(参考资料[9])。根据作者的说法,《机器学习中的数学》的目标是提供必要的数学技能,以便随后阅读有关更高级机器学习主题的书籍。

该书把基础(数学)概念从应用中分离出来,分成两个部分。第一部分涵盖了纯数学概念,包括线性代数、解析几何、矩阵分解、向量微积分、最优化、概率和统计学,没有涉及到机器学习。第二部分将重点放在利用这些概念推导出四种主要的机器学习方法:线性回归、主成分分析、高斯混合模型和支持向量机。对于学生和其他有数学背景的人来说,这些推导为学习机器学习提供了一个起点。对于第一次学习数学的人来说,这些方法有助于建立运用数学概念的直觉和实践经验。本书采用模块化编写的方式,可以用两种方式阅读:自下而上——从基础到更高级的概念;自上而下——从实际需求深入到更基本的需求。下图表示在这本书中所涵盖的机器学习的四个支柱和在第一部分介绍的数学基础。

来源:参考资料[9]图1.1

下图截取自书中,表示第2章介绍的线性代数概念有关概念及其与书中其它部分关系:

来源:参考资料[9]图2.2

每一章都包含了测试理解力的实例和练习(第一部分提供的练习主要是用笔和纸来完成的)。该书的网站上还提供了在第二部分中讨论的机器学习算法编程教程(jupyter笔记本)。

剑桥大学出版社支持免费下载本书,网址为:

https://mml-book.com

这里介绍的三本教科书,具有注重数学理论基础和应用实践结合,并伴随有编程示例的特点。

【结语】

国内去年一度盛传的“徐匡迪之问”——“中国有多少数学家投入到人工智能的基础算法研究中?”引发过共鸣,不但为学术界所关注,也推动业界重视数学模型的研究和算法设计的创新。

据报道,2020年8月11日,著名科学家姚期智在受聘同济大学名誉教授举行的学术报告会上,分享了对当前人工智能(AI)研究(人工智能的科学基础、神经拓扑结构——神经网络研究的新视角、隐私保护学习、可控超级智能等)和相关人才培养的思考。报导强调,“AI离不开数学,但AI面临的问题不全是数学问题”(参考资料[10])。

在海外的一些大学里,计算机科学系的学生通常在接受数学和统计学方面的培训并不多。目前的机器学习教科书,也主要集中在机器学习的算法和方法上,并假设读者已经掌握数学和统计学,因此,这些书只花一两章介绍背景数学,或在书的开头或作为附录。许多人想深入研究基本机器学习方法的基础,就需要补充阅读机器学习所需的数学知识。所以,加强数学和统计学基础训练非常必要。

参考资料:

[1]RichardE.Neapolitan,XiaJiang.ArtificialIntelligence.Taylor&FrancisGroup,LLC2018

[2]GerhardX.Ritter.TOPOLOGYOFCOMPUTERVISION.TopologyProceedings.Volume12,1987Pages117–158

[3]GunnarCarlssonandRickardBrüelGabrielsson.TopologicalApproachestoDeepLearning.TopologicalDataAnalysis.TheAbelSymposium2018(EditedbytheNorwegianMathematicalSociety).SpringerNatureSwitzerlandAG2020

[4]GREGORYNAITZAT,ANDREYZHITNIKOV,ANDLEK-HENGLIM.TOPOLOGYOFDEEPNEURALNETWORKS.arXiv:2004.06093v1[cs.LG]13Apr2020

https://arxiv.org/pdf/2004.06093.pdf

[5]insidebigdata.Tomorrow’sMachineLearningToday:TopologicalDataAnalysis,Embedding,andReinforcementLearning.February14,2020

https://insidebigdata.com/2020/02/14/tomorrows-machine-learning-today-topological-data-analysis-embedding-and-reinforcement-learning/

[6]伊恩·古德费洛,(加)约书亚·本吉奥,亚伦·库维尔.深度学习.人民邮电出版社.2010

[7]SharoonSaxena.MathematicsbehindMachineLearning–TheCoreConceptsyouNeedtoKnow.AnalyticsVidhya.October15,2019

https://www.analyticsvidhya.com/blog/2019/10/mathematics-behind-machine-learning/

[8]StephenBoydandLievenVandenberghe.IntroductiontoAppliedLinearAlgebra–Vectors,Matrices,andLeastSquares.CambridgeUniversityPress.2018

[9]MarcPeterDeisenroth,A.AldoFaisal,ChengSoonOng.MathematicsforMachineLearning.Cambridge.2018

[10]吴金娇.AI离不开数学,但AI面临的问题不全是数学问题.文汇报.2020-08-12.《科学网》转载地址:

http://news.sciencenet.cn/htmlnews/2020/8/444052.shtm

 

https://blog.sciencenet.cn/blog-3005681-1247238.html上一篇:人工智能的下一个应用领域:E&P数据分析下一篇:GPT-3:人工智能的新突破收藏IP:223.20.60.*|热度|

为什么数学对人工智能至关重要

线性代数有助于产生新的想法,这就是为什么它是人工智能科学家和研究人员必须学习的东西。他们可以用标量、向量、张量、矩阵、集合和序列、拓扑、博弈论、图论、函数、线性变换、特征值和特征向量的概念来建立模型。

向量

矩阵理论

在科幻电影中,你通常会看到,通过执行一些类似于神经系统的计算结构,产生了一个神经网络,它生成神经元之间的连接,以匹配人类大脑的推理方式。将矩阵的概念引入到神经网络的研究中

神经网络可以通过形成三层人工神经元来实现非线性假设:

1.输入层

2.隐藏层

3.输出层

人工智能科学家根据神经网络的隐藏层数量及其连接方式对其进行分类

这些人工神经元可以形成神经网络,这花了大约20年的时间才发现。

特征向量

搜索引擎排名的科学是建立在数学科学的基础上的。页面排名,这正是谷歌作为一家基于数学视角的公司的基础。页面排名是一种算法,最初由拉里·佩奇和谢尔盖·布林在他们的研究论文《大型超文本Web搜索引擎的剖析》中提出。在这一巨大突破的背后,使用了数百年来众所周知的特征值和特征向量的基本概念。

机器人爬虫程序首先检索网页,然后通过分配页面排名值对其进行索引和编目。每个页面的可信度取决于该页面的链接数。

给定页P的秩r(P)假定为,

为了得到收敛速性和收敛速度,对矩阵P进行了调整。当矩阵P的和达到1时,称之为行随机矩阵。页面等级迭代表示一个马尔科夫链的演化,其中web有向图表示为转移概率矩阵P。

它显示了随机浏览者在三个页面中任意时间点的概率。

首先建立一个二元邻接矩阵来表示链路结构,然后将其规范化为概率矩阵。

要计算页秩,必须求解线性系统的特征向量问题,

随机矩阵P的特征值可以假定为1>λ1≥λ2≥…=λn,

V1,V2,V3,…,Vn是对应的特征向量。

经过收敛过程,矩阵P的主特征值应满足λ=1,

这是马尔可夫模型的稳态分布。

PageRank收敛过程如图所示,

这就是Google自动描述每个站点的页面排名值的方式。

微积分

微分学、多元微积分、积分学、梯度下降法的误差最小化和最优化、极限、高级逻辑回归都是数学建模中用到的概念。一个精心设计的数学模型被用于生物医学领域,以高保真度模拟人类健康和疾病的复杂生物学过程。

硅模型是人工智能方法在生物医学中的应用,是一种完全自动化的模型,不需要人体样本、动物实验、临床试验或实验室设备。模型中使用了一个微分数学方程来检验新的力学假设和评估新的治疗靶点。它是最便宜和最方便的方法来研究人类生理学,药物反应,和疾病更准确地通过操纵数学模型参数。

概率

在人工智能的世界里有很多抽象的问题。你可能会经历许多形式的不确定性和随机性。概率论提供了处理不确定性的工具。为了分析一个事件发生的频率,使用了概率的概念,因为它被定义为一个事件发生的机会。

让我们考虑一个机器人。机器人只能向前移动一定的时间,但不能移动一定的距离。为了让机器人前进,科学家们在它的程序设计中使用了数学。离散随机变量、连续随机变量、贝叶斯公式和归一化是一些概率论的概念,它们与线性代数的其他概念一起用于机器人导航和移动。数学和机器人是广泛的领域,我将在下次详细讨论。

最后忠告:

不管你是想成为一名机器学习工程师、数据科学家还是机器人科学家,你都需要精通数学。数学可以提高分析思维能力,这在人工智能中是至关重要的。人工智能科学家认为,人们对人工智能的看法是,它完全是魔法,但它不是魔法,而是创造所有发明背后的魔法的数学。所以,要在如今这个人工智能驱动的世界中占据领导地位,你需要有很强的数学天赋。返回搜狐,查看更多

五分钟搞定人工智能数学之高等数学

ERROR1820(HY000):YoumustresetyourpasswordusingALTERUSERstatementbeforeexecutingthisst

CSDN-Ada助手:非常感谢博主分享这篇博客!遇到ERROR1820(HY000)需要重设密码的问题时,一定要按照ALTERUSER命令来重设密码。这篇博客对于MySQL数据库的用户来说十分有用。接下来,我们期待博主继续为我们带来更多高质量的技术博文!如果需要主题建议,我们推荐博主写一篇关于MySQL数据库的简单入门指南,为初学者提供更好的学习方法。为了方便博主创作,提高生产力,CSDN上线了AI写作助手功能,就在创作编辑器右侧哦~(https://mp.csdn.net/edit?utm_source=blog_comment_recall)诚邀您来加入测评,到此(https://activity.csdn.net/creatActivity?id=10450&utm_source=blog_comment_recall)发布测评文章即可获得「话题勋章」,同时还有机会拿定制奖牌。

var.detach().numpy()instead.pytorchTensor转numpy报错

Kattlin_gsc:请问我转cpu以后,输入以上两行代码报错这个,是怎么回事呀,Attempttofreeinvalidpointer0x3e0638043e1e6247

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇