2.1 人工智能
人工智能主要研究用人工的方法和技术,模仿、延伸和扩展人的智能,实现机器智能。有人把人工智能分成两大类:一类是符号智能,一类是计算智能。符号智能是以知识为基础,通过推理进行问题求解,也即所谓的传统人工智能。计算智能是以数据为基础,通过训练建立联系,进行问题求解。人工神经网络、遗传算法、模糊系统、进化程序设计、人工生命等都可以包括在计算智能。传统人工智能主要运用知识进行问题求解。从实用观点看,人工智能是一门知识工程学:以知识为对象,研究知识的表示方法、知识的运用和知识获取。
近年来神经生理学和脑科学的研究成果表明,脑的感知部分,包括视觉、听觉、运动等脑皮层区不仅具有输入/输出通道的功能,而且具有直接参与思维的功能。智能不仅是运用知识,通过推理解决问题,智能也处于感知通道。
1990年史忠植提出了人类思维的层次模型,表明人类思维有感知思维、形象思维、抽象思维,并构成层次关系。感知思维是简单的思维形态,它通过人的眼、耳、鼻、舌、身感知器官产生表象,形成初级的思维。感知思维中知觉的表达是关键。形象思维主要是用典型化的方法进行概括,并用形象材料来思维,可以高度并行处理。抽象思维以物理符号系统为理论基础,用语言表述抽象的概念。由于注意的作用,使其处理基本上是串行的。
2.1.1 机器学习
机器学习算法是人工智能的核心。根据数据类型的不同,对一个问题的建模有不同的方式。在机器学习领域,有几种主要的学习方式。对学习方式和算法有总体了解,可以在实际项目中建模和算法选择时根据场景需要来选择最合适的算法,获得最好的结果。
从学习方式的角度看,当前可以分成七大类,每一类中又细分出具体的算法。
目前可在智慧建筑系统中应用的机器学习方式如下。
1)有监督学习(supervised learning):从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果。主要应用于分类和预测。监督学习的训练集要求是包括输入和输出,也可以说是特征和目标。训练集中的目标是由人标注的。常用算法包括人工神经网络(Artificial neural network)、贝叶斯(Bayesian)、决策树(Decision Tree)和线性分类(Linear classifier)等。在有监督学习方式下,输入数据被称为“训练数据”,每组训练数据有一个明确的标识或结果,如对防垃圾邮件系统中“垃圾邮件”“非垃圾邮件”,对手写数字识别中的“1”“2”“3”“4”等。在建立预测模型的时候,监督式学习建立一个学习过程,将预测结果与“训练数据”的实际结果进行比较,不断地调整预测模型,直到模型的预测结果达到一个预期的准确率。监督式学习的常见应用场景如分类问题和回归问题。常见算法有逻辑回归(Logistic Regression)和反向传递神经网络(Back Propagation Neural Network)。
2)无监督学习(unsupervised learning):与监督学习相比,在非监督式学习中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构,又称归纳性学习(clustering)。利用K方式(Kmeans),建立中心(centriole),通过循环和递减运算(iteration&descent)来减小误差,达到分类的目的。常用算法包括人工神经网络(Artificial neural network)、关联规则学习(Association rule learning)、分层聚类(Hierarchical clustering)和异常检测(Anomaly detection)等。
3)半监督学习(semi-supervised learning):介于监督学习与无监督学习之间。结合了大量未标记的数据和少量标签数据。在此学习方式下,输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构以便合理地组织数据来进行预测。应用场景包括分类和回归,算法包括一些对常用监督式学习算法的延伸,这些算法首先试图对未标识数据进行建模,在此基础上再对标识的数据进行预测。如图论推理算法(Graph Inference)或者拉普拉斯支持向量机(Laplacian SVM)等。
常用算法包括生成模型(Generative models)、低密度分离(Low-density separation)和联合训练(Co-training)等。
4)强化学习(Reinforcement learning):在这种学习模式下,输入数据作为对模型的反馈,不像监督模型那样,输入数据仅仅是作为一个检查模型对错的方式,在强化学习下,输入数据直接反馈到模型,模型必须对此立刻做出调整。常见算法包括Q-Learning以及时间差学习(Temporal difference learning)。在企业数据应用的场景下,人们最常用的是监督式学习和非监督式学习模型。在图像识别等领域,由于存在大量的非标识数据和少量的可标识数据,目前半监督式学习是一个很热的话题。而强化学习更多地应用在动态系统以及机器人控制等。
5)深度学习(DeepLearning):深度学习的“深度”是指从“输入层”到“输出层”所经历层次的数目,即“隐藏层”的层数,层数越多,深度也越深。所以越是复杂的选择问题,越需要更多的层次。常见的深度学习算法包括:受限波尔兹曼机(Restricted Boltzmann Machine,RBN),Deep Belief Networks(DBN),卷积网络(Convolutional Network),堆栈式自动编码器(Stacked Auto-encoders)。
6)迁移学习(Transfer Learning):迁移学习TL(Transfer Learning)是把已学训练好的模型参数迁移到新的模型来帮助新模型训练。考虑到大部分数据或任务是存在相关性的,所以通过迁移学习,可以将已经学到的模型参数通过某种方式来分享给新模型从而加快并优化模型的学习效率。常见的算法是传递式迁移学习(Transitive Transfer Learning)。
7)其他:主要分为集成算法与降低维度算法。集成算法用一些相对较弱的学习模型独立地就同样的样本进行训练,然后把结果整合起来进行整体预测。集成算法的主要难点在于究竟集成哪些独立的较弱的学习模型以及如何把学习结果整合起来。常见的算法包括:Boosting,Bootstrapped Aggregation(Bagging),AdaBoost,堆叠泛化(Stacked Generalization,Blending),梯度推进机(Gradient Boosting Machine,GBM),随机森林(Random Forest)。降低维度算法分析数据的内在结构,不过降低维度算法是以非监督学习的方式试图利用较少的信息来归纳或者解释数据。这类算法可以用于高维数据的可视化或者用来简化数据以便监督式学习使用。常见的算法包括:主成分分析(Principle Component Analysis,PCA),偏最小二乘回归(Partial Least Square Regression,PLS),Sammon映射,多维尺度(Multi-Dimensional Scaling,MDS),投影追踪(Projection Pursuit)等。
2.1.2 专家系统
专家系统(Expert System)是一种在特定领域内具有专家水平解决问题能力的程序系统,通过对人类专家的问题求解能力的建模,采用人工智能中的知识表示和知识推理技术来模拟通常由专家才能解决的复杂问题,达到具有与专家同等解决问题能力的水平。这种基于知识的系统设计方法是以知识库和推理机为中心而展开的,即专家系统=知识库+推理机。它是早期人工智能的一个重要分支,可以看作是一类具有专门知识和经验的计算机智能程序系统,一般采用人工智能中的知识表示和知识推理技术来模拟专家的思维过程,解决通常由领域专家才能解决的复杂问题。
自1968年费根鲍姆等人研制成功第一个专家系统DENDEL以来,专家系统获得了飞速的发展,并且运用于医疗、军事、地质勘探、教学、化工等领域,产生了巨大的经济效益和社会效益。现在,专家系统已成为人工智能领域中最活跃、最受重视的领域。
它把知识从系统中与其他部分分离开来。专家系统强调的是知识而不是方法。很多问题没有基于算法的解决方案,或算法方案太复杂,采用专家系统,可以利用人类专家拥有丰富的知识,因此专家系统也称为基于知识的系统(Knowledge-Based Systems)。专家系统应该具备以下三个要素:①具备某个应用领域的专家级知识;②能模拟专家的思维;③能达到专家级的解题水平。
专家系统的基本结构如图2-1-1所示,其中箭头方向为信息流动的方向。专家系统通常由人机交互界面、知识库、推理机、解释器、综合数据库、知识获取等6个部分构成。
图2-1-1 专家系统的基本结构
1.知识库
知识库用来存放专家提供的知识。专家系统的问题求解过程是通过知识库中的知识来模拟专家的思维方式的,因此,知识库是专家系统质量是否优越的关键所在,即知识库中知识的质量和数量决定着专家系统的质量水平。一般来说,专家系统中的知识库与专家系统程序是相互独立的,用户可以通过改变、完善知识库中的知识内容来提高专家系统的性能。
2.解释器
人工智能中的知识表示形式有产生式、框架、语义网络等,而在专家系统中运用得较为普遍的知识是产生式规则。产生式规则以IF…THEN…的形式出现,就像BASIC等编程语言里的条件语句一样,IF后面跟的是条件(前件),THEN后面的是结论(后件),条件与结论均可以通过逻辑运算AND、OR、NOT进行复合。在这里,产生式规则的理解非常简单:如果前提条件得到满足,就产生相应的动作或结论。
3.推理机
推理机针对当前问题的条件或已知信息,反复匹配知识库中的规则,获得新的结论,以得到问题求解结果。在这里,推理方式可以有正向和反向推理两种。正向推理是从前件匹配到结论,反向推理则先假设一个结论成立,看它的条件有没有得到满足。由此可见,推理机就如同专家解决问题的思维方式,知识库就是通过推理机来实现其价值的。
4.人机交互界面
人机交互界面是系统与用户进行交流时的界面。通过该界面,用户输入基本信息、回答系统提出的相关问题,并输出推理结果及相关的解释等。
5.综合数据库
综合数据库专门用于存储推理过程中所需的原始数据、中间结果和最终结论,往往是作为暂时的存储区。解释器能够根据用户的提问,对结论、求解过程做出说明,因而使专家系统更具有人情味。
6.知识获取
知识获取是专家系统知识库是否优越的关键,也是专家系统设计的“瓶颈”问题,通过知识获取,可以扩充和修改知识库中的内容,也可以实现自动学习功能。
用于某一特定领域内的专家系统,可以划分为以下几类:
诊断型专家系统:根据对症状的观察分析,推导出产生症状的原因以及排除故障方法的一类系统,如医疗、机械、经济等。
解释型专家系统:根据表层信息解释深层结构或内部情况的一类系统,如地质结构分析、物质化学结构分析等。
预测型专家系统:根据现状预测未来情况的一类系统,如气象预报、人口预测、水文预报、经济形势预测等。
设计型专家系统:根据给定的产品要求设计产品的一类系统,如建筑设计、机械产品设计等。
决策型专家系统:对可行方案进行综合评判并优选的一类专家系统。
规划型专家系统:用于制订行动规划的一类专家系统,如自动程序设计、军事计划的制订等。
教学型专家系统:能够辅助教学的一类专家系统。
数学专家系统:用于自动求解某些数学问题的一类专家系统。
监视型专家系统:对某类行为进行监测并在必要时候进行干预的一类专家系统,如机场监视、森林监视等。
著名的专家系统有:ExSys:第一个商用专家系统;Mycin:一个诊断系统,其表现出人意料的好,误诊率达到专家级水平,超出一些诊所的医生;Siri:一个通过辨识语音作业的专家系统,由苹果公司收购并且推广到自家产品内作为个人秘书功能。
2.1.3 多智能体系统
多智能体系统是多个智能体组成的集合,它的目标是将大而复杂的系统建设成小的、彼此互相通信和协调的,易于管理的系统。它的研究涉及智能体的知识、目标、技能、规划以及如何使智能体采取协调行动解决问题等。研究者主要研究智能体之间的交互通信、协调合作、冲突消解等方面,强调多个智能体之间的紧密群体合作,而非个体能力的自治和发挥,主要说明如何分析、设计和集成多个智能体构成相互协作的系统。人类智能的本质是一种社会性智能,人类绝大部分活动都涉及多个人构成的社会团体,大型复杂问题的求解需要多个专业人员或组织协调完成。因此,有必要对社会智能进行研究,包括多智能体系统的行为理论、体系结构、通信机制、通信语言等分支。
多智能体系统(MAS,Multi-Agent System)或多智能体技术(MAT,Multi-Agent Technology)是分布式人工智能(DAI,Distributed Artificial Intelligence)的一个重要分支,是20世纪末至21世纪初国际上人工智能的前沿学科。研究的目的在于解决大型、复杂的现实问题,而解决这类问题已超出了单个智能体的能力。多智能体系统是多个智能体组成的集合,其多个智能体成员之间相互协调,相互服务,共同完成一个任务。它的目标是将大而复杂的系统建设成小的、彼此互相通信和协调的,易于管理的系统。多智能体理论目前已广泛应用于军事、城市、经济、工业、建筑、物流、供应链等领域,世界上许多数学家、经济学家、人工智能学家等都正在对该系统进行深入研究。
多智能体理论为多自主体传感器网络、自组织动态智能网络、无线传感网、城市物联网等的发展提供了理论支撑,能够很好地描述和解释现实世界中的智能化应用系统。智慧建筑和智慧城市系统非常适合应用该理论。