人工智能作为计算机科学的一个分支旨在创造可以解决计算问题,以及像动物和人类一样思考与交流的人造系统。人工智能领域开始变得正式源于Alan Turing这位人工智能先驱提出了图灵试验,以回答这样一个终极问题:“计算机能够思考吗?”
计算机科学体系
计算机科学是系统性研究信息与计算的理论基础以及它们在计算机系统中如何实现与应用的实用技术的学科。它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。分支学科脉络划分如下
- 理论电脑科学
- 数据结构和算法
- 计算理论
- 信息论与编码理论
- 编程语言和编译器
- 形式化方法
- 计算机系统
- 计算机体系结构与计算机工程
- 操作系统
- 并发、并行与分布式系统
- 计算机网络
- 计算机安全和密码学
- 数据库
- 计算机应用技术
- 计算机图形学
- 科学计算
- 多媒体技术
- 人工智能
- 软件工程
人工智能
人工智能(英语:Artificial Intelligence,缩写为AI)亦称智械、机器智能,指由人制造出来的机器所表现出来的智能。通常人工智能是指通过普通计算机程序来呈现人类智能的技术 。该词也指出研究这样的智能系统是否能够实现,以及如何实现。同时,通过医学、神经科学、机器人学及统计学等的进步,常态预测则认为人类的无数职业也逐渐被其取代
人工智能分支学科划分如下
- 机器学习
- 计算机视觉
- 图像处理
- 模式识别
- 数据挖掘
- 演化计算
- 知识表示和自动推理
- 自然语言处理
- 机器人学
![人工智能知识脉络](http://p2.ttnews.xyz/loading.gif)
机器学习
机器学习是人工智能的一个分支。人工智能的研究历史有着一条从以“推理”为重点,到以“知识”为重点,再到以“学习”为重点的自然、清晰的脉络。机器学习是实现人工智能的一个途径,即以机器学习为手段解决人工智能中的问题
机器学习在近30多年已发展为一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科
机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论
算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。很多推论问题属于无程序可循难度,所以部分的机器学习研究是开发容易处理的近似算法
机器学习有下面几种定义
- 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能
- 机器学习是对能通过经验自动改进的计算机算法的研究
- 机器学习是用数据或以往的经验,以此优化计算机程序的性能标准
一种经常引用的英文定义是:A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E
机器学习可以分成下面几种类别
- 有监督学习 从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求是包括输入和输出,也可以说是特征和目标。训练集中的目标是由人标注的。常见的监督学习算法包括回归分析 和统计分类
- 回归分析(英语:Regression Analysis)是一种统计学上分析数据的方法,目的在于了解两个或多个变量间是否相关、相关方向与强度,并建立数学模型以便观察特定变量来预测研究者感兴趣的变量。更具体的来说,回归分析可以帮助人们了解在只有一个自变量变化时因变量的变化量。一般来说,通过回归分析我们可以由给出的自变量估计因变量的条件期望
- 统计分类 是机器学习非常重要的一个组成部分,它的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。分类是监督学习的一个实例,根据已知训练集提供的样本,通过计算选择特征参数,创建判别函数以对样本进行的分类
- 无监督学习 是一种自组织的HEBBY学习的类型,它帮助在没有预先存在标签的情况下找到数据集中先前未知的模式。它也被称为自组织,允许对给定输入的概率密度进行建模。常见的无监督学习算法有 生成对抗网络(GAN)、聚类分析
- 生成对抗网络(英语:Generative Adversarial Network,简称GAN)是非监督式学习的一种方法,通过让两个神经网络相互博弈的方式进行学习。该方法由伊恩·古德费洛等人于2014年提出。生成对抗网络由一个生成网络与一个判别网络组成,生成网络从潜在空间(latent space)中随机取样作为输入,其输出结果需要尽量模仿训练集中的真实样本;判别网络的输入则为真实样本或生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能分辨出来,而生成网络则要尽可能地欺骗判别网络。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实
- 聚类分析(英语:Cluster analysis)亦称为群集分析,是对于统计数据分析的一门技术。聚类是把相似的对象通过静态分类的方法分成不同的组别或者更多的子集(subset),这样让在同一个子集中的成员对象都有相似的一些属性。一般把数据聚类归纳为一种非监督式学习
有监督学习和非监督学习的差别就是训练集目标是否人标注。他们都有训练集且都有输入和输出
- 半监督学习介于监督学习与无监督学习之间
- 增强学习机器为了达成目标,随着环境的变动,而逐步调整其行为,并评估每一个行动之后所到的回馈是正向的或负向的
具体的机器学习算法有
- 构造间隔理论分布:聚类分析和模式识别
- 人工神经网络
- 感知器
- 决策树
- 支持向量机
- 集成学习AdaBoost
- 降维与度量学习
- 聚类
- 贝叶斯分类器
- 构造条件概率:回归分析和统计分类
- 高斯过程回归
- 线性判别分析
- 最近邻居法
- 径向基函数核
- 通过再生模型构造概率密度函数
- 最大期望算法
- 概率图模型
- 贝叶斯网
- Markov随机场
- Generative Topographic Mapping
- 近似推断技术
- 马尔可夫链蒙特卡罗方法
- 变分法
- 最优化
神经网络
生物神经网络(Biological Neural Networks) 一般指生物的神经元、细胞、触点等组成的网络,用于产生生物的意识,帮助生物进行思考和行动
人工神经网络(英语:Artificial Neural Network,ANN),简称
神经网络(Neural Network,NN)或类神经网络,在机器学习和认知科学领域,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型,用于对函数进行估计或近似神经网络由大量的人工神经元联结进行计算。大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自适应系统,通俗的讲就是具备学习功能
现代神经网络是一种非线性统计性数据建模工具,神经网络通常是通过一个基于数学统计学类型的学习方法 (Learning Method) 得以优化,所以也是数学统计学方法的一种实际应用,通过统计学的标准数学方法我们能够得到大量的可以用函数来表达的局部结构空间,另一方面在人工智能学的人工感知领域,我们通过数学统计学的应用可以来做人工感知方面的决定问题 (也就是说通过统计学的方法,人工神经网络能够类似人一样具有简单的决定能力和简单的判断能力),这种方法比起正式的逻辑学推理演算更具有优势
感知器 (英语:Perceptron) 是Frank Rosenblatt在1957年就职于康奈尔航空实验室 (Cornell Aeronautical Laboratory) 时所发明的一种人工神经网络。Frank Rosenblatt 给出了相应的感知机学习算法,常用的有感知机学习、最小二乘法和梯度下降法。譬如,感知机利用梯度下降法对损失函数进行极小化,求出可将训练数据进行线性划分的分离超平面,从而求得感知机模型
感知机是生物神经细胞的简单抽象,神经细胞结构大致可分为:树突、突触、细胞体及轴突。单个神经细胞可被视为一种只有两种状态的机器——激动时为‘是’,而未激动时为‘否’。神经细胞的状态取决于从其它的神经细胞收到的输入信号量,及突触的强度(抑制或加强); 当信号量总和超过了某个阈值时,细胞体就会激动,产生电脉冲; 电脉冲沿着轴突并通过突触传递到其它神经元。为了模拟神经细胞行为,与之对应的感知机基础概念被提出,如权量(突触)、偏置(阈值)及激活函数(细胞体)
在人工神经网络领域中,感知机也被指为单层的人工神经网络,以区别于较复杂的多层感知机(Multilayer Perceptron)。
作为一种二元线性分类器,(单层)感知机可说是最简单的前向人工神经网络形式。尽管结构简单,感知机能够学习并解决相当复杂的问题。感知机主要的本质缺陷是它不能处理线性不可分问题![人工智能知识脉络](http://p2.ttnews.xyz/loading.gif)
神经细胞结构示意图
感知机是一种模式识别算法,用简单的加减法实现了两层的计算机学习网络。罗森布拉特也用数学符号描述了基本感知机里没有的回路,例如异或回路,这种回路一直无法被神经网络处理,直到保罗·韦伯斯(1975)创造的反向传播算法有效地解决了异或的问题,还有更普遍的训练多层神经网络的问题
人工神经网络的组成
神经元
神经元示意图
数学表示
一个神经元的功能是求得输入向量与权向量的内积后,经一个非线性传递函数得到一个标量结果
单个神经元的作用 把一个n维向量空间用一个超平面分割成两部分(称之为判断边界),给定一个输入向量,神经元可以判断出这个向量位于超平面的哪一边
该超平面的方程
学习过程 通过训练样本的校正,对各个层的权重进行校正 (learning) 而创建模型的过程,称为自动学习过程 (training algorithm)。具体的学习方法则因网络结构和模型不同而不同,常用反向传播算法 (Backpropagation/倒传递/逆传播,以output利用一次微分Delta rule来修正weight) 来验证
人工神经网络的两种分类方式
- 依学习策略 (Algorithm) 分类
- 监督式学习网络 (Supervised Learning Network)
- 无监督式学习网络 (Unsupervised Learning Network)
- 混合式学习网络 (Hybrid Learning Network)
- 联想式学习网络 (Associate Learning Network)
- 最适化学习网络 (Optimization Application Network)
- 依网络架构(Connectionism)分类
- 前馈神经网络 (Feed Forward Network)
- 循环神经网络 (Recurrent Network)
- 强化式架构 (Reinforcement Network)
深度学习
深度学习 (Deep Learning) 是机器学习的分支,是一种以人工神经网络为架构,对数据进行表征学习的算法。深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征
在机器学习中,特征学习或表征学习是学习一个特征的技术的集合:将原始数据转换成为能够被机器学习来有效开发的一种形式。它避免了手动提取特征的麻烦,允许计算机学习使用特征的同时,也学习如何提取特征:学习如何学习
特征学习可以被分为两类
- 监督特征学习 从被标记的数据中学习特征
- 监督字典学习
- 神经网络
- 无监督特征学习
- κ-平均算法
- 主要成分分析
- 独立成分分析
- 局部线性嵌入算法
- 无监督字典学习
深度学习框架
- 深度神经网络 (DNN) 是一种判别模型,可以使用反向传播算法进行训练,具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力
- 卷积神经网络 (CNN) 由一个或多个卷积层和顶端的全连通层 (对应经典的神经网络) 组成,同时也包括关联权重和池化层
- 深度置信网络 (DBN) 神经网络的一种。既可以用于非监督学习,类似于一个自编码机;也可以用于监督学习,作为分类器来使用
- 循环神经网络 (RNN) 是一类以序列 (sequence) 数据为输入,在序列的演进方向进行递归 (recursion) 且所有节点 (循环单元) 按链式连接的递归神经网络
深度学习的基础是机器学习中的分散表示 (distributed representation)。分散表示假定观测值是由不同因子相互作用生成。在此基础上,深度学习进一步假定这一相互作用的过程可分为多个层次,代表对观测值的多层抽象。不同的层数和层的规模可用于不同程度的抽象
小结
文章沿着计算机科学的脉络,梳理了人工智能和机器学习整个知识体系,并对神经网络这个分支主要做了简单介绍。后续将会发布系列文章,围绕这一知识体系的各个分支一一展开
閱讀更多 數字智能之能 的文章