首页 理论教育人工智能计算机程序设计背景研究

人工智能计算机程序设计背景研究

【摘要】:当前人工智能的快速发展主要依赖两大要素:机器学习与大数据。通过简单地将机器学习映射到算法、将大数据映射到数据结构,我们可以理解人工智能与计算机程序设计之间存在一定程度上的对应关系。人工智能离不开计算机程序设计,要弄清人工智能时代对计算机程序设计的新需求,需要首先对机器学习和大数据有一定的认识。大数据之上的机器学习意味着很大的计算量。

人工智能(Artificial Intelligence,简称AI),是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,该领域的研究包括机器人、语音识别、图像识别自然语言处理和专家系统等。当前人工智能的快速发展主要依赖两大要素:机器学习与大数据。也就是说,在大数据上开展机器学习是实现人工智能的主要方法。而计算机程序设计可视为算法+数据结构。通过简单地将机器学习映射到算法、将大数据映射到数据结构,我们可以理解人工智能与计算机程序设计之间存在一定程度上的对应关系。人工智能离不开计算机程序设计,要弄清人工智能时代对计算机程序设计的新需求,需要首先对机器学习和大数据有一定的认识。

机器学习(Machine Learning,简称ML)是一门研究计算机怎样模拟或实现人类的学习行为以获取新的知识或技能的多领域交叉学科,涉及概率论统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习是人工智能的核心,包括很多方法,如线性模型(Linear model)、决策树(Decision tree)、神经网络(Neural networks)、支持向量机(Support Vector Machine)、贝叶斯分类器(Bayesian classifier)、集成学习(Ensemble learning)、聚类(clustering)、度量学习(Metric learning)、稀疏学习(Sparse learning)、概率图模型(Probabilistic graph model)和强化学习(Reinforcement learning)等。其中,大部分方法都属于数据驱动(data-driven),都是通过学习获得数据不同抽象层次的表达,以利于更好地理解和分析数据、挖掘数据隐藏的结构和关系。

深度学习(Deep Learning)是机器学习的一个分支,由神经网络发展而来,一般特指学习高层数的网络结构。深度学习也包括各种不同的模型,如深度信念网络(Deep Belief Network,简称DBN)、自编码器(AutoEncoder)、卷积神经网络(Convolutional Neural Network,简称CNN)、循环神经网络(Recurrent Neural Network,简称RNN)等。深度学习是目前主流的机器学习方法,在图像分类与识别、语音识别等领域都比其他方法表现优异。(www.chuimin.cn)

作为机器学习的原料,大数据(Big data)的“大”通常体现在三个方面,即数据量(Volume)、数据到达的速度(Velocity)和数据类别(Variety)。数据量大既可以体现为数据的维度高,也可以体现为数据的个数多。对于数据高速到达的情况,需要对应的算法或系统能够有效处理。而多源的、非结构化、多模态等不同类别特点也对大数据的处理方法带来了挑战。可见,大数据不同于海量数据。在大数据上开展机器学习,可以挖掘出隐藏的有价值的数据关联关系。

对于机器学习中涉及的大量具有一定通用性的算法,需要机器学习专业人士将其封装为软件包,以供各应用领域的研发人员直接调用或在其基础上进行扩展。大数据之上的机器学习意味着很大的计算量。以深度学习为例,需要训练的深度神经网络其层次可以达到上千层,节点间的联结权值可以达到上亿个。为了提高训练和测试的效率,使机器学习能够应用于实际场景中,高性能、并行、分布式计算系统是必然的选择。可以采用软件平台,如Hadoop MapReduce或Spark;或者采用硬件平台,如GPU(Graphics Processing Unit,图形处理器)或FPGA(Field-Programmable Gate Array,即现场可编程门阵列)。