- 工业智能:方法与应用
- 鲍劲松等
- 7395字
- 2022-08-16 15:49:59
第2章 工业智能基础
2.1 工业智能算法基础
2.1.1 工业智能的机器学习任务
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构使之不断改善自身的性能。随着新一代信息技术的快速发展,机器学习技术体系越来越成熟。下面将介绍监督学习、半监督学习、无监督学习和强化学习这几种典型的机器学习方法。
1.监督学习
监督学习(Supervised Learning,SL)是指利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练或有教师学习。它是从标记的训练数据来推断一个功能的机器学习任务,其中的训练数据包括一套训练示例。在监督学习中,每个实例都是由一个输入对象(通常为矢量)和一个期望的输出值(也称监督信号)组成。
监督学习主要分为回归和分类两大类。回归是对已经存在的点(训练数据)进行分析,拟合出适当的函数模型y=f(x),这里y是数据的标签,而对于一个新的自变量x,通过这个函数模型得到标签 y。回归主要针对连续型变量,如预测房屋价格。分类是通过分析输入的特征向量,对于一个新的向量得到其标签。分类和回归最大的区别在于,分类是针对离散型的,输出的结果是有限的,如估计肿瘤性质。目前被广泛使用的分类器有人工神经网络、支持向量机、最近邻法、高斯混合模型、朴素贝叶斯、决策树和径向基函数分类。
监督学习的模型通常有两种分类方式。第一种是按模型形式分类,分为概率模型(probabilistic model)和非概率模型(non-probabilistic model)。第二种是按是否对观测变量的分布建模分类,分为判别模型(discriminative model)和生成模型(generative model)。
监督学习方法是目前研究较为广泛的一种机器学习方法,如神经网络传播算法、决策树学习算法等已在许多领域中得到成功的应用。但是,监督学习需要给出不同环境状态下的期望输出,完成的是与环境没有交互的记忆和知识重组的功能,与当前环境的联系不够紧密,因此限制了该方法在复杂的优化控制问题中的应用。
2.半监督学习
半监督学习(Semi-Supervised Learning,SSL)是模式识别和机器学习领域研究的重点问题,是监督学习与无监督学习相结合的一种学习方法。半监督学习使用大量的未标记数据,以及同时使用标记数据,来进行模式识别工作。当使用半监督学习时,将会要求尽量少的人员来从事工作,同时,又能够带来比较高的准确性,因此,半监督学习正越来越受到人们的重视。
半监督学习可进一步划分为纯半监督学习和直推学习。纯半监督学习假定训练数据中的未标记样本并非待预测的数据;而直推学习则假定学习过程中所考虑的未标记样本恰是待预测数据,学习的目的就是在这些未标记样本上获得最优泛化性能。换言之,纯半监督学习是基于“开放世界”假设,希望学得模型能适用于训练过程中未观察到的数据;而直推学习是基于“封闭世界”假设,仅试图对学习过程中观察到的未标记数据进行预测。两者的过程如图2-1所示。
半监督学习从产生以来,主要用于实验室中处理人工合成数据,未来的研究一方而面是讨论半监督学习可以显著提高哪些学习任务的性能,拓展半监督学习在现实领域的实际应用,另一方面是制定出一个统一的令人信服的半监督学习方法的使用规程。此外,半监督学习的分类方法有许多,而对半监督学习的回归方法的研究比较有限,未来有待继续研究。
图2-1 纯半监督学习和直推学习的过程
3.无监督学习
无监督学习(Unsupervisde Learning,USL)是指在没有类别信息的情况下,通过对所研究对象的大量样本的数据分析实现对样本分类的一种数据处理方法。无监督学习主要有基于概率密度函数估计的直接方法和基于样本间相似性度量的间接聚类方法。
在无监督学习中,数据并不会被特别标记,学习模型是为了推断出数据的一些内在结构。无监督学习一般有以下两种思路。
第一种思路是在指导智能体时不为其指定明确的分类,而是在成功时采用某种形式的激励制度。需要注意的是,这类训练通常会被置于决策问题的框架里,因为它的目标不是产生一个分类系统,而是做出最大回报的决定,这类学习往往被称为强化学习。
第二种思路称为聚合,这类学习类型的目标不是让效用函数最大化,而是找到训练数据中的近似点。
第二种思路的无监督学习常见的应用场景包括关联规则的学习及聚类等,常见算法有Apriori算法、K-means算法、最大期望算法等。
无监督学习传递给算法的数据在内部结构中非常丰富,而用于训练的目标和奖励却非常稀少。无监督学习算法学到的大部分内容必须包括理解数据本身,而不是将这种理解应用于特定任务。这样的特性使无监督学习具有较好的应用前景。
4.强化学习
强化学习(Reinforcement Learning,RL)又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(Agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。强化学习和监督学习、无监督学习之间最大的不同就是不需要大量的数据“喂养”,而是通过自己不停地尝试来学会某些技能。
强化学习是一种机器学习方法,它使Agent能够在交互式环境中通过试验并根据自己的行动和经验反馈的错误来进行学习。虽然监督学习和强化学习都使用输入和输出之间的映射关系,但强化学习与监督学习不同,监督学习提供给Agent的反馈是执行任务的正确行为,而强化学习使用奖励和惩罚作为积极和消极行为的信号。与无监督学习相比,强化学习在目标方面有所不同。无监督学习的目标是找出数据点之间的相似性和差异性,而强化学习的目标是找到一个合适的动作模型,能够最大化Agent的累积奖励总额,其原理如图2-2所示。
图2-2 强化学习原理
强化学习的常见模型是标准的马尔可夫决策过程(Markov Decision Process,MDP)。按给定条件,强化学习可分为基于模式的强化学习(model-based RL)和无模式强化学习(model-free RL),以及主动强化学习(active RL)和被动强化学习(passive RL)。强化学习的变体包括逆向强化学习、阶层强化学习和部分可观测系统的强化学习。求解强化学习问题所使用的算法可分为策略搜索算法和值函数算法两类。深度学习模型可以在强化学习中得到使用,形成深度强化学习。
随着强化学习的知识体系越来越丰富,强化学习与人工智能其他研究领域的联系越来越紧密,如强化学习与数字孪生、计算机视觉和知识图像相结合,促进了制造业快速发展。
2.1.2 常用工业智能经典算法
工业智能经典算法有概率建模、核方法、决策树与随机森林、前馈与反向传播神经网络。
1.概率建模
概率建模(probabilistic modeling)是统计学原理在数据分析中的应用。它是最早的机器学习方法之一,至今仍在广泛使用。其中最有名的算法就是朴素贝叶斯算法。朴素贝叶斯是一类基于应用贝叶斯定理的机器学习分类器,它假设输入数据的特征都是独立的。另一个密切相关的模型是逻辑回归。
(1)朴素贝叶斯
贝叶斯分类是一类分类算法的总称。这类算法均以贝叶斯定理为基础,使用概率统计的知识,通过比较样本中待分类项属于每个类型的概率来对样本数据集进行分类。朴素贝叶斯分类是基于贝叶斯定理与特征条件独立假设的分类方法。
在解决分类任务的时候,贝叶斯分类方法就是在所有相关概率都已知的理想情形下,考虑如何基于这些概率来选择最优的类别标记。在现实生活中,我们有时不能准确预知某个事物应该归属哪一类,那么就可以通过与事物分类相关事件的概率进行判断。而贝叶斯分类方法结合先验概率和后验概率,避免了只使用先验概率的主观偏见,也避免了单独使用样本信息过拟合现象,可以很好地解决逆概率问题。贝叶斯分类方法的核心算法即贝叶斯公式。
在式(2-1)中,P ( yi)为先验概率(或边缘概率),即类别yi出现的概率,之所以称为先验,是因为它不考虑任何x方面的因素,一般是由以往的数据分析得到的概率;P(x|yi)为似然概率,即在给定的类别yi下属性x出现的概率;P( yi|x)为后验概率,一般是在得到更多信息之后再重新加以修正的概率,是在某特定条件下,某具体事物发生的概率,即x属于yi类的概率;P ( x)是x的先验概率(或边缘概率),也称标准化常量。式(2-1)也可以写成:
朴素贝叶斯分类算法是上述贝叶斯分类算法中最简单、最常见的一种。它的思想基础和贝叶斯分类算法是相同的:对于给出的待分类项,求解在此项出现的条件下,各个类别出现的概率,哪个类别的概率值最大,就认为此待分类项属于这个类别。
在贝叶斯分类算法基础上,朴素贝叶斯分类算法还需要满足“特征条件之间相互独立”的假设前提。也就是说,“朴素贝叶斯分类算法=贝叶斯公式+条件独立假设”,然后通过已给定的训练集,学习从输入到输出的联合概率分布,再基于学习到的模型,输入X求出使得后验概率最大的输出Y,再根据Y的结果判断待分类项属于哪一类。
(2)逻辑回归
逻辑回归是属于机器学习里面的监督学习,它是以回归的思想来解决分类问题的一种非常经典的二分分类器。逻辑回归的模型简单,可并行化,并且训练后的参数有较强的可解释性。
逻辑回归其实仅为在线性回归的基础上,套用了一个逻辑函数(如图2-3所示的Sigmoid函数),通过Sigmoid函数引入了非线性因素,因此可以轻松处理0/1分类问题。
图2-3 Sigmoid函数图形
逻辑回归主要在流行病学中应用较多,比较常用的情形是探索某疾病的危险因素,根据危险因素预测某疾病发生的概率。例如,想探讨胃癌发生的危险因素,可以选择两组人群,一组是胃癌组,一组是非胃癌组,两组人群肯定有不同的体征和生活方式。这里的因变量就是“是否患胃癌”,即“是”或“否”,自变量可以包括很多,如年龄、性别、饮食习惯、幽门螺杆菌感染等。自变量既可以是连续的,也可以是分类的。
2.核方法—SVM
支持向量机(Support Vector Machine,SVM)是20世纪90年代中期出现的统计学习的代表性技术。早在1963年,V.N.Vapnik 率先提出了“支持向量”的概念,并在之后提出了VC维、结构风险最小化原则等统计学习理论。20世纪到了90年代中期,统计学习一跃成为机器学习的主流,以支持向量机为代表的核方法在文本分类应用中充分地体现了自身的优越性。到后来支持向量机被普遍接受,核技巧(kernel trick)也被用到了机器学习的各个方面。
如图2-4所示,给定训练样本集D,包含A类与B类样本,分类学习希望在基于训练集D的样本空间找到一个划分超平面,将不同类别的样本分开。在样本空间中,划分超平面可用如下线性方程描述。
图2-4 支持向量机示例
式(2-3)中,ω为法向量,决定了超平面的方向;b为位移项,决定超平面与原点之间的距离。则样本空间中任意点x到超平面的距离为
假设超平面(ω,b)能够正确分类样本,即对(xi,yi)∈D,若yi=+1,有ωTxi+b>0;若yi=-1,有ωTxi+b<0,可得
距离超平面最近的几个训练样本点使式(2-5)成立,它们被称为支持向量(support vector)。两个异类支持向量到超平面的距离之和(也称间隔)为
想要找到最大间隔(maximum margin)的划分超平面,也就是要找到使γ最大时满足的约束参数ω和b,也就是要最大化‖ω‖-1,等价于最小化‖ω‖2。
3.决策树与随机森林
(1)决策树
决策树(decision tree)是一种基本的分类与回归方法,在此主要讨论用于分类的决策树,如图2-5所示。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。它可以被认为是if-then规则的集合,也可以被认为是定义在特征空间与类空间上的条件概率分布。其主要优点是模型具有可读性,分类速度快。决策树学习通常包括3个步骤:特征选择、决策树的生成和决策树的修剪。
图2-5 决策树分类示例
(2)随机森林
随机森林(random forest)则是由多个决策树所构成的一种分类器,如图2-6所示。更准确地说,随机森林是由多个弱分类器组合形成的强分类器。
图2-6 随机森林示例
(3)XGBoost
XGBoost是Boosting算法中的一种。Boosting算法的思想是将许多弱分类器集成在一起形成一个强分类器。如图2-7所示,XGBoost是一种提升树模型,它是将许多树模型集成在一起,形成一个强分类器,所用到的树模型则是CART回归树模型。
4.前馈与反向传播神经网络
机器学习中的神经网络是基于生物学中神经网络的基本原理,在理解和抽象了人脑结构和外界刺激响应机制后,以网络拓扑知识为理论基础,模拟人脑的神经系统对复杂信息的处理机制的一种数学模型。
图2-7 XGBoost示例
神经网络最基本的单元是神经元,人脑的神经元结构如图2-8(a)所示。1943年McCulloch和Pitts提出的M-P神经元模型,如图2-8(b)所示,其中f为激活函数。图2-8(c)所示分别为激活函数sign函数与Sigmoid函数图形,以sign函数为例,大于0时取1,小于等于0时取0。可以看出,M-P神经元模型就是一个加权求和再激活的过程,能够完成线性可分的分类问题。
图2-8 神经网络生物学结构及数学模型
而感知机(perceptron)则由两层神经元组成,感知机能够轻易地实现逻辑与、或、非运算,主要是由于这些问题都是线性可分的问题(存在一个线性超平面,将不同的情况分开),而当遇到线性不可分的问题如异或门,感知机便束手无策了。要实现对异或门的模拟,则需要将模拟与、或、非3种逻辑门的神经元进行连接,形成多层感知机。多层感知机(后改名为神经网络)的概念应运而生,其中除去输入层与输出层的神经元,其他各层神经元都被称为隐藏层(hidden layer),如图2-9所示。
图2-9 感知机与多层感知机
图2-10所示为一个单隐层前馈神经网络,圆圈表示神经网络的输入,有“+1”的圆圈称为偏置节点。输入层接受外界输入,并通过隐藏层与输出层对信号进行加工,并最终在输出层神经元输出结果。神经网络的学习过程,其实就是学习如何对信号进行更好的加工,使其预测得到的结果尽可能准确。
图2-10 单隐层前馈神经网络
多层网络的学习能力强于单层感知机,但多层网络的训练也需要更强大的学习算法来实现。此时,误差反向传播(Back Propagation,BP)算法的出现为多层网络的实现带来了曙光。BP算法基于梯度下降法,主要依靠两个环节(激励传播、权重更新)反复迭代优化模型。激励传播主要指前向传播过程的网络对输入的激励响应,以及反向传播阶段隐藏层和输出层获取的相应误差。权重更新则是指反向传播过程中通过输出层的误差对连接权值与阈值进行调整,并在迭代学习中不断优化模型。
2.1.3 深度学习算法
深度神经网络是指隐藏层数目更多(更深层)的网络。机器学习算法如支持向量机或决策树都只是将数据变换到一两个连续的表示空间,还需要人为设计表示层,而深度神经网络则依靠其自身的特点将这一过程自动化。
曾经严重依赖于手工提取特征的机器学习任务(如目标检测、机器翻译和语音识别),如今都已被各种端到端的深度学习算法完成。常见的深度神经网络有适合处理图像的卷积神经网络,适合处理时序数据的循环神经网络,以及善于处理非欧式空间数据的图神经网络。
1.卷积神经网络
卷积神经网络(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。CNN的基本结构由输入层、卷积层、池化层、全连接层及输出层构成,如图2-11所示。卷积层和池化层一般会取若干个,采用卷积层和池化层交替设置,即一个卷积层连接一个池化层,池化层后再连接一个卷积层,依此类推。由于卷积层中输出特征面的每个神经元与其输入进行局部连接,并通过对应的连接权值与局部输入进行加权求和再加上偏置值,得到该神经元输入值,该过程等同于卷积过程,CNN由此而得名。
在20世纪90年代,LeCun等人发表论文,使用BP算法设计并训练了CNN模型,并将该模型命名为LeNet-5,LeNet-5是经典的CNN结构,可以对手写数字做分类。然而,在面对更复杂的问题时,由于当时缺乏大规模训练数据和足够的计算能力,LeNet-5的处理结果并不理想。之后,人们设计了很多方法,想要克服难以训练深度CNN的困难。其中,最著名的是Krizhevsky提出的AlexNet结构,在图像识别任务上取得了重大突破,AlexNet与 LeNet-5类似,但层次结构上要更加深一些。同时使用了非线性激活函数ReLu与Dropout方法,取得了卓越的效果。
图2-11 卷积神经网络的基本结构
AlexNet 的大获成功,掀起了卷积神经网络的研究热潮。在这之后,研究人员又提出了其他的改善方法,其中最著名的要数ZFNet、VGGNet、GoogleNet和ResNet这4种。从结构上看,CNN发展的一个方向就是增加层数,获得2015年ILSVRC(ImageNet Large Scale Visual Recognition Challenge,ImageNet大规模视觉识别挑战赛)冠军的ResNet的层数是AlexNet的20多倍,是VGGNet的8倍多。通过增加深度,网络便能够利用增加的非线性得出目标函数的近似结构,同时得出更好的特性表征。但是,这样也增加了网络的整体复杂度,使网络变得难以优化,很容易过拟合。
2.循环神经网络
循环神经网络(Recurrent Neural Network,RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归且所有节点(循环单元)按链式连接的递归神经网络,如图2-12所示。对循环神经网络的研究始于20世纪80~90年代,并在21世纪初发展为深度学习算法之一,其中双向循环神经网络(Bidirectional RNN,Bi-RNN)和长短期记忆网络(Long Short-Term Memory networks,LSTM)是常见的循环神经网络。
2017年,Facebook人工智能实验室提出基于卷积神经网络的seq2seq架构,将RNN替换为带有门控单元的CNN,提升效果的同时大幅加快了模型训练速度,此后不久,Google提出Transformer架构,使用自注意力机制(self-attention)代替原有的RNN及CNN,进一步降低了模型复杂度。在词表示学习方面,Allen 人工智能研究所在2018年提出上下文相关的表示学习方法ELMo,利用双向LSTM语言模型对不同语境下的单词学习不同的向量表示,在6个自然语言处理(Nature Language Process,NLP)任务上取得了提升。OpenAI团队在此基础上提出预训练模型GPT,把LSTM替换为Transformer来训练语言模型,在应用到具体任务时,与之前学习词向量当作特征的方式不同,GPT直接在预训练得到的语言模型的最后一层接上Softmax作为任务输出层,然后再对模型进行微调,在多项任务上GPT取得了更好的效果。不久之后,Google提出BERT模型,将GPT中的单向语言模型拓展为双向语言模型,并在预训练中引入了预测下一句(next sentence prediction)任务。BERT模型在11个任务中取得了最好的效果,是深度学习在NLP领域又一个里程碑式的成果。
图2-12 循环神经网络
3.图神经网络
图神经网络(Graph Neural Network,GNN)的概念最早是Scarselli等人在2009年提出的,它扩展了现有的神经网络,用于处理图中表示的数据,如图2-13所示。
图2-13 图神经网络
图神经网络划分为五大类别,分别是图卷积网络(Graph Convolution Networks,GCN)、图注意力网络(Graph Attention Networks,GAN)、图自编码器(Graph Autoencoders,GA)、图生成网络(Graph Generative Networks,GGN)和图时空网络(Graph Spatial-temporal Networks,GSN)。
其中,图卷积网络是许多复杂图神经网络模型的基础,包括基于自动编码器的模型、生成模型和时空网络等。图2-13直观地展示了图神经网络学习节点表示的步骤。GCN方法又可以分为两大类,基于谱(spectral-based)的方法和基于空间(spatial-based)的方法。基于谱的方法从图信号处理的角度引入滤波器来定义图卷积,其中图卷积操作被解释为从图信号中去除噪声。基于空间的方法将图卷积表示为从邻域聚合特征信息,当图卷积网络的算法在节点层次运行时,图池化模块可以与图卷积层交错,将图池化为高级子结构。
上面主要介绍了目前工业智能中所涉及的一些技术和方法,但是重要的是如何利用这些技术和方法实现工业智能。因此,下面将详细介绍工业智能的实现流程。