IIT_CS480_Assignments_Week10_Participation

IIT CS 480 - Introduction to Artificial Intelligence
Assignments_Week10_Participation
github: https://github.com/IIT-MAI-2020Fall


We covered logic in Chapters 7 and 8. A closely-related area in AI is expert systems of 1970s and 1980s.

我们在第7章和第8章讨论了逻辑。与人工智能密切相关的一个领域是20世纪70年代和80年代的专家系统。

Please read the following: Expert systems on Wikipedia: https://en.wikipedia.org/wiki/Expert_system

请阅读以下内容:维基百科上的专家系统:https://en.wikipedia.org/wiki/Expert_system

One advantage of expert systems is that they are ‘interpretable’. Because they are rule-based systems, it is straightforward to ‘open’ the box and look inside of it to understand what it is doing and why. Two disadvantages are: 1) They have to be elicited from experts and eliciting knowledge from experts is either very costly or sometimes impossible. For example, eliciting diagnosis rules from doctors is costly and eliciting rules for face recognition is almost impossible as people cannot simply describe how they recognize faces in terms of ‘rules’. 2) They have to be updated on a regular basis. For example, flu is seasonal.

专家系统的一个优点是它们是“可解释的”。因为它们是基于规则的系统,所以很容易“打开”盒子,看看里面,理解它在做什么以及为什么。两个缺点是:1)它们必须从专家那里引出,而从专家那里引出知识要么代价高昂,要么有时不可能。例如,从医生那里提取诊断规则是昂贵的,而提取人脸识别规则几乎是不可能的,因为人们不能简单地用“规则”来描述他们是如何识别人脸的。它们必须定期更新。例如,流感是季节性的。

One alternative to expert systems is powerful machine learning algorithms such as deep learning models. The deep learning models can be learned from data (the data still has to be annotated by actual people; a lot of sweat went into creating labeled datasets for face recognition, for example) and they do not require eliciting rules from experts. The disadvantage of deep learning models is they are ‘black’ box models; even though we understand the mathematics of it, scrutinizing them why they made a decision the way they did is not straightforward. Yes, you can say these neurons fired and then these neurons fired, and so on but this is not necessarily a useful explanation for verifying decisions made by deep learning models.

专家系统的一个替代方案是强大的机器学习算法,如深度学习模型。深度学习模型可以从数据中学习(数据仍然需要实际的人进行注释;例如,为人脸识别创建有标签的数据集就花费了大量的精力),而且它们不需要从专家那里获得规则。深度学习模型的缺点是它们是“黑盒”模型;尽管我们了解其中的数学原理,但仔细研究他们为什么做出这样的决定并不容易。是的,你可以说这些神经元激活了,然后这些神经元激活了,等等,但这并不是一个有用的解释来验证由深度学习模型做出的决定。

\1. Share your thoughts on advantages and disadvantages of expert systems and knowledge-based systems compared to deep learning models.

\2. Do you think expert systems fell out of favor in AI research and/or AI industry? Why or why not?

1。请分享您对专家系统和基于知识的系统 与 深度学习模型相比的优缺点的看法。

我的理解是:专家系统是人类通过数据(facts),来“理解”数据(facts),进而抽象出数据中的规则,进行建模。

深度学习是机器学习中的一种方法,机器学习是靠模型自身的迭代来寻找最优解。

专家系统的优点:
1.语法结构统一。产生式的规则具有统一的 if then 的结构。每一条规则都是一个独立的知识。
2.基于规则的专家系统结构为知识库和推理引擎。将知识和处理进行分离,可以使一个专家系统框架易于开发不同的应用。
3.可以处理不完整的、不确定的知识。

专家系统的缺点:
1.搜索策略很低效。
2.没有学习能力。不具备从经验中学习的能力,无法自动修改知识库。

深度学习的优点:
1.可以让计算机自动学习出模式特征。
深度学习的缺点:
1.需要大量的知识,才能达到很好的精度。
2.对硬件设备的要求比较高。

In my opinion, expert system means that human beings “understand” facts through data (facts), and then abstract out rules in the data for modeling.

Deep learning is a method of machine learning, which relies on iteration of the model itself to find the optimal solution.

Advantages of expert system:

  1. Unified grammatical structure.The rules of production have a uniform if then structure.Each rule is an independent piece of knowledge.

  2. Rule-based expert system structure is knowledge base and reasoning engine.Separating knowledge from processing makes it easy for an expert system framework to develop different applications.

  3. Expert system can deal with incomplete and uncertain knowledge(facts).

Disadvantages of expert system:

  1. Search strategies are inefficient.

  2. Inability to learn.Without the ability to learn from experience, the knowledge base cannot be automatically modified.

Advantages of deep learning:

  1. The computer can automatically learn the characteristics of the pattern.

Disadvantages of deep learning:

  1. It takes a lot of knowledge to achieve good accuracy.

  2. High requirements on hardware equipment.

2。你认为专家系统在人工智能研究 和/或 人工智能行业失宠了吗?为什么或为什么不?

没有,对于狭窄的专业领域的问题,专家系统仍然能够提供快速有效的解决方案。

比如信息管理、员工绩效评估、仓库优化 等行业。

No, expert systems can still provide fast and effective solutions to problems in narrow areas of expertise.

Such as information management, employee performance evaluation, warehouse optimization and other industries.


维基百科——专家系统 https://en.wikipedia.org/wiki/Expert_system

在人工智能中,专家系统是模拟人类专家决策能力的计算机系统。[1]专家系统旨在通过知识体系进行推理来解决复杂问题,这些知识体系主要表现为规则,而不是通过传统的程序代码。[2]第一个专家系统创建于20世纪70年代,然后在80年代激增。[3]专家系统是首批真正成功的人工智能(AI)软件形式之一。专家系统分为推理引擎和知识库两个子系统。知识库表示事实和规则推理引擎将规则应用于已知事实,以推导新的事实。推理引擎还可以包括解释和调试功能

历史

早期发展

早期发展在20世纪40年代末50年代初现代计算机出现之后不久,研究人员开始意识到这些机器对现代社会的巨大潜力。最初的挑战之一是让这样的机器能够像人类一样思考。特别是,让这些机器能够像人类一样做出重要的决定。医疗/保健领域提出了让这些机器做出医疗诊断决定的诱人挑战。因此,在20世纪50年代末,就在信息时代完全到来之后,研究人员开始试验使用计算机技术来模拟人类决策的前景。例如,生物医学研究人员开始创建用于医学和生物学诊断应用的计算机辅助系统。这些早期诊断系统使用患者症状和实验室测试结果作为输入,以产生诊断结果。这些系统通常被描述为早期形式的专家系统。然而,研究人员已经意识到,在使用传统方法如流程图[12][13]统计模式匹配,[14]或概率论时,存在明显的局限性。[15] [16]

正式的介绍&后来的发展

以前的情况逐渐导致了使用基于知识的方法的专家系统的发展。这些医学专家系统包括MYCIN专家系统[17],interist - i专家系统[18]以及后来,在20世纪80年代中期的CADUCEUS。[19]专家系统是在1965年[20]被由Edward Feigenbaum领导的斯坦福启发式编程项目正式引入的,他有时被称为“专家系统之父”;其他关键的早期贡献者是布鲁斯布坎南和兰德尔戴维斯。斯坦福大学的研究人员试图确定专业知识被高度重视和复杂的领域,如诊断传染病(Mycin)和识别未知有机分子(Dendral)。认为“智能系统获得他们的权力从他们拥有的知识,而不是从他们所使用的具体形式和推理方案”[21]费根鲍姆说当时向前迈出的重要一步,因为过去的研究都集中在启发式计算方法,并在试图发展通用解决问题(最重要的艾伦·纽威尔和赫伯特西蒙的结合的工作。专家系统成为第一批真正成功的人工智能(AI)软件形式

专家系统的研究在法国也很活跃。在美国,研究的重点往往是基于规则的系统,首先是在LISP编程环境之上硬编码的系统,然后是由Intellicorp等供应商开发的专家系统外壳,而在法国,研究的重点更多是在Prolog中开发的系统。专家系统外壳的优势在于,对于非程序员来说,它们在某种程度上更容易使用。序言环境的优势在于它们不只是关注 如果-那么 规则;Prolog环境提供了一个更好的实现一个完整的一阶逻辑环境。

在20世纪80年代,专家系统激增。大学开设了专家系统课程,三分之二的财富500强公司将该技术应用于日常商业活动。由于日本的第五代计算机系统项目和欧洲增加的研究经费,人们的兴趣是国际性的。1981年,第一台采用PC DOS操作系统的IBM PC问世。PC中功能相对强大的芯片的高可承受性,与当时主导企业IT世界的大型机处理能力的昂贵成本相比,两者之间的不平衡创造了一种新型的企业计算架构,称为客户机-服务器模型。[26]计算和推理可以执行的价格是使用PC的大型机的一个零头。该模型还允许业务单位绕过公司的IT部门,直接构建自己的应用程序。因此,客户机服务器对专家系统市场产生了巨大的影响。专家系统在很多商业世界中已经是异类,它需要许多IT部门不具备、也不愿开发的新技能。它们很适合新的基于pc的shell,这些shell承诺将应用程序开发交给最终用户和专家。在此之前,专家系统的主要开发环境一直是来自施乐、Symbolics和德州仪器的高端Lisp机器。随着PC和客户端服务器计算的兴起,像Intellicorp和Inference公司这样的供应商将他们的优先级转移到了开发基于PC的工具上。此外,通常由风险投资(如Aion Corporation、Neuron Data、Exsys和许多其他[27][28])资助的新供应商开始定期出现。

第一个用于大型产品设计能力的专家系统是SID(集成设计的合成)软件程序,开发于1982年。用LISP编写的SID生成了93%的VAX 9000 CPU逻辑门。[29]输入到软件是由几个专家逻辑设计师创建的一组规则。SID扩展了规则并生成了许多倍于规则本身大小的软件逻辑合成例程。令人惊讶的是,这些规则的组合导致了一个超出专家本身能力的总体设计,并且在许多情况下超过了人类同行。虽然有些规则与其他规则相矛盾,但速度和区域的顶级控制参数起到了关键作用。这个计划饱受争议,但是由于项目预算的限制,还是被使用了。VAX 9000项目完成后,被逻辑设计师终止。

在20世纪70年代中期之前的几年里,人们对专家系统在许多领域所能取得的成就的期望往往是极其乐观的。在这些早期研究的开始阶段,研究人员希望开发出完全自动化(即完全计算机化)的专家系统。人们对计算机所能做的事情的期望常常过于理想化。上世纪70年代初,理查德·m·卡普(Richard M. Karp)发表了他的突破性论文《组合问题中的还原性》(Reducibility among Combinatorial Problems)后,这种情况发生了根本变化。感谢卡普的工作,它变得清楚,有一定的限制和可能性,当一个人设计计算机算法。他的发现描述了计算机能做什么和不能做什么。与这类专家系统相关的许多计算问题具有一定的实用局限性。这些发现奠定了基础,导致该领域的下一个发展。

在20世纪90年代及以后,术语专家系统和独立AI系统的想法基本上从IT词典中消失了。对此有两种解释。一个是“专家系统失败了”:IT世界继续前进,因为专家系统没有兑现它们被过度炒作的承诺。另一个则相反,专家系统只是它们成功的受害者:由于IT专业人员掌握了诸如规则引擎之类的概念,此类工具从用于开发特殊用途专家系统的独立工具迁移到了许多标准工具中。[33]许多领先的主要业务应用程序套件厂商(如SAP、Siebel和Oracle)集成专家系统能力的套件产品的指定业务逻辑规则引擎已不再简单地定义规则的专家会使用但对于任何类型的复杂、不稳定,和关键业务逻辑;它们通常与业务流程自动化和集成环境携手并进。

专家系统的当前进展

以往专家系统的局限性促使研究人员开发新的方法。为了模拟人类的决策过程,他们开发了更高效、更灵活、更强大的方法。研究人员开发的一些方法是基于人工智能(AI)的新方法,特别是基于带有反馈机制的机器学习和数据挖掘方法。相关的是对缺点部分的讨论。现代系统可以更容易地吸收新知识,从而更容易地更新自己。这样的系统可以从现有的知识中更好地归纳和处理大量的复杂数据。这里涉及的是大数据的主题。有时这些类型的专家系统被称为智能系统。

软件架构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rc2pe9ON-1604215484959)(https://upload.wikimedia.org/wikipedia/commons/thumb/7/7a/BackwardChaining_David_C_England_1990_p21.gif/450px-BackwardChaining_David_C_England_1990_p21.gif)]

专家系统就是知识库系统的一个例子。专家系统是第一个使用基于知识架构的商业系统。一个基于知识的系统本质上由两个子系统组成:知识库和推理机。

**知识库代表关于世界的事实。**在早期的专家系统,如Mycin和Dendral,这些事实主要表现为关于变量的平面断言。在后来使用商业外壳开发的专家系统中,知识库采用了更多的结构并使用了面向对象编程的概念。世界被表示为类、子类,实例和断言被对象实例的值取代。这些规则通过查询和断言对象的值来工作。

推理机是一个自动推理系统,它对知识库的当前状态进行评估,应用相关规则,然后将新知识断言到知识库中。推理引擎还可以包含解释功能,这样它就可以通过跟踪触发导致断言的规则,向用户解释用于得出特定结论的推理链。

推理引擎主要有两种模式:前向链接和反向链接。不同的方法取决于推理引擎是由规则的前件(左手边)还是结果(右手边)驱动的。在向前链接中,先行触发并断言结果。例如,考虑以下规则 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZoKbIpap-1604215484965)(https://wikimedia.org/api/rest_v1/media/math/render/svg/edd7e914d70119758342a0f4d4fe0887785b5690)]

前向链接的一个简单示例是向系统断言Man(Socrates),然后触发推理引擎。它将把R1和断言Mortal(Socrates)匹配到知识库中。

反向链接没有那么直接。在逆向链接中,系统会查看可能的结论,并反向工作,看看它们是否可能是真的。因此,如果系统试图确定Mortal(Socrates)是否为真,它会找到R1并查询知识库,看看Man(Socrates)是否为真。expert systems shell的早期创新之一是将推理引擎与用户界面集成在一起。对于向后链接,这可能特别强大。如果系统需要知道一个特定的事实但不知道,那么它可以简单地生成一个输入屏幕并询问用户。在这个例子中,它可以使用R1询问用户苏格拉底是否是男性,然后相应地使用新信息。

使用规则明确地表示知识也使解释能力成为可能。在上面的简单的例子如果系统使用了R1断言,苏格拉底是致命的,用户希望能够理解他们为什么苏格拉底是凡人可以查询系统,该系统将回顾规则解雇引起断言和向用户显示这些规则作为一个解释。在英语中,如果用户问“为什么苏格拉底会死?”系统会回答“因为人皆有一死,而苏格拉底是人”。研究的一个重要领域是用自然英语从知识库中生成解释,而不是简单地通过显示更正式但不那么直观的规则。随着专家系统的发展,许多新技术被合并到各种类型的推理引擎中。其中一些最重要的是

  • 维护真理。这些系统在知识库中记录依赖关系,这样当事实发生改变时,依赖的知识也可以随之改变。例如,如果系统知道苏格拉底不再是一个人,它就会撤销苏格拉底会死的断言。
  • 假言推理。这样,知识库可以被划分为许多可能的视图,也就是世界。这允许推理引擎并行地探索多种可能性。例如,系统可能想要探索这两种断言的结果,如果苏格拉底是人,什么是对的,如果他不是人,什么是对的?
  • 不确定性系统。简单地使用规则来表示知识的最初扩展之一是将概率与每条规则关联起来。所以,不是断言苏格拉底会死,而是断言苏格拉底可能会死,有一些概率值。简单概率被推广到一些具有复杂不确定推理机制的系统中,如模糊逻辑和概率组合。
  • 本体的分类。在知识库中添加了对象类之后,就可能出现一种新的推理类型。除了简单地推理对象值之外,系统还可以推理对象结构。在这个简单的示例中,Man可以表示一个对象类,而R1可以被重新定义为定义所有men的类的规则。这些特殊用途的推理引擎被称为分类器。虽然分类器在专家系统中没有得到很好的应用,但它们对于非结构化易失性域非常强大,是互联网和新兴语义网的关键技术

优点

基于知识的系统的目标是使系统工作所需的关键信息显式而不是隐式。在传统计算机程序中,逻辑嵌入代码中,通常只能由IT专家审查。使用专家系统的目标是以一种由领域专家而不是IT专家直观、易于理解、审查甚至编辑的格式指定规则。这种明确的知识表示的好处是快速开发和易于维护。

易于维护是最明显的优点。这是通过两种方式实现的。首先,通过消除编写常规代码的需要,专家系统可以避免对系统进行哪怕是很小的更改都可能导致的许多正常问题。本质上,程序的逻辑流(至少在最高级别上)只是系统给定的,只是调用推理引擎。这也是第二个好处的原因:快速原型设计。有了专家系统外壳,只需输入一些规则,就可以在几天内开发出原型,而不是复杂的it项目通常需要几个月或一年的时间。

专家系统外壳的一个常见说法是,它们消除了对训练有素的程序员的需求,并且专家可以自己开发系统。事实上,这几乎是不可能的。尽管专家系统的规则比典型的计算机代码更容易理解,但它们仍然有一种正式的语法,在这种语法中,错误的逗号或其他字符可能会像其他计算机语言一样造成严重破坏。此外,随着专家系统从实验室中的原型转移到业务领域中的部署,集成和维护问题变得更加关键。不可避免地出现了与大型遗留数据库和系统集成和利用的需求。要做到这一点,集成需要与任何其他类型的系统相同的技能。

缺点

在学术文献中,专家系统最常见的缺点是知识获取问题。对于任何软件应用程序来说,获取领域专家的时间都是困难的,但是对于专家系统来说尤其困难,因为专家从定义上来说是非常有价值的,并且经常被组织需要。这个问题的结果是,专家系统后期的大量研究都集中在获取知识的工具上,以帮助自动化设计、调试和维护专家定义的规则的过程。然而,当观察实际使用中的专家系统的生命周期时,其他问题(本质上与其他任何大型系统相同的问题)似乎至少与知识获取一样重要:集成、对大型数据库的访问和性能。

由于早期的专家系统是使用工具(如早期的Lisp版本)构建的,这些工具解释了代码表达式,而没有首先编译它们,因此性能可能会特别成问题。这提供了一个强大的开发环境,但缺点是几乎不可能匹配的效率最快的编译语言(如C)。系统对早期专家系统和数据库集成困难,因为语言和平台的工具主要是,既不熟悉也不欢迎在大多数企业it环境中编程语言如Lisp和Prolog和硬件平台如Lisp机器和个人电脑。因此,在专家系统工具开发的后期阶段,很多工作都集中在与遗留环境(如COBOL和大型数据库系统)的集成上,以及移植到更标准的平台上。这些问题主要通过客户机-服务器模式的转变得以解决,pc逐渐被IT环境所接受,成为重要的业务系统开发的合法平台,并且作为价格低廉的微型计算机服务器提供了人工智能应用程序所需的处理能力。

随着知识库规模的增大,专家系统面临的另一个主要挑战也随之出现。这将导致处理复杂性的增加。例如,当一个拥有1亿条规则的专家系统被设想为最终的专家系统时,很明显,这样的系统将过于复杂,它将面临太多的计算问题。推理引擎必须能够处理大量的规则以达成决策。

当规则过多时,如何验证决策规则之间的一致性也是一个挑战。通常这样的问题导致满足性(SAT)公式。这是一个著名的np完全问题布尔可满足性问题。如果我们假设只有二进制变量,假设有n个,那么对应的搜索空间为2{\displaystyle ^{n}}{\displaystyle ^{n}}。因此,搜索空间可以呈指数级增长。

还有一些问题是关于如何对规则的使用进行优先排序以提高操作效率,或者如何解决歧义(例如,如果一个规则中有太多的子结构)等等

其他问题与使用已知事实并试图概括到知识库中未明确描述的其他情况时的过拟合和过泛化效应有关。使用机器学习方法也存在这样的问题。[51] [52]

与知识库相关的另一个问题是如何快速有效地更新知识库中的知识。另外,如何添加一个新的知识(即,在许多规则中从哪里添加它)也是一个挑战。在这方面,依靠机器学习方法的现代方法更容易[引用需要]。

由于上述挑战,显然需要新的人工智能方法,而不是基于规则的技术。这些新方法是基于机器学习技术的使用,以及反馈机制的使用。

医学领域(如果将计算机辅助诊断系统视为现代专家系统的话)以及其他应用领域的专家系统所面临的关键挑战包括:大数据、现有法规、医疗保健实践、各种算法问题和系统评估等方面的相关问题。[56]

应用&例子

Hayes-Roth将专家系统应用程序分为10个类别,如下表所示。这些示例应用程序不在最初的Hayes-Roth表中,其中一些应用程序在之后很好地出现了。任何没有脚注的应用程序在海斯-罗斯的书中都有描述。另外,虽然这些类别提供了描述专家系统应用程序空间的直观框架,但它们不是严格的类别,在某些情况下,应用程序可能显示多个类别的特征。

CategoryProblem addressedExamples
InterpretationInferring situation descriptions from sensor dataHearsay (speech recognition), PROSPECTOR
PredictionInferring likely consequences of given situationsPreterm Birth Risk Assessment[57]
DiagnosisInferring system malfunctions from observablesCADUCEUS, MYCIN, PUFF, Mistral,[58] Eydenet,[59] Kaleidos[60]
DesignConfiguring objects under constraintsDendral, Mortgage Loan Advisor, R1 (DEC VAX Configuration), SID (DEC VAX 9000 CPU)
PlanningDesigning actionsMission Planning for Autonomous Underwater Vehicle[61]
MonitoringComparing observations to plan vulnerabilitiesREACTOR[62]
DebuggingProviding incremental solutions for complex problemsSAINT, MATHLAB, MACSYMA
RepairExecuting a plan to administer a prescribed remedyToxic Spill Crisis Management
InstructionDiagnosing, assessing, and repairing student behaviorSMH.PAL,[63] Intelligent Clinical Training,[64] STEAMER[65]
ControlInterpreting, predicting, repairing, and monitoring system behaviorsReal Time Process Control,[66] Space Shuttle Mission Control[67]

Hearsay是通过专家系统方法解决语音识别问题的早期尝试。在很大程度上,这类专家系统并不是那么成功。Hearsay和所有的判读系统本质上都是模式识别系统——在嘈杂的数据中寻找模式。在Hearsay识别音频流中的音素的情况下。其他早期的例子是通过分析声纳数据来探测俄罗斯潜艇。这类系统被证明比基于规则的方法更适合神经网络AI解决方案。

CADUCEUS和MYCIN是医学诊断系统。用户向计算机描述他们的症状,就像他们向医生描述症状一样,计算机返回医学诊断结果。

在有机分子鉴定中,Dendral是一个研究假说形成的工具。它所解决的一般问题——设计一组约束的解决方案——是早期应用于业务领域的专家系统最成功的领域之一,这些领域包括销售人员配置DEC公司(DEC) VAX计算机和抵押贷款应用程序开发。

SMH.PAL是一个评估多重残疾学生的专家系统[63]。

Mistral[58]是一个监测大坝安全的专家系统,由意大利Ismes在20世纪90年代开发。它从自动监测系统获取数据,并对大坝的状态进行诊断。它的第一个副本于1992年安装在Ridracoli大坝(意大利)上,至今仍在365年7月24日24小时运行。它已被安装在意大利和国外的几个水坝上(例如,巴西的伊泰普水坝),以及以Eydenet、[59]命名的滑坡地点和以Kaleidos命名的纪念碑上。[60] Mistral是CESI的注册商标。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值