2.2 人工智能

人工智能是研究让计算机模拟人的某些思维过程和智能行为的学科。人工智能在计算机上有两种实现方式。一种是工程学方法,它采用传统的编程技术,不考虑所用方法是否与人类或其他动物机体所用的方法相同,使系统呈现智能的效果,例如文字识别、计算机下棋等。另一种是模拟法,它的效果和实现方法与人类或其他动物机体相同或类似,例如遗传算法(Genetic Algorithm,GA)和人工神经网络(Artificial Neural Network,ANN)等。

2.2.1 机器学习

使用机器学习算法无须明确地编程,基于训练数据(又称为样本数据)建立数学模型,实现预测或决策。机器学习涉及统计学、概率论、逼近论等多门学科,它是人工智能的核心技术。人工智能的细分如图2-11所示,该图说明了人工智能、机器学习和深度学习之间的逻辑关系。

62540-00-045-1

图2-11 人工智能细分示意

机器学习基于学习方式可以分为监督学习、无监督学习、半监督学习、强化学习和深度强化学习等,简要阐述如下。

1. 监督学习

监督学习(Supervised Learning,SL)指使用已知标签数据来训练网络。监督学习分为回归和分类。回归是指对连续的数据进行数据拟合,以得到一个函数用于预测。分类是指对离散的数据进行数据分类,预测数据分别属于不同的类别。

2. 无监督学习

无监督学习(Unsupervised Learning,UL)适用于具有数据集但无标签的情况。无监督学习主要应用于聚类分析、关联规则等。

3. 半监督学习

半监督学习(Semi-Supervised Learning,SSL)结合了监督学习与无监督学习,使用大量的无标签数据和少量的有标签数据来进行模式识别。

4. 强化学习

强化学习(Reinforcement Learning,RL)没有标注数据集,但有办法区分是否越来越接近目标。强化学习中,用由环境提供的强化信号来对产生动作的好坏做出评价。

5. 深度强化学习

深度强化学习(Deep Reinforcement Learning,DRL)结合了深度学习、强化学习的感知和决策能力,可以根据输入的信息直接实现控制。

机器学习的3个要素是模型(model,指用来描述客观世界的数学模型)、策略(strategy,指从假设空间中挑选出参数最优模型的准则)、算法(algorithm,指优化模型参数的方法)。

2.2.2 算法

目前,常见算法包含决策树(Decision Tree,DT)算法、朴素贝叶斯算法、支持向量机(Support Vector Machine,SVM)算法、随机森林算法、神经网络(Neural Network,NN)算法、Boosting和Bagging算法、关联规则算法、期望最大化算法、深度学习算法等。以下介绍部分算法。

1. 决策树算法

决策树算法借鉴了树形模型,将根节点到一个叶子节点的路径看作一条分类的规则,将每个叶子节点看作一个判断类别。决策树算法递归地选择最优的特征对训练数据进行分割,来实现对各个数据集的最优分类。该算法的优点是结构简单,具有可读性,处理数据效率较高。

2. 支持向量机算法

支持向量机算法是一种监督式的机器学习算法。通过将向量映射到一个更高维的空间里,在这个空间里建立一个最大间隔超平面,从而实现对样本进行分类或回归分析。那些在间隔区边缘的训练样本点即为支持向量。该算法的优点是提高维度,从而将问题简化。

3. 神经网络算法

神经网络算法由具有适应性的个体单元互相连接组成。该算法的优点是可以对信息量少的系统进行模型处理,具有并行性,且传递信息速度极快。

神经网络按性能分为连续型网络、离散型网络,或者确定型网络、随机型网络;按连续突触性分为一阶线性关联网络、高阶非线性关联网络;按拓扑结构分为前向网络、反馈网络。基本的神经网络主要包括人工神经网络(ANN)、深度神经网络(Deep Neural Network,DNN)和循环神经网络(Recurrent Neural Network,RNN)等。

(1)人工神经网络

1958年,受大脑神经元的启发,弗兰克·罗森布拉特(Frank Rosenblatt)设计了第一个人工神经网络,由此形成了第一代神经网络。第一代神经网络是由若干输入和一个输出组成的两层模型,神经元是神经网络中的基本成分。

第二代神经网络即多层感知机,与第一代神经网络相比,具有如下特点。

第一,增加了隐藏层。

第二,输出层的神经元可以有多个输出。

第三,对激活函数(负责将神经元的输入映射到输出端)做扩展,通过使用不同的激活函数,神经网络的表达能力进一步增强。

(2)深度神经网络

深度神经网络的结构和传统意义上的神经网络无太大区别,主要的不同是层数增多了,采用逐层训练机制,并解决了模型可训练的问题。多层的好处是可以用较少的参数表示复杂的函数。

(3)循环神经网络

深度神经网络只能看到预先设定长度的数据,对语音和语言等前后相关的时序信号的表达能力是有限的,基于此提出了循环神经网络模型,它的隐藏层不但可以接收上一层的输入,也可以接收上一时刻当前隐藏层的输入。

循环神经网络的改进模型有双向循环神经网络、深层双向循环神经网络、长短期记忆(Long Short Term Memory,LSTM)模型等。LSTM模型是一种时间循环神经网络,可以学习长期依赖信息,得到了广泛的应用。

(4)卷积神经网络

卷积神经网络(Convolutional Neural Network,CNN)是模拟人的视觉神经系统提出来的。卷积神经网络的结构依旧包括输入层、隐藏层和输出层,隐藏层包含卷积层、池化层和全连接层,其中卷积层负责对输入数据进行特征提取。一次卷积运算一般只能提取局部特征,难以提取出全局特征,因此需要在一层卷积的基础上继续做卷积计算,这就是多层卷积。