李徳毅《人工智能导论》阅读 【非专业书籍】【已完结】

第一章 绪论

专业人士更倾向于的人工智能的定义:知识的科学。
那么什么是知识?柏拉图:JTB条件(Justified&True&Belief. 得到辩护的真信念就是知识)。但被盖梯尔否定了:盖梯尔悖论。

史密斯和琼斯都在向某公司申请一份工作,该公司老板十分肯定地对史密斯说,琼斯将被录用。就在十分钟之前史密斯还发现琼斯的衣服口袋里有十枚硬币,于是,史密斯有充分的证据相信以下命题:
a: 琼斯是将要获得那份工作的人并且琼斯的口袋里有十枚硬币。
由命题a可以逻辑地推出以下命题:
b: 将要得到那份工作的人的口袋里有十枚硬币。
史密斯看出a和b之间的这种逻辑关系,因而他有充分的理由根据a来相信b,也就是说,史密斯对命题b的相信是得到辩护的。
然而,实际的情况是,最终获得那份工作的人是史密斯而不是琼斯,并且史密斯的口袋里恰巧也有十枚硬币。在这种情况下,尽管命题a是假的,但命题b仍然是真的。看起来,命题b对于史密斯来说满足JTB的三个条件:1、b是真的;2、b是史密斯的一个信念,即史密斯相信b;3、史密斯相信b是有充分理由的,即得到辩护的。但是,我们却不能说,史密斯知道命题b,因为b的真实性来自史密斯的口袋里有十枚硬币和史密斯获得那份工作,而这两个事实都是史密斯所不知道的。史密斯相信b的理由是a,而构成a的一个支命题即“琼斯将获得那份工作”是假的。由此可见,满足JTB不是使史密斯知道b的充分条件,因此,JTB不能成为知识的恰当定义

知识的基本单位是概念,经典概念的定义由三部分组成:概念的符号表示、内涵表示、外延表示。概念有三个功能:指物、指心、指名。它们分别对应了人工智能的三个流派:行为主义、连接主义、符号主义。

符号主义认为,指名对了,指物自然正确。图灵测试就是一种符号测试。对符号主义的批判:中文屋实验。
(笔者注:如果把屋子里的程序和里面的人看作一个整体,那不就是有智能了?换个角度,屋子外面的人的推理过程是有误的,他没有考虑到除屋内之外的力量。但这种力量可能是不可知的?那这的确是个问题。)

符号主义还有三个现实挑战:概念的组合爆炸、命题的组合悖论(如柯里悖论)、经典概念在实际生活中难以得到。
(笔者注:这几个倒是实实在在的问题)

柯里悖论:"C:若C则P"是一个真命题,从而任意P为真

连接主义认为大脑是一切智能的基础,概念在脑区中可以找到对应的表示区。
对连接主义的批判:缸中之脑实验(笔者注:胡思乱想一番。如果真能实现,那么对那个大脑而言接受的东西就是知识,如果大脑之后重新相信自己之前的句子是被输入的,那么之前的东西就不再是知识了。但如果这么解释,知识就不是良定义了。这的确是个问题。参见黑客帝国了属于是。)
连接主义的现实问题是人们并不清楚人脑中概念的具体机制。如今的神经网路与深度学习与人脑的真正机制距离很远。

行为主义认为只要把智能行为表现出来。强化学习属于行为主义。
对行为主义的批判:完美伪装者和斯巴达人
现实问题:莫拉维克悖论
(笔者注:这个挺好理解的)

人工智能三大流派假设的成立条件是指物指名指心等价,但有一些例子说明它们并不一定等价。

人工智能研究的三大部分:知识的表示、获取、应用。

第二章 概念表示

引入命题逻辑。将命题进一步分解研究的逻辑成为谓词逻辑(可以看作一种推广)。0元谓词就是命题。

引入集合论。

概念有一个问题,在现实中,很多东西不是非0即1的。如秃子悖论。因此维特根斯坦认为,并不是所有概念都存在经典的内涵表示(命题表示)。为此,认知科学家提出了一些新概念表示理论。

原型理论:比如雷锋是好人的原型。基于概念边界的模糊性,有人发展了模糊逻辑、模糊数学。

样例理论:概念不能由一个原型代表,但可以由多个已知样例表示。

知识理论:发现概念不能独立于特定文明之外存在,认为概念是特定知识框架(文明)的一个组成部分。

不论怎样,认知科学假设概念在人的心智中是存在的,概念在人心智中的表示称为认知表示,属于概念的内涵表示。

第三章 知识表示

有关信息关联在一起形成的信息结构称为知识。其中一种以“如果,那么”的形式出现,这种知识被称为“规则”,反应的是信息的因果关系;“雪是白色的”这种知识被称为“事实”。

知识的特性:相对正确性、不确定性(由随机性/模糊性/经验/不完全性引起)、可表示性和可利用性(笔者注:只可意会的那种东西不算知识)

知识表示:将人类知识形式化或者模型化。

产生式(规则)表示法 (production rule)

  1. 确定性规则的产生式表示 P->Q 或 IF P THEN Q; 指如果P满足那么Q成立或Q被执行
  2. 不确定规则的产生式表示 P->Q (置信度) 或 IF P THEN Q (置信度)
  3. 确定性事实的产生式表示 例子(李,年龄,40),(朋友,李,陈)
  4. 不确定性事实的产生式表示 例子(李,年龄,40,0.8),(朋友,李,陈,0.1)

产生式的前提也叫条件、前件、左部,结论也叫后件、右部。

一组产生式协同作用构成产生式系统。产生式系统一般由规则库、综合数据库(事实库)、控制系统(推理机)三部分组成

规则库中的知识需要进行合理的组织,检测排除冗余/矛盾的知识,提高求解问题效率

综合数据库存放问题的初始状态、原始证据、中间结论、最终结论等信息,其中内容不断变化。

推理机由一组程序组成。要做的事包括:推理、冲突消解、执行规则、检查推理终止条件

产生式适合表达因果关系的过程性知识,是一种非结构化的知识表示法。难以表示具有结构关系的知识。

框架表示法

框架是一种描述所论对象属性的数据结构。
一个框架由若干个槽(slot)组成,每个槽分为若干个侧面(facet),一个槽描述所论对象某一方面的属性,一个侧面描述属性的一个方面。每个槽或者侧面都可以附加信息,一般为约束条件。
image

状态空间表示法

状态空间是利用状态变量和操作符号表示系统或问题的有关知识的符号体系,可用四元组\((S,O,S_0,G)\)表示
其中四个符号分别为状态集合、操作算子集合、初始状态集合、目的状态集合,从初始到目的的路径称为求解路径,求解路径上的操作算子序列是状态空间的一个解。
状态空间可以用有向图来描述。
例如TSP旅行商问题。

第四章 知识图谱

谷歌于2012提出。
传统搜索引擎中,知识卡片为用户提供更多与搜索内容相关的信息,具体来说是提供结构化摘要。

本体知识表示

本体有四个特性:概念化、精确性、形式化、共享性。
本体一般由概念、实例、关系组成,还有一些本体包含公理。

万维网知识表示

超文本,是以超链接的方法将不同空间的文字信息组织在一起的网状文本。万维网,即把超文本嫁接到因特网上,让用户通过超链接浏览互联网上的各类资源。这做到了让人方便地获取语义信息,但是计算机本身没有在其中进行理解和计算。进一步地,1999年提出了语义万维网的愿景:在语义web中,信息有良好的语义定义,计算机能够理解并自动存取语义信息。

万维网定义了网页的超文本标记语言HTML。而万维网也有自己的知识描述语言,目的是让及其更容易理解网络上的内容。

  1. 可扩展标记语言XML(extensible markup language)
    XML用标签组织互联网信息内容。XML包括标签、元素、属性三个基本概念。标签必须成对出现。标签包围的数据叫元素。元素具有不同的属性。
  2. 资源描述框架RDF(resource description framework)与链接数据
    包含资源、属性、陈述几个基本概念。资源必须要有全球统一资源标识符URI(uniform resources identifier);属性是一种特殊的资源,描述资源之间的关系;陈述是一个主谓宾三元组,其中的主谓宾都为资源。(例子:人工智能的授课老师是张莉。)如果我们把主语到宾语连一条有向边,那么所有RDF三元组就把互联网的知识结构转化为图结构。
    链接数据的四个原则:用URI标识资源、用HTTP URL实现资源的互联、查看URI时可以用RDF提供有用信息、为事物添加与其他事物的URI链接。
    LOD是链接数据的一个重要项目。
  3. 网络本体语言 OWL(web ontology language)
    OWL进一步定义了关系的一些特性:对称性、传递性、函数性、可逆性、反函数性

知识图谱的现状和发展

知识图谱是一个基于本体知识表示的实现,经历了由早期人工添加合作编辑到利用机器学习和信息抽取自动获取互联网信息的过程。

  1. 维基百科类
    Wikipedia、DBpedia、Freebase、YAGO、BabelNet、XLORE...

  2. 知识图谱的生命周期
    知识建模、知识获取、知识集成、知识共享与应用

获取知识的资源对象大体可以分为结构化/半结构化/非结构化,结构化数据比如前面提到的DBpedia这种已有知识图谱,半结构化比如前面提到的百科,非结构化比如互联网上的自然文本。

互联网知识在数据中的分布有一些特点:多媒体性、隐蔽性、分布性、异构性、海量性

知识建模主要包括领域概念及概念层次学习、概念属性学习
概念层次学习是为了确定概念和子概念之间的上下位关系,最终形成树或者有向无环图的结构。概念属性抽取则是要在给定概念从不同类型的数据源中自动获取其属性集合

知识获取将对知识建模定义的知识要素进行实例化的过程,这通常采用不同的机器学习方法进行事实性知识学习,本书后面的章节将进行介绍。

知识管理

知识赋能

知识图谱的应用示例

语义搜索服务、知识问答服务、大数据分析服务...

第五章 搜索技术

搜索策略旨在解决组合爆炸的问题
选取规则有两种基本方式:无信息引导的搜索策略(盲目搜索)、启发式搜索策略

盲目搜索主要包括BFS/DFS
【例题:野人与传教士问题、N皇后问题、八数码问题】

启发式搜索主要包括A算法和A*算法
首先介绍A算法:定义一个评价函数\(f(n)=g(n)+h(n)\)
其中,f(n)表示从初始节点到目标节点的经过n的最佳路径耗散值的估计值,g(n)表示从初始节点到n的最佳路径耗散值的估计值。这里的耗散值,就是路径的代价。我们每一次从叶节点中选择一个f(n)最小的节点扩展,这种策略就是A算法。
特别地,如果\(h(n)\leq h*(n)\)那么可以证明问题有解时A算法的耗散值最小,这时的算法被称为A*算法

博弈搜索:Alphago的搜索方法
更早期的IBM的国际象棋的深蓝:\(\alpha-\beta\)剪枝算法,但对围棋不适用
2006年 信心上限决策方法+蒙特卡洛树搜索
具体来说,传统方法的困难在于难以对围棋棋局评分,如果我们对于当前棋局随机模拟双方走步计算胜率就可以计算每个可下棋点的胜率。实际建立搜索树的过程:选择-扩展-模拟-同传
而信心上限决策方法是为了得到最大化效益的选择,它会优先考虑两个因素,一是优先选择模拟过程中到现在胜率最大的点以进一步考察它是否是好点,二是优先选择模拟次数比较少的点以考察它是不是潜在的好点。此方法对两个因素进行加权折中。

第六章 群智能算法(SI, swarm intelligence)

受动物群体智能启发的算法叫群智能算法。主要包括粒子群优化算法、蚁群算法、人工免疫算法。

遗传算法

基本遗传算法(SGA, simple genetic algorithms)只使用选择算子、交叉算子、变异算子三种基本遗传算子
遗传算法的五个基本要素:参数编码、初始群体的设定、适应度函数的设计、遗传操作设计、控制参数设定。

  1. 编码
    二进制编码或者一维染色体编码
    实数编码
  2. 群体设定
    初始种群的产生
    种群规模的确定
  3. 适应度函数【区分群体中个体好坏的标准】

\[Fit(f(x))=f(x),其中f(x)是目标函数 \]

  1. 选择【也叫复制】
    个体选择概率分配方法【适应度比例方法/蒙特卡罗法、排序方法】
    选择个体方法【轮盘赌选择RWS】
    在使用选择方法的时候常会同时使用最佳个体保存方法【也叫精英选拔方法】以保证不会丢失最优个体
  2. 交叉【也叫重组】
    交叉算子/基因重组,交叉方法应能使父串的特征遗传给子串,子串应能够部分或者全部地继承父串的结构特征和有效基因。常见交叉算子:一点或多点交叉。
  3. 变异
    把个体编码中的一些位随机变化。变异算子的基本内容是对群体中的个体串的某些基因座上的基因值做变动。
    主要变异方法:位点变异、逆转变异、插入变异

有关遗传算法的应用:
流水车间调度问题【FSP】

粒子群优化算法【PSO,particle swarm optimization】

把群体中的每个个体看作n维搜素空间中一个没有体积没有质量的粒子,在搜索空间中以一定的速度飞行,通过群体中粒子间的合作与竞争产生的群体智能指导优化搜索。
基本流程:

  1. 初始化粒子
  2. 评价每个粒子的适应度,计算每个粒子的目标函数
  3. 计算每个粒子经过的最好位置\(P_i\),与适应度比较,如果适应度优于\(P_i\),则将其作为该粒子的最好位置。
  4. 设置全局最优值\(P_g\)
  5. 根据算法中的公式更新粒子的速度和位置
  6. 检查终止条件

算法参数:群体规模、惯性权重【搜索新区域的能力】、加速度、最大速度【决定精度】、最大代数
位置更新方程的分析
参数的具体值的设置
应用:车辆路径问题(VRP)

蚁群算法(ACO,ant colony optimization)

观察蚁群觅食习性得到,发现信息素跟踪和信息素遗留两种行为,这种选择称为自催化,属于正反馈,也被称为增强型学习系统。
基本算法【以旅行商问题TSP为例】
参数选择
应用:柔性作业车间调度问题

第七章 机器学习

一个经典的定义:利用经验改善计算机系统自身的性能,一般来说经验对应于历史数据,计算机系统对应机器学习模型,性能对应模型对新数据的处理能力

机器学习的发展

机器学习以无监督学习、有监督学习、强化学习等为主要研究问题,提出一系列模型方法,Tom Mitchell是机器学习的早期建立者,Michael Jordan推动了统计学与机器学习的融合。

监督学习:在已知输入输出的情况下训练出一个模型,将输入映射到输出。【笔者评:突然变得熟悉起来】
定义:数据集、样本、属性或特征、特征向量。

  1. K-近邻算法:最简单的机器学习分类算法之一。核心思想是排队。计算待预测样本和训练集中所有数据点的距离,取距离短的前K个,哪个类别在K中的数量最多,就认为样本属于该类。缺陷是对K的选择敏感、计算量大。
  2. 决策树:每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。决策树学习是为了产生一棵泛化能力强的决策树,流程采用分而治之的思想,生成过程是递归的。学习的关键是如何选择最优划分属性。因为我们希望决策树的分支结点包含的样本尽可能属于同一类,即结点的纯度越来越高,研究者提出了很多方法,但在噪声存在的情况下决策树性能明显下降。
  3. 支持向量机【SVM,support vector machine】,给定一组实例,每个实例被标记为两个类别中的一个或另一个,训练算法通过寻求结构化风险最小提高学习机泛化能力。SVM模型将实例表示为空间中的点,映射使得单独类别的实例被尽可能大地间隔分开,然后将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。通俗来讲,它是一种二类分类模型,基本模型是特征空间上间隔最大的线性分类器,即SVM的学习策略是间隔最大化,最终可转化为一个凸二次规划问题的求解。解释:求解超平面分开实心点空心点。一个数据点的分类间隔越大,即离超平面越远,分类的置信度越大。我们定义数据集的间隔为它的所有数据点的最小间隔值,我们希望选择的超平面能够最大化这个间隔值。这也叫做最大间隔准则。但现实任务中样本也许不熟线性可分的,即找不到一个超平面,我们可以采用核方法来解决。image

无监督学习:不需要人类进行数据标注,而是模型自我认知自我归纳自我巩固。这更接近我们人类的学习方式。

  1. 聚类算法。能把样本集分为若干不相交的样本簇,目标是提高类内相似度,降低簇间相似度。最常用的是K-均值算法。希望最小化\(E=\sum_{i=1}^{k}\sum_{X\in C_i}||X-\mu_i||^2\)。贪心策略迭代方法求解,时间复杂度近于线性,但由于损失函数非凸,只能得到局部最优,对K的选择比较敏感。
  2. 自编码器。包括编码器和解码器两部分。能够将输入复制到输出。可以应用于数据去噪、数据降维。【笔者注:想起MC里那个数字识别系统】

弱监督学习:数据标签是不完全的,或者说数据的监督学习是间接的。

  1. 半监督学习:基于图的学习方法被广泛采用。节点表示数据点(包括标记数据和无标记数据),边赋予权重代表相似度。相似度越大,标签传播概率越高。标签传播时,每个节点根据相邻节点的标签更新自己的标签,最终相似节点的标签趋于一致,概率分布也趋于相似。这种学习方法可以得到闭式最优解。在医学图像处理中有重要应用。
  2. 迁移学习:强调举一反三的能力。定义源域、目标域。主要包括样本迁移、特征迁移、模型迁移三种方式。
  3. 强化学习:不给定动作,而是通过尝试发现各种动作的结果,并设置合适的奖励函数,让机器学习到一种行为策略以最大化累积奖赏。AlphaGo是经典应用。主要包括探索、利用两种策略。

机器学习涉及到计算机科学、概率论、统计学、逼近论、凸分析、算法复杂度理论等,开放了大量学习资源平台。最新进展可见国际机器学习会议ICML等。

第八章 人工神经网络与深度学习

人工神经网络【ANN,artificial neural network】是一个用大量简单处理单元经广泛连接组成的人工网络。深度学习能发现高维数据的复杂结构,比传统机器学习效果更好。

神经网络发展历史

BP算法:一种基于统计的对未知事件做预测的机器学习方法
之后,又提出了浅层学习【SL】方法
2006年,加拿大多伦多大学教授提出深度学习【DL】,具体来说,是通过无监督学习实现逐层初始化,它能把原始数据转换成更高层次、更抽象的表达。深度学习得到的深度网络结构被称为深度神经网络【DNN,deep neural networks】,其由多个单层非线性网络叠加而成。

神经元与神经网络

神经元的数学模型(M-P模型)开创了神经科学理论研究时代,此后又提出了几百种神经元模型。介绍了一种标准模型,由加权求和、线性动态系统、非线性函数映射三部分组成。【详略】

神经网络的行为是复杂的,可以组成高度非线性动力学系统,表现出不可预测性、不可逆性、多吸引子、可能出现混沌等。

根据神经元的连接方式可划分为前馈型、反馈型两大类神经网络。前馈型如BP神经网络、卷积神经网络。反馈型如Hopfield神经网络。

神经网络的知识表示是隐式的,这与产生式、框架都不同,神经网络的学习是指调整网络的连接权值或者结构,使输入和输出具有需要的特性。一开始Hebb提出了改变神经元连接强度的Hebb学习规则,但被认为没有准确反映突出变化基本规律。罗森布拉特提出了感知器模型,掀起了机器学习第一次高潮,但由于其仅仅是线性分类,且被明斯基指出感知器无法学习异或问题,导致神经网络研究陷入低潮。20世纪80年代,BP学习算法的提出让神经网络研究取得突破性进展。

BP神经网络及其学习算法

BP神经网络【back-propagation neural network,直译为反向传播神经网络】是多层前向网络。第一层叫输入层,中间层叫隐层,最后一层叫输出层。输入层的输入输出关系一般是线性函数,隐层为非线性函数【详略】。根据Kolmogorov定理,一个三层的BP神经网络可以任意精度逼近任意给定连续函数。

BP学习算法为一种有监督学习,通过反向学习使得误差最小,可以利用非线性规划中的最快下降法使得权值沿目标函数的负梯度方向改变。【详略】

BP算法实现时要注意:训练数据预处理、后处理、初始权值设置。

应用示例:识别数字

卷积神经网络

BP学习算法也有缺点:收敛慢,需要大量带标签的训练数据,容易陷入局部最优等,因此BP神经网络只能包含少许隐层,从而限制了性能。许多研究利用数学和工程技巧增加隐层的层数,得到了深度神经网络。

生理学上人们发现视觉信息的信息处理是分级的,高层特征是底层特征的组合,从底层到高层的特征表示越来越抽象,越来越难表现语义或意图,存在的可能猜测就越少,越利于分类。1989年Yaan LeCun受启发提出卷积神经网络(CNN, convolutional neural networks),成为了深度学习的基础。

卷积神经网络是一种多层神经网络,每层由多个二维平面组成,每个平面由多个独立神经元组成,卷积神经网络是由多个单层卷积神经网络整合形成的新网络,每个单层卷积神经网络包括卷积、非线性变换、下采样【非必须】三个阶段。C层:特征提取层/卷积层,S层:特征映射层/下采样层。CNN中每一个C层后面紧跟一个S层,S层的每一层由多个二维平面组成,每一个二维平面是一个特征图。输入图像通过与三个滤波器和可加偏置进行卷积,在C1层产生三个特征图,然后分别通过下采样对特征图每组的四个像素求和/加权值/加偏置,得到S2的三个特征图,再通过滤波器卷积形成C3,以此类推,最后S4把特征图变成向量输入到传统的全连接神经网络NN中进一步分类,再得到输出.所有特征图都可以用像素×像素定义图像大小,每一个像素代表了一个神经元,每一层所有特征图的像素个数就是这层网络的神经元个数。
最初的几个阶段由卷积层和池化层组成。特征途中,每一个单元通过一组被称为滤波器的权值连接到上一层特征图的局部快,然后这个局部加权值传到一个非线性函数,比如RelU【非线性激活函数映射】。一个特征图的全部单元共享滤波器,不同层的特征图使用不同的滤波器。在数学上,这种由一个特征图进行的滤波操作叫做离线卷积。

图像处理中,图像可以表示为像素的向量,如1000*1000的图像可以表示为1000000维向量,这样在BP神经网络中输入层到隐含层的参数有\(10^{12}\)个,难以训练。CNN受生物视觉启发,由每个映射面上的神经元共享权值,减少了自由参数的个数,或者说每个神经元不是对全局图像进行感知,只对局部进行感知,减少神经网络需要训练的权值参数的个数。【笔者评:说白了就是,理论上可以考虑一切,但那样计算量太大了,应该取得准确度与计算量的平衡,才是机器好的学习方法】例如局部感受域改为10*10,那么100w个隐层神经元只有10*10*\100w=1亿个连接。比原来少了4个数量级。

续上例,每个神经元现在有100个连接权值参数,如果每个神经元的这100个参数都相同,那么就只有100个参数,不管隐层神经元个数,两层之间的连接都只有100个参数,这就叫做卷积神经网络的权值共享。这背后是因为图像的一部分统计特性与其他部分一样【思考:全局观,整体观】。直观来讲,我们从一个大尺寸图像中取了一小块,学习到了一些特征,把这个特征作为探测器,与原本的图像做卷积,从而这个大尺寸图象的任意位置都获得一个不同特征的激活值。

续上例,我们只有一个100*100的卷积核,特征提取不充分,我们可以添加多个卷积核。

由于特征太多,我们需要对不同位置的特征进行聚合统计,这种操作叫池化。

卷积神经网络最成功的应用:人脸识别、手写识别。【详略】

生成对抗网络【GAN, generative adversarial network】

基本原理类似左右互搏,网络包括生成器和判别器两部分。

深度学习的模型大致分为判别式和生成式,目前判别式应用较多,但生成式更能反映数据内在概率分布数据。生成对抗网络就是一种生成式深度学习模型。我们对两个神经网络惊醒训练,经随机梯度下降实现优化。
参数化生成模型将一个高斯噪声映射为一个生成概率分布,再通过优化目标函数调整参数,使得生成概率分布(pg)尽可能逼近真实数据分布(pdata)。而判别器则希望正确区分真实数据和生成数据。二者博弈的同时,能力都在提升。

深度学习的应用

AlphaGo,医学影像识别,图像处理,语言处理

第九章 专家系统

希望把专家的知识总结出来,以计算机可以使用的形式加以表达。

概述

费根鲍姆定义:一种智能的计算机程序,运用知识和推理解决只有专家才能解决的复杂问题。这里的知识和问题均属于同一个特定领域。专家系统以知识库和推理机为核心,不追求最佳解,利用知识得到一个满意解是求解目标。专家系统强调知识库与包括推理机在内的其他子系统的分离。知识库与领域强相关,而推理机等子系统有一定通用性。
image

推理方法

正向推理和逆向推理,也叫数据驱动的推理和目标驱动的推理

一个简单的专家系统

【详略】
【笔者注:问题上十分像网络天才啊】

非确定性推理

涉及到很多问题,比如事实的表示、规则的表示、逻辑运算、规则运算、规则的合成。有很多不同的方法解决这些问题。下面介绍专家系统MYCIN中的可信度方法【CF, certainty factor】进行说明。【详略】_
【笔者注:这里的内容和书前面的重复了啊】

专家系统工具

只保留专家系统中的知识表示法以及和领域无关的推理机等部分,得到一个专家系统工具,这种工具被称为骨架型工具。例如EMYCIN。除了这种骨架型工具,还有一种专家系统工具是语言性工具,提供的是构建专家系统需要的基本机制。

第十章 计算机视觉

计算机视觉可以类比人大脑的(主要是视觉皮层区的)视觉能力。

概述

盲人辅助要想到多少任务呢?至少要有距离估计、目标检测跟踪定位、背景和物体分割、目标分类识别、场景分类识别、场景文字检测识别等任务。此外,计算机视觉还研究3D重建、图像编辑、自动图题、视觉问答等。

数字图像的类型及机内表示

了解像素、灰度图像、RGB彩色图像、RGBD图像、3D CT图像

常用计算机视觉模型和关键技术

本质上是函数拟合问题:对任意输入的图像,学习一个含参数\(\theta\)的函数\(F_{\theta}\)使得\(y=F_{\theta}\),其中y可能为类别标签,也可能为连续变量或向量/矩阵。

多数视觉模型可以被分为浅层、深度两类。

  1. 浅层模型

image
用到比较多的专家知识选择、设计。

比如第二步的特征设计与提取,特征需要人工设计,目前可基本分为两大类,即全局特征和局部特征。典型的全局特征如在全图上计算颜色直方图,还有傅里叶频谱,又如GIST特征。而局部特征一般更为精细,大多以建模边缘、梯度、纹理为目标,采用滤波器设计、局部统计量计算、直方图等手段,典型的局部特征如SIFT,SURF,HOF,LBP等。
其中,LBP【局部二值模式,local binary patterns】是一种编码图像微纹理的局部描述子。它只关注中心像素和其邻域像素的明暗关系。【详略】LBP的设计者定义了均衡模式和非等价模式的概念,注意到0/1串中00000111,01111000这种跳变最多发生两次的情况占绝大多数,因此非均衡模式被强制归为一类模式,从而一共有59种二值模式。【笔者评:不错的组合计数问题】。

举个例子,给定一幅128*160的人脸,我们先把它划分为4*5=20个子图像,每个子图像32*32,对每一个子图像有900个像素,计算得到900个模式值,统计59种模式出现的频数,得到59维直方图,再把这20个直方图串接即可。

再来看第三步的特征汇聚与特征变换两种办法,都是为了把高维特征编码到维度更低或者具有更好判别能力的新空间。
特征汇聚方法比如视觉词袋模型【BOW, bag-of-words】,忽略语法语序。特征变换方法比如主成分分析【PCA】,是一种在最小均方误差意义下最优的线性变换降维方法,又比如FLDA费舍尔线性判别分析方法,使得变换后空间中同一类别的样本散度尽可能小,类间散度尽可能大。然后又提到了核方法。【笔者评:这一大段似曾相识啊】
实现非线性映射的另一类方法是流形学习,可以简单理解为高维空间中低维嵌入,寻求把高维的数据映射到低维本征空间的地位嵌入,且低维空间中的数据能够保留原高维数据的某些本质结构特征。

再来看最后一步的分类器和回归器设计:基本借鉴机器学习领域。

  1. 基于深度模型的视觉方法

首先来看基于深度模型的目标检测技术。R-CNN最早将深度学习应用在目标检测中。步骤:①输入一张图像,无监督算法提取约2000个物体的可能位置。②取出所有候选区域缩放成相同大小,输入卷积神经网络提取特征。③用SVM对每个区域的特征进行分类。计算量过大,又提出了Fast R-CNN【详略】

再看看基于全卷积网络【FCN】的图像分割。FCN去掉了DCNN中的全连接层,取而代之的是1*1的卷积层和反卷积层。

最后了解一下融合图像和语言模型的自动图题生成。先用CNN学习图像表示,再用循环神经网络RNN或长短期记忆模型LSTM学习语言模型,并以CNN特征输入初始化RNN/LSRM的隐层节点,组成混合网络端对端训练,

具体应用:人脸识别

步骤:

  1. 人脸检测:AdaBoost方法
  2. 特征点定位:可以用目标检测技术找到眼睛鼻子嘴巴等,也可以用回归方法直接深度学习实现从人脸子图到特征点坐标的回归
  3. 面部子图预处理:对其关键点,处理亮度
  4. 特征提取
  5. 特征比对:如果采用LBP直方图特征,则常用直方图交进行相似度度量。
  6. 决策:阈值化。
    对人脸识别感兴趣可以参考OpenCV或SeetaFace开源软件中的代码实现。

第十一章 自然语言处理【NLP】

概述

人工智能可以分为运算智能、感知智能、认知智能、创造智能。前两个现在发展的比较成熟了。而自然语言理解处在认知智能最核心的地位,它的进步关系到知识图谱、推理能力、人工智能整体的实用化进展。
自然语言处理有四个基本任务:分词、词性标注、依存句法分析、命名实体识别。前两个好理解,依存句法分析指的是预测句子中单词与单词间的关系,并用树状结构表示整句的句法结构,即谁是谁的宾语这种。命名实体识别负责识别出哪些是人名、专有名词之类的。
深度学习技术从根本上改变了NLP。具体体现在:我们不再需要人工特征抽取,词嵌入的思想能得到多维语义空间上的表达,神经网络模型可以精准预测下一个词句的出现概率,循环神经网络可以对不定长句子编码,编码解码技术实现句子变换,强化学习使得用户反馈可以改进系统性能。
下面介绍NLP相关领域:神经机器翻译、智能人机交互【聊天机器人】、阅读理解【RNN很重要】、机器创作【机智过人节目当时看过】

机器翻译

机器翻译基本可分为:基于规则的机器翻译、基于实例的机器翻译、基于统计的机器翻译【解码算法生成翻译候选,然后用语言模型进行打分】、神经机器翻译四个阶段。

  1. 编码器解码器翻译模型
    机器翻译建模可以看作一个特殊的语言模型,机器翻译使用目标语言的语言模型预测某个句子的生成概率。但需以源语言句子作为条件。源语言句子的引入是十分稀疏的,我们需要对输入的句子重编码,我们采用的就是RNN。我们知道RNN分为输入层隐层输出层,每个时刻RNN根据上一时刻的隐层和当前输入生成当前的隐层,并基于当前的隐层给出当前的输出。编码器将源语言句子编码为一个源语言句子的上下文向量,解码器的任务根据编码器生成的该上下文向量生成目标语言句子的符号化表示,这个过程同样用的是RNN。

  2. 注意力机制的引入

基于编码器解码器的方法在一次性翻译比较长的句子时会出问题,因为最先输入的词的信息在RNN的运算过程中很难在最后保留下来。注意力网络就是来解决这个问题的。注意力网络使用匹配函数计算编码器隐含状态和前一时刻解码器隐含状态的匹配得分,然后用softmax函数把它标准化为一个编码器隐含状态序列上的概率,作为权重对所有隐含状态进行加权,从而得到该时刻的上下文向量。

对神经机器翻译感兴趣,可以了解一下Groundhog模型。

自然语言人机交互

主要分为对话系统和聊天机器人。

  1. 对话系统

主要分为三个模块:对话理解、对话管理、回复生成。

对话理解:领域分类、意图分类、槽位填充。前两个属于分类任务,用基于深度学习的分类模型即可【了解一下深度信念网络、深度凸网络,RNN,CNN都可】。槽位填充属于序列标注任务,把自然语言中的键值对找出来,早期使用条件随机场模型【CRF】,现在也可以用基于深度学习的序列标注方法【RNN,编码器解码器的都可】。

对话管理:主要分为对话状态跟踪、对话策略优化。方法可分为基于有限状态机、基于部分可观测马尔可夫过程【POMDP】的方法、基于深度学习的方法。【详略】

回复生成:主要分为基于模板的、基于统计的。【详略】

  1. 聊天机器人

主要分为基于规则的、基于检索的【问答对找候选,用CNN等编码,用双线性匹配模型等度量相似度】、基于生成的【seq2seqb编码器解码器作为基本模型】。

智能问答

有四类,我们重点介绍基于知识图谱的问答任务。
分为四步:实体链接【检测知识图谱实体】、关系分类、语义分析、答案查找。
基本分为基于语义分析、基于答案排序两大类。【详略】

第十二章 语音处理

语音的基本概念

语音以波形的形式在计算机中存储,但很难从波形里直接看出音色,为了更好地反映不同于语音的内容或银色差别,需要对语音进行频域上的转换,即提取语音频域的参数。常见的参数包括傅里叶谱,梅尔频率倒谱系数等。

语音识别

基于深度神经网络的语音识别比较成熟了,可以了解一下开源工具包Kaldi。
语音识别系统主要包括四个部分:特征提取、声学模型、语言模型、解码模型。

  1. 特征提取
    比较常见的声学特征有三种:梅尔频率倒谱系数特征、梅尔标度滤波器组特征、感知线性预测倒谱系数。
  2. 声学模型
    大多数声学模型一般采用音素作为建模单元,一般采用三音素进行建模,为了防止部分音素训练不充分,提出决策树对三音素聚类以减少三音素的数目。经典模型是混合声学模型,主要可以分为基于高斯混合模型-隐马尔科夫模型的模型和基于深度神经网络-隐马尔科夫模型的模型。隐马尔科夫模型的参数主要包括状态间的转移频率和每个状态的概率密度函数。为每一个音节训练一个这样的模型,让语言代入每个模型算一遍,得到概率值最高的就判定为相应音节。
  3. 语言模型
    语言模型则从解码过程中从语言层面上限制搜索路径,比如“我爱你”不会被识别为“我哎拟”。常用的有N元文法语言模型和RNN模型。语言模型的评价指标是困惑度,反映句子不确定性的程度。我们的目标是寻找困惑度较小的模型。
  4. 解码模型
    解码搜索到主要任务是由声学模型、发音词典、语言模型构成的搜索空间中寻找最佳路径,解码时同时用到声学和语言得分,构建解码空间的方法可分为静态解码和动态解码。解码用的搜索算法可分为时间同步的(如维特比算法)和时间异步的(如A*算法)
  5. 基于端到端的语音识别方法
    核心思想是引入一种新的训练准则联结时序分类,损失函数的优化目标是输入和输出在句子级别对齐。【详略】

语音合成

主要分为文本分析模块、韵律处理模块、声学处理模块
文本分析:文本预处理、文本规范化、自动分词、词性标注、多音字消歧、节奏预测。
韵律处理:预测基频、时长、停顿、能量四个参数
声学处理:分为基于时域波形的拼接合成方法,和基于语音参数的合成方法
【详略】
可以了解一下Deepmind的WavetNet语音生成模型,以及谷歌的基于Tacotron的端到端语音合成方法

语音增强

主要分为回声消除、混响抑制、语音降噪【详略】

语音转换

woc变声!主要分为码本映射方法、高斯混合模型法

情感语音

  1. 情感描述
    离散情感、维度情感两个方面。离散情感模型把情感描述为离散的、形容词标签的形式;维度情感模型把情感状态描述为多维情感空间中的连续数值。

  2. 情感语音中的声学特征
    主要三类:韵律特征【语速能量基频】、音质特征【呼吸声、明亮度、共振峰】、频谱特征【线性谱特征、倒谱特征】

  3. 语言情感识别
    主要三部分:语音信号采集、语音情感特征提取、语音情感识别。语音情感识别本质上是模式分类问题。网络结构也被应用,主要分为两类:深度学习提取特征再送入分类器、分类器换为CNN和长短时记忆模型等。

第十三章 规划

基本概念

两大任务:问题描述、问题求解
规划方法主要分为:领域限定、领域无关、可配置
经典规划有A0到A7作为基本假设:有限系统、完全可观察、确定性、静态性、状态目标、序列规划、隐含时间、离线规划。
现实的行动效果具有不确定性,处理方法:重规划、条件规划。对不确定性的描述:概率规划

经典规划

例如积木。主要问题:不显式枚举形式化描述系统状态和动作、在选定描述的基础上有效地搜索解。

  1. 经典规划问题描述
    集合描述、经典描述、其他工作【详略】
  2. 经典规划问题求解
    前向搜索、后向搜索、启发式搜索。可以了解一下STRIPS规划。

概率规划

马尔科夫决策模型。【详略】

典型应用

地图导航路径规划。

第十四章 多智能体系统

【笔者评:感觉是最抽象的一集。。。】

智能体

  1. 定义
    产业界定义。IBM(国际商用机器公司)认为:智能体是一个软件实体,可以代表一个人类用户或者其他程序,智能体具有一个行为集合,有一定自主性,采取行为时使用某些知识来表示用户的目标或期望。
    学术界定义。智能体应该具有自主性、主动性、反应能力、社会能力。研究者还附加了强性质:移动性、诚实性、无私性、理性。
  2. 抽象结构
    image
    希望实现一个动作函数。可以分为感知组件、动作组件。
  3. 环境
    环境可按是否可访问、是否为场景式、静态/动态、离散/连续。
  4. 与其他软件区分【详略】

智能体的具体结构

通常五种实现。只研究两种重要的

  1. 基于反应式的包孕结构
  2. 基于BDI逻辑的智能体结构

多智能体协商

  1. 纳什均衡和帕里托优
  2. 投票
  3. 拍卖
  4. 谈判

多智能体学习

第十五章 智能机器人

【详略】

读完还想深入了解的内容

XML这种标记语言。五到八章全部内容。LBP直方图。聊天机器人的seq2seq。高斯混合模型是啥。马尔科夫决策模型。

posted @ 2023-07-07 09:31  藤君  阅读(147)  评论(0编辑  收藏  举报