|
发表于 2023-9-2 08:19:37
|
显示全部楼层
谢邀!
当下,人工智能成了新时代的必修课,其重要性已无需赘述,但作为一个跨学科产物,它包含的内容浩如烟海,各种复杂的模型和算法更是让人望而生畏。对于大多数的新手来说,如何入手人工智能其实都是一头雾水,比如到底需要哪些数学基础、是否要有工程经验、对于深度学习框架应该关注什么等等。
那么,学习人工智能该从哪里开始呢?人工智能的学习路径又是怎样的?
本文节选自王天一教授在极客时间 App 开设的“人工智能基础课”,已获授权。更多相关文章,请下载极客时间 App,订阅专栏获取。
数学基础知识蕴含着处理智能问题的基本思想与方法,也是理解复杂算法的必备要素。今天的种种人工智能技术归根到底都建立在数学模型之上,要了解人工智能,首先要掌握必备的数学基础知识,具体来说包括:
- 线性代数:如何将研究对象形式化?
- 概率论:如何描述统计规律?
- 数理统计:如何以小见大?
- 最优化理论: 如何找到最优解?
- 信息论:如何定量度量不确定性?
- 形式逻辑:如何实现抽象推理?
线性代数:如何将研究对象形式化?
事实上,线性代数不仅仅是人工智能的基础,更是现代数学和以现代数学作为主要分析方法的众多学科的基础。从量子力学到图像处理都离不开向量和矩阵的使用。而在向量和矩阵背后,线性代数的核心意义在于提供了⼀种看待世界的抽象视角:万事万物都可以被抽象成某些特征的组合,并在由预置规则定义的框架之下以静态和动态的方式加以观察。
着重于抽象概念的解释而非具体的数学公式来看,线性代数要点如下:线性代数的本质在于将具体事物抽象为数学对象,并描述其静态和动态的特性;向量的实质是 n 维线性空间中的静止点;线性变换描述了向量或者作为参考系的坐标系的变化,可以用矩阵表示;矩阵的特征值和特征向量描述了变化的速度与方向。
总之,线性代数之于人工智能如同加法之于高等数学,是一个基础的工具集。
概率论:如何描述统计规律?
除了线性代数之外,概率论也是人工智能研究中必备的数学基础。随着连接主义学派的兴起,概率统计已经取代了数理逻辑,成为人工智能研究的主流工具。在数据爆炸式增长和计算力指数化增强的今天,概率论已经在机器学习中扮演了核心角色。
同线性代数一样,概率论也代表了一种看待世界的方式,其关注的焦点是无处不在的可能性。频率学派认为先验分布是固定的,模型参数要靠最大似然估计计算;贝叶斯学派认为先验分布是随机的,模型参数要靠后验概率最大化计算;正态分布是最重要的一种随机变量的分布。
数理统计:如何以小见大?
在人工智能的研究中,数理统计同样不可或缺。基础的统计理论有助于对机器学习的算法和数据挖掘的结果做出解释,只有做出合理的解读,数据的价值才能够体现。数理统计根据观察或实验得到的数据来研究随机现象,并对研究对象的客观规律做出合理的估计和判断。
虽然数理统计以概率论为理论基础,但两者之间存在方法上的本质区别。概率论作用的前提是随机变量的分布已知,根据已知的分布来分析随机变量的特征与规律;数理统计的研究对象则是未知分布的随机变量,研究方法是对随机变量进行独立重复的观察,根据得到的观察结果对原始分布做出推断。
用一句不严谨但直观的话讲:数理统计可以看成是逆向的概率论。 数理统计的任务是根据可观察的样本反过来推断总体的性质;推断的工具是统计量,统计量是样本的函数,是个随机变量;参数估计通过随机抽取的样本来估计总体分布的未知参数,包括点估计和区间估计;假设检验通过随机抽取的样本来接受或拒绝关于总体的某个判断,常用于估计机器学习模型的泛化错误率。
最优化理论: 如何找到最优解?
本质上讲,人工智能的目标就是最优化:在复杂环境与多体交互中做出最优决策。几乎所有的人工智能问题最后都会归结为一个优化问题的求解,因而最优化理论同样是人工智能必备的基础知识。最优化理论研究的问题是判定给定目标函数的最大值(最小值)是否存在,并找到令目标函数取到最大值 (最小值) 的数值。 如果把给定的目标函数看成一座山脉,最优化的过程就是判断顶峰的位置并找到到达顶峰路径的过程。
通常情况下,最优化问题是在无约束情况下求解给定目标函数的最小值;在线性搜索中,确定寻找最小值时的搜索方向需要使用目标函数的一阶导数和二阶导数;置信域算法的思想是先确定搜索步长,再确定搜索方向;以人工神经网络为代表的启发式算法是另外一类重要的优化方法。
信息论:如何定量度量不确定性?
近年来的科学研究不断证实,不确定性就是客观世界的本质属性。换句话说,上帝还真就掷骰子。不确定性的世界只能使用概率模型来描述,这促成了信息论的诞生。
信息论使用“信息熵”的概念,对单个信源的信息量和通信中传递信息的数量与效率等问题做出了解释,并在世界的不确定性和信息的可测量性之间搭建起一座桥梁。
总之,信息论处理的是客观世界中的不确定性;条件熵和信息增益是分类问题中的重要参数;KL 散度用于描述两个不同概率分布之间的差异;最大熵原理是分类问题汇总的常用准则。
形式逻辑:如何实现抽象推理?
1956 年召开的达特茅斯会议宣告了人工智能的诞生。在人工智能的襁褓期,各位奠基者们,包括约翰·麦卡锡、赫伯特·西蒙、马文·闵斯基等未来的图灵奖得主,他们的愿景是让“具备抽象思考能力的程序解释合成的物质如何能够拥有人类的心智。”通俗地说,理想的人工智能应该具有抽象意义上的学习、推理与归纳能力,其通用性将远远强于解决国际象棋或是围棋等具体问题的算法。
如果将认知过程定义为对符号的逻辑运算,人工智能的基础就是形式逻辑;谓词逻辑是知识表示的主要方法;基于谓词逻辑系统可以实现具有自动推理能力的人工智能;不完备性定理向“认知的本质是计算”这一人工智能的基本理念提出挑战。
《人工智能基础课》全年目录
本专栏将围绕机器学习与神经网络等核心概念展开,并结合当下火热的深度学习技术,勾勒出人工智能发展的基本轮廓与主要路径。点击我获取学习资源
我们再来看看人工智能,机器学习、大数据技术应用方面有哪些联系与区别
大数据、人工智能是目前大家谈论比较多的话题,它们的应用也越来越广泛、与我们的生活关系也越来越密切,影响也越来越深远,其中很多已进入寻常百姓家,如无人机、网约车、自动导航、智能家电、电商推荐、人机对话机器人等等。
大数据是人工智能的基础,而使大数据转变为知识或生产力,离不开机器学习(Machine Learning),可以说机器学习是人工智能的核心,是使机器具有类似人的智能的根本途径。
本文主要介绍机器有关概念、与大数据、人工智能间的关系、机器学习常用架构及算法等,具体如下:
机器学习的定义
大数据与机器学习
机器学习与人工智能及深度学习
机器学习的基本任务
如何选择合适算法
Spark在机器学习方面的优势
01 机器学习的定义
机器学习是什么?是否有统一或标准定义?目前好像没有,即使在机器学习的专业人士,也好像没有一个被广泛认可的定义。在维基百科上对机器学习有以下几种定义:
“机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”。
“机器学习是对能通过经验自动改进的计算机算法的研究”。
“机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。”
一种经常引用的英文定义是:A computer program is said to learn from experience (E) with respect to some class of tasks(T) and performance(P) measure , if its performance at tasks in T, as measured by P, improves with experience E。
可以看出机器学习强调三个关键词:算法、经验、性能,其处理过程如图所示。
▲机器学习处理流程
上图表明机器学习是使数据通过算法构建出模型,然后对模型性能进行评估,评估后的指标,如果达到要求就用这个模型测试新数据,如果达不到要求就要调整算法重新建立模型,再次进行评估,如此循环往复,最终获得满意结果。
02 大数据与机器学习
我们已进入大数据时代,产生数据的能力空前高涨,如互联网、移动网、物联网、成千上万的传感器、穿戴设备、GPS等等,存储数据、处理数据等能力也得到了几何级数的提升,如Hadoop、Spark技术为我们存储、处理大数据提供有效方法。
数据就是信息、就是依据,其背后隐含了大量不易被我们感官识别的信息、知识、规律等等,如何揭示这些信息、规则、趋势,正成为当下给企业带来高回报的热点。
而机器学习的任务,就是要在基于大数据量的基础上,发掘其中蕴含并且有用的信息。其处理的数据越多,机器学习就越能体现出优势,以前很多用机器学习解决不了或处理不好的问题,通过提供大数据得到很好解决或性能的大幅提升,如语言识别、图像设别、天气预测等等。
03 机器学习、人工智能及深度学习
人工智能和机器学习这两个科技术语如今已经广为流传,已成为当下的热词,然而,他们间有何区别?又有哪些相同或相似的地方?虽然人工智能和机器学习高度相关,但却并不尽相同。
人工智能是计算机科学的一个分支,目的是开发一种拥有智能行为的机器,目前很多大公司都在努力开发这种机器学习技术。他们都在努力让电脑学会人类的行为模式,以便推动很多人眼中的下一场技术革命——让机器像人类一样“思考”。
过去10年,机器学习已经为我们带来了无人驾驶汽车、实用的语音识别、有效的网络搜索等等。接下来人工智能将如何改变我们的生活?在哪些领域最先发力?我们拭目以待。
对很多机器学习来说,特征提取不是一件简单的事情。在一些复杂问题上,要想通过人工的方式设计有效的特征集合,往往要花费很多的时间和精力。
深度学习解决的核心问题之一就是自动地将简单的特征组合成更加复杂的特征,并利用这些组合特征解决问题。深度学习是机器学习的一个分支,它除了可以学习特征和任务之间的关联以外,还能自动从简单特征中提取更加复杂的特征。下图展示了深度学习和传统机器学习在流程上的差异。如图所示,深度学习算法可以从数据中学习更加复杂的特征表达,使得最后一步权重学习变得更加简单且有效。
▲机器学习与深度学习流程对比
前面我们分别介绍了机器学习、人工智能及深度学习,它们间的关系如何?
▲人工智能、机器学习与深度学习间的关系
人工智能、机器学习和深度学习是非常相关的几个领域。上图说明了它们之间大致关系。人工智能是一类非常广泛的问题,机器学习是解决这类问题的一个重要手段,深度学习则是机器学习的一个分支。在很多人工智能问题上,深度学习的方法突破了传统机器学习方法的瓶颈,推动了人工智能领域的快速发展。
04 机器学习的基本任务
机器学习基于数据,并以此获取新知识、新技能。它的任务有很多,分类是其基本任务之一。分类就是将新数据划分到合适的类别中,一般用于类别型的目标特征,如果目标特征为连续型,则往往采用回归方法。回归是对新目标特征进行预测,是机器学习中使用非常广泛的方法之一。
分类和回归,都是先根据标签值或目标值建立模型或规则,然后利用这些带有目标值的数据形成的模型或规则,对新数据进行识别或预测。这两种方法都属于监督学习。与监督学习相对是无监督学习,无监督学习不指定目标值或预先无法知道目标值,它可以将把相似或相近的数据划分到相同的组里,聚类就是解决这一类问题的方法之一。
点击我获取学习资源
除了监督学习、无监督学习这两种最常见的方法外,还有半监督学习、强化学习等方法,这里我们就不展开了,下图展示了这些基本任务间的关系。
▲机器学习基本任务的关系
05 如何选择合适算法
当我们接到一个数据分析或挖掘的任务或需求时,如果希望用机器学习来处理,首要任务是根据任务或需求选择合适算法,选择哪种算法较合适?分析的一般步骤为:
▲选择算法的一般步骤
充分了解数据及其特性,有助于我们更有效地选择机器学习算法。采用以上步骤在一定程度上可以缩小算法的选择范围,使我们少走些弯路,但在具体选择哪种算法方面,一般并不存在最好的算法或者可以给出最好结果的算法,在实际做项目的过程中,这个过程往往需要多次尝试,有时还要尝试不同算法。不过先用一种简单熟悉的方法,然后,在这个基础上不断优化,时常能收获意想不到的效果。
06 Spark在机器学习方面的优势
在大数据上进行机器学习,需要处理全量数据并进行大量的迭代计算,这要求机器学习平台具备强大的处理能力。Spark与Hadoop兼容,它立足于内存计算,天然的适应于迭代式计算,Spark是一个大数据计算平台,在这个平台上,有我们大家熟悉的SQL式操作组件Spark SQL;功能强大、性能优良的机器学习库Spark MLlib;还有图像处理的Spark Graphx及用于流式处理的Spark Streaming等,具体有以下优势:
完整的大数据生态系统:我们大家熟悉的SQL式操作组件Spark SQL,还有功能强大、性能优良的机器学习库Spark MLlib、图像计算的SparkGraphx及用于流式处理的SparkStreaming等。
高性能的大数据计算平台:因为数据被加载到集群主机的分布式内存中。数据可以被快速的转换迭代,并缓存后续的频繁访问需求。基于内存运算,Spark可以比Hadoop快100倍,在磁盘中运算也比hadoop快10倍左右。
与Hadoop、Hive、HBase等无缝连接:Spark可以直接访问Hadoop、Hive、Hbase等的数据,同时也可使用Hadoop的资源管理器。
易用、通用、好用:Spark编程非常高效、简洁,支持多种语言的API,如Scala、Java、Python、R、SQL等,同时提供类似于shell的交互式开发环境REPL。
07 小结
本文简单介绍了机器学习与大数据,与人工智能的关系。同时也介绍了机器学习的一些基本任务和如何选择合适算法等问题,在选择机器学习平台时,这里我们介绍了Spark这样一个大数据平台的集大成者,它有很多优势,而且也得到越来越多企业的青睐。
接下来我们再来看看人工智能最有前景的六大领域
目前来说,有许多关于人工智能公认定义的争论。有些人认为人工智能就是“认知计算”或是“机器智能”,而另一些人则把它与“机器学**”的概念混淆了。然而,人工智能并不是特指某种技术,它实际上是一个由多门学科组成的广阔领域,包括机器人学和机器学**等。人工智能的终极目标是让机器替代人类去完成需要认知能力的任务。为了实现这一目标,机器必须自动学**掌握能力,而不仅仅是执行程序员编写的命令。
人工智能在过去的十年里取得了令人叹为观止的进步,例如自动驾驶汽车、语音识别和语音合成。在此背景之下,人工智能这一话题越来越多地出现在同事和家人的闲谈之间,人工智能技术已经渗透到他们生活的角角落落。与此同时,流行媒体几乎每天也在报道人工智能和技术巨头们,介绍他们在人工智能领域的长期战略。一些投资者和企业家渴望了解如何从这个新领域挖掘价值,大多数人还是绞尽脑汁思考究竟人工智能会改变什么。此外,各国政府也正在努力应对自动化给社会带来的影响(如奥巴马总统的离职演讲)。
其中,人工智能的六大领域在未来可能对数字产品和数字服务产生重要的影响。作者一一列举了这六个方向,解释了它们的重要性,目前的应用场景,并列举出正在使用的公司和研究机构。
强化学习
强化学**是一种通过实验和错误来学**的方法,它受人类学**新技能的过程启发。在典型的强化学**案例中,代理者通过观察当前所处的状态,进而采取行动使得长期奖励的结果最大化。每执行一次动作,代理者都会收到来自环境的反馈信息,因此它能判断这次动作带来的效果是积极的还是消极的。在这个过程中,代理者需要平衡根据经验寻找最佳策略和探索新策略两方面,以期实现最终的目标。
Google的DeepMind团队在Atari游戏和围棋对抗中都运用了强化学**的技术。在真实场景中,强化学**有被用来提高Google数据中心的能源利用率。强化学**技术为这套冷却系统节省了约40%的能耗。强化学**有一个非常重要的优势,它的代理者能以低廉的代价模拟生成大量的训练数据。相比有监督的深度学**任务,这个优势非常明显,节省了一大笔人工标注数据的费用。
应用:包括城市道路的自动驾驶;三维环境的导航;多个代理者在同样的环境中交互和学**等
生成模型
不同于用来完成分类和回归任务的判别模型,生成模型从训练样本中学到一个概率分布。通过从高维的分布中采样,生成模型输出与训练样本类似的新样本。这也意味着,若生成模型的训练数据是脸部的图像集,那么训练后得到的模型也能输出类似于脸的合成图片。细节内容可以参考Ian Goodfellow的文章。他提出的生成对抗模型(GAN)的结构当下在学术界非常的火热,因为它给无监督学**提供了一种新思路。GAN结构用到了两个神经网络:一个是生成器,它负责将随机输入的噪声数据合成为新的内容(比如合成图片),另一个是判别器,负责学**真实的图片并判断生成器生成的内容是否以假乱真。对抗训练可以被认为是一类游戏,生成器必须反复学**用随机噪音数据合成有意义的内容,直到判别器无法区分合成内容的真伪。这套框架正在被扩展应用到许多数据模式和任务中。
应用:仿真时间序列的特征(例如,在强化学**中规划任务);超分辨率图像;从二维图像复原三维结构;小规模标注数据集的泛化;预测视频的下一帧;生成自然语言的对话内容;艺术风格迁移;语音和音乐的合成
记忆网络
为了让人工智能系统像人类一样能够适应各式各样的环境,它们必须持续不断地掌握新技能,并且记住如何在未来的场景中应用这些技能。传统的神经网络很难掌握一系列的学**任务。这项缺点被科学家们称作是灾难性遗忘。其中的难点在于当一个神经网络针对A任务完成训练之后,若是再训练它解决B任务,则网络模型的权重值不再适用于任务A。
目前,有一些网络结构能够让模型具备不同程度的记忆能力。其中包括长短期记忆网络(一种递归神经网络)可以处理和预测时间序列;DeepMind团队的微神经计算机,它结合了神经网络和记忆系统,以便于从复杂的数据结构中学**;渐进式神经网络,它学**各个独立模型之间的侧向关联,从这些已有的网络模型中提取有用的特征,用来完成新的任务。
应用:训练能够适应新环境的代理者;机器人手臂控制任务;自动驾驶车辆;时间序列预测(如金融市场、视频预测);理解自然语言和预测下文。
微数据学习微模型
一直以来深度学习模型都是需要堆积大量的训练数据才能达到最佳的效果。比如,某只参加ImageNet挑战赛的团队使用了120万张分布于1000个类别的人工标注图像训练模型。离开大规模的训练数据,深度学习模型就不会收敛到最优值,也无法在语音识别、机器翻译等复杂的任务上取得好效果。数据量需求的增长往往发生在用单个神经网络模型处理端到端的情况下,比如输入原始的语音片段,要求输出转换后的文字内容。这个过程与多个网络协同工作各处理一步中间结果不同(比如,原始语音输入→音素→词→文本输出)。如果我们想用人工智能系统解决训练数据稀缺的任务时,希望模型训练用到的样本越少越好。当训练数据集较小时,过拟合、异常值干扰、训练集和测试集分布不一致等问题都会接踵而至。另一种方法是将在其它任务上训练好的模型迁移到新的任务中,这种方法被称为是迁移学习。
一个相关的问题是用更少的模型参数建立更小的深学**架构,而模型的效果却保持最佳。这种技术的优势在于更高效的分布式训练过程,因为训练过程中需要传输的参数减少了,并且能够方便地将模型部署在内存大小受限制的嵌入式硬件上。
应用:训练浅层模型来模拟在大规模的已标注训练数据集上训练得到的深度网络模型;构建效果相当但参数更少的模型结构(如SqueezeNet);机器翻译
学习/推理硬件
促进人工智能发展的催化剂之一就是图形处理器(GPU)的升级,不同于CPU的顺序执行模式,GPU支持大规模的并行架构,可以同时处理多个任务。鉴于神经网络必须用大规模(且高维度)数据集训练,GPU的效率远高于CPU。这就是为什么自从2012年第一个GPU训练的神经网络模型——AlexNet公布之后,GPU已经成为名副其实的淘金铁锹。NVIDIA在2017年继续领跑行业,领先于Intel、Qualcomm、AMD和后起之秀Google。
然而,GPU并非专为模型训练或预测而设计,它原本是用于视频游戏的图像渲染。GPU具有高精度计算的能力,却遭遇内存带宽和数据吞吐量的问题。这为Google之类的大公司和许多小型创业公司开辟了新领域,它们为高维机器学**任务设计和制造处理芯片。芯片设计的改进点包括更大的内存带宽,图计算代替了向量计算(GPU)和矢量计算(CPU),更高的计算密度,更低的能源消耗。这些改进令人感到兴奋,因为最终又反哺到使用者的身上:更快和更有效的模型训练→更好的用户体验→用户更多的使用产品→收集更大的数据集→通过优化模型提高产品的性能。因此,那些训练和部署模型更快的系统占据显著的优势。点击我获取学习资源
应用:模型的快速训练;低能耗预测运算;持续性监听物联网设备;云服务架构;自动驾驶车辆;机器人
仿真环境
正如之前提到,为人工智能系统准备训练数据很具有挑战性。而且,若要将人工智能系统应用到实际生活中,它必须具有适用性。因此,开发数字环境来模拟真实的物理世界和行为将为我们提供测试人工智能系统适应性的机会。这些环境给人工智能系统呈现原始像素,然后根据设定的目标而采取某些行动。在这些模拟环境中的训练可以帮助我们了解人工智能系统的学**原理,如何改进系统,也为我们提供了可以应用于真实环境的模型。
应用:模拟驾驶;工业设计;游戏开发;智慧城市
以上内容进个人见解,希望对你有所帮助 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|