博舍

可解释人工智能:符号主义、联结主义对比 人工智能符号学派主要思想有哪些特点和作用

可解释人工智能:符号主义、联结主义对比

 

在symbolicAI和connectionistAI中,符号学派致力于知识及其在推理和学习中的应用(只有少量的输入数据),而不是符号本身:符号通常只代表知识的抽象。类似地,联结主义阵营实际上是从很少或没有先验知识的数据中学习关联,通常需要大规模的数据。现如今,大量数据的存在与引用使得connectionistAI成为人工智能的主导范式。

符号主义(Symbolicism):

  又称逻辑主义、计算机学派,主张用公理和逻辑体系搭建一套人工智能系统。

符号是人类大脑的一种主观对象,人类的认知基本上就是建立在符号的基础上的。符号对应于客观事物,就是主观与客观的对应。人类语言就是一种符号系统,人类用语言来表达思维的活动过程。从人类语言几乎万能的表达能力,我们就可以看出符号主义的强大之处。

专家系统是最经典的符号主义人工智能系统之一。即通过建立知识库与推理机来进行决策。专家系统主要是是模拟人类专家的推理思维过程。一般是将领域内专家的知识和经验,用一种知识表达模式存入计算机。系统对输入的事实进行推理,做出判断和决策。专家系统通常由人机交互界面、知识库、推理机、解释器、综合数据库、知识获取等6个部分构成。

优点:越来越多的人认识到,高风险决策领域对人工智能系统有需求,因此这些系统的行为要有可验证性与可解释性,而这恰恰是符号主义AI的优势,联结主义算法的短板。符号主义算法会剔除不符合特定模型的备选值,并能对符合所有约束条件的所求值做出验证,以后者而言,符号主义AI远比联结主义AI便捷。因为符号主义AI几乎或根本不包括算法训练,所以这个模型是动态的,能根据需要迅速调整不足。

劣势:符号主义主要依靠具象的过程来运作,比如逻辑,需要我们给出每一步的具体表达。但人类还具有形象思维,很多时候我们自己也说不出思维的过程,这显然用简单的符号主义很难实现。但是客观世界是连续的、复杂的,单纯的用符号主义来表示就会丢失很多信息。

不足:虽然符号主义AI技术可以处理部分不可观察概率模型,但这些技术并不适用于有噪输入信号,也不适用于无法精确建模的场合。在那些可以准确判断出特定条件下特定动作利弊与否的场合中,它们会更有效。此外,算法系统还要提供适当的机制来实现清晰的规则编码与规则执行。

 

连接主义(Connectionism):

  又叫仿生学派,主张模仿人类的神经元,用神经网络的连接机制实现人工智能。

连接主义是类似于人类大脑神经元连接的一种理论,深度神经网络就是很好的成果。

所谓深度学习就是用很多层神经元构成的神经网络达到机器学习的功能。依靠人工神经网络提供的各种层的感知器,在功能上可以软件实现的深度学习器,实现了机器学习对归纳的掌握,基于连接主义的深度学习技术,目前是人工智能领域的研究重点。

优点:在处理杂乱且非结构化的数据时,神经网络的性能优于其他机器学习技术。对于神经网络来说,即使有输入噪音,网络仍然能正常的工作。

劣势:连接主义比符号主义更偏向于形象思维,但它是一个黑箱,人类并不能完全的分析清楚他的每一步运作原理,这就导致我们不可能把我们的思维过程在机器上实现,所以单纯的用连接主义来实现通用人工智能是最不靠谱的方法。

这些差异或者说不同之处大体上可以从以下的五个方面来进行概括和分析:

第一,符号主义把对于物理符号的加工看作是概念表征的适当载体,而联结主义则是用认知系统或者说人工神经网络的整体方面的状态的变化来表征外部世界的特征;

第二,符号主义将心智看作是一种单纯的“计算的心灵”,联结主义则是把心智视为对于人的大脑或是大脑神经系统的模拟;

第三,符号主义将数字计算机看作是操作物理符号的典型认知系统,联结主义则是将数字计算机看作是建立大脑或大脑神经系统模型的工具;

第四,符号主义将问题解决看作人的智能的基本形式或者说核心内容,试图通过构建某种形式结构来赋予物理符号系统以问题解决的能力,联结主义则把学习的能力当成人的智能的基本形式或者说核心内容,强调建立某种学习机制使得人工智能体能够获得或是拥有自我学习的能力。

本质:符号主义和连接主义都是人脑具备的功能,而人脑的基本物理结构就是神经元,所以符号主义和连接主义必定是基于同样的基本原理。按照这种基本原理,首先实现的就是符号主义,以逻辑为主体。基于符号代表事物之间的联系性,随着符号系统的复杂度不断变大,最终产生了连接主义的那种效果。

尽管最近connectionistAI已经开始解决狭义识别和分类任务之外的问题,但connectionistAI是否能够完成需要常识推理和因果推理的复杂任务还有待观察(所有这些都不包括knowledge和symbols。现在,和那时一样,人们需要新的技术来解释人工神经网络中的处理过程,因为处理过程通常是不透明的,需要将知识注入到联结主义的体系结构中以实现多步推理,需要结合两种范式优势的神经符号架构的第三种方式。

最近的认知科学理论提出了产生人类行为的双重过程——有时被称为系统1和系统2(Kahneman,2011;StanovichandWest,2000),为协调符号性人工智能和联结主义人工智能的各个方面提供了一个理论框架。根据思维的双过程理论,系统1是联想的、隐性的、想象的、个性化的和快速的,而系统2是分析性的、明确的、口头的、泛化的和缓慢的。然而,值得注意的是,符号人工智能和联结主义人工智能与人类认知中的系统1和系统2之间的映射并不是一个直接的一对一映射。虽然系统1可能包含符号和连接主义人工智能的抽象和算法,但系统2的抽象和算法可能大多是象征性的(当然,它也是在人类大脑的神经网络上实现的)。

无论是符号化的还是联结主义的人工智能都没有太多关于社会环境智能的内容。这为XAI的发展提供了机会。

简述人工智能,及其三大学派:符号主义、连接主义、行为主义

人工智能是什么

人工智能是一个很大的圈子,但是基础必然是机器学习

什么是机器学习呢?

说白了就是你告诉机器你想做什么?并且给它一堆数据让它去模仿着做

(比如,咱们上高中,老师会告诉我们一个目标就是考高分,然后给我们一堆练习册和答案,我们的目的就是让我们做的题的解和答案一致)

机器学习需要什么?算法,数据,程序,评估,应用

机器学习能做什么?

机器学习在数据挖掘,图像识别,语音和自然语言处理中有着广泛应用

人工智能哪些领域

回到本文的正题。全面认识人工智能之所以困难,是有客观原因的。

其一、人工智能是一个非常广泛的领域。当前人工智能涵盖很多大的学科,我把它们归纳为六个:

(1)计算机视觉(暂且把模式识别,图像处理等问题归入其中)、(2)自然语言理解与交流(暂且把语音识别、合成归入其中,包括对话)、(3)认知与推理(包含各种物理和社会常识)、(4)机器人学(机械、控制、设计、运动规划、任务规划等)、(5)博弈与伦理(多代理人agents的交互、对抗与合作,机器人与社会融合等议题)。(6)机器学习(各种统计的建模、分析工具和计算的方法),

这些领域目前还比较散,目前它们正在交叉发展,走向统一的过程中。

由于学科比较分散,从事相关研究的大多数博士、教授等专业人员,往往也只是涉及以上某个学科,甚至长期专注于某个学科中的具体问题。比如**,人脸识别**是计算机视觉这个学科里面的一个很小的问题;深度学习属于机器学习这个学科的一个当红的流派。很多人现在把深度学习就等同于人工智能,就相当于把一个地级市说成全国,肯定不合适。

三大学派

为更充分认识人工智能,我们从他的派系来了解人工智能的发展

人工智能符号主义

早在上个世纪五十年代,人们基于”让机器产生像人类一样的智能“这样的美好愿望,提出了人工智能的概念,所以一切试图做到这一点的都可以看作”人工智能“的技术,比如在人工智能早期曾十分流行的人工智能三大流派之一的符号主义,人们自己总结规则,然后通过if-else的方法堆砌成一个专家系统,这也属于人工智能领域,而且是人工智能领域非常重要的一部分。

正是这些符号主义者,早在1956年首先采用“人工智能”这个术语。后来又发展了启发式算法>专家系统>知识工程理论与技术,并在20世纪80年代取得很大发展。符号主义曾长期一枝独秀,为人工智能的发展作出重要贡献,尤其是专家系统的成功开发与应用,为人工智能走向工程应用和实现理论联系实际具有特别重要的意义。在人工智能的其他学派出现之后,符号主义仍然是人工智能的主流派别。这个学派的代表人物有纽厄尔(Newell)、西蒙(Simon)和尼尔逊(Nilsson)等。

近些年来符号主义中的知识图谱在很多智能问答应用中还发挥着很重要的作用,但这种符号主义的手段对于人工消耗极大,每一个规则都需要人手工录入,机器无法自主学习,所以为了解决这个问题,人们提出了机器学习的想法,这时候我们不再需要给机器逐个录入规则本身,而是让机器自己在数据中学习到规则,所以一切试图做到这一点的,都可以看作是机器学习的技术。

对于商用QA系统生成的答案,即使并没有很人性化的回答到问题,但表述的准确性和正确性往往比所谓的智能更重要,所以业内普遍还是偏向于使用符号主义中的知识图谱技术,而不是深度学习让机器学习规则。

人工智能连接主义

认为人工智能源于仿生学,特别是对人脑模型的研究。它的代表性成果是1943年由生理学家麦卡洛克(McCulloch)和数理逻辑学家皮茨(Pitts)创立的脑模型,即MP模型,开创了用电子装置模仿人脑结构和功能的新途径。它从神经元开始进而研究神经网络模型和脑模型,开辟了人工智能的又一发展道路。

其中最具代表的神经网络,和深层次神经网络(深度学习)。所以在深度学习领域中,就是不断的增加一个神经网络的隐藏层神经元,让输入的数据被这些神经元不断的抽象和理解,最后得到一个具有泛化能力的预测网络模型

而我们一般把隐藏层超过三层的网络,称之为:深度神经网络

至于网络中每个节点到底在理解什么,很难用精确的数学手段去分析。我们唯一能做的就是:收集数据,送入数据,进行训练,然后期待结果

当然也不是说我们对一个深度神经网络完全不可把控,起码我们能在比如学习率,激活函数,神经元层数和数量等等方面调节神经网络的大致工作行为,俗称——调参

深度学习的训练可以来这里进行体验:​​​Tensorflow游乐场:http://playground.tensorflow.org/​​

近些年来,人工智能,机器学习领域随着算力,数据和从业者的不断增加,正在不断的涌现着一些十分有趣的想法,等待着探索和发现。

人工智能行为主义

行为主义认为人工智能源于控制论。除了深度学习以外,目前机器学习领域中还有另外一项振奋人心的技术,强化学习。

强化学习的灵感来自于人工智能三大流派之一的行为主义,让一个智能体(Agent)不断的采取不同的行动(Action),改变自己的状态(State),和环境(Enviroment)进行交互,从而获得不同的奖励(Reward),我们只需要设计出合适的奖励(Reward)规则,智能体就能在不断的试错中习得合适的策略,

强化学习近些年来也得到了很多的应用,从alphago开始,到近期腾讯的”觉悟“,通过强化学习训练的游戏AI,已经让人类选手开始在MOBA游戏中深感绝望,当然像觉悟这样的AI,在强化学习中也加入了深度学习部分,也就是所谓的深度强化学习。

机器学习该怎么学?

-机器学习本质包含了数学原理推导与实际应用技巧

机器学习中有很多经典算法,既然要学习,那就需要清楚一个算法是怎么来的(推导)以及该如何应用

数学重要吗?非常重要的,大学的数学基础即可,如果你都忘了,大致的印象还是有的吧,我觉得与其从头过一遍数学,不如边学边查,一个合适的做法就是哪里不会点哪里,我每天也在查很多知识点

一定要学数学,学推导吗?我知道会用不就可以了吗?有句老话,不光要知其然还要知其所以然,这对我们的应用具有很大的帮助

推导肯定是重中之重了,因为对于我们来说学习的目的就是转换成自身的资本让我们更有竞争力,面试与笔试的时候,这些推导全来了

程序员兄弟如果要转行,让你看数学你肯定要疯的,重点应在于如何应用(库的使用,完整项目如何构建,从头到尾的流程)

底层实现和上层应用

像很多技术领域一样,往往可以把这个领域的知识体系简单的分为两层:底层实现和上层应用。

而上层应用中往往随着该领域的发展又会出现很多经过验证的行之有效的经典方法

比如编程语言中Java这个体系,jvm虚拟机,字节码技术构成了Java体系的底层实现,并通过Java语言向上提供应用的接口,而像Spring、Mybatis等框架,以及各种常用的库,则是人们在多年实践中总结而成,能高效的用于生产的经典上层实现,那在实现一个经典任务的时候,Java程序员往往会直接使用这些框架和库,而他们往往也能应对绝大多数问题。

同样,在深度学习领域,我们学习过的像梯度下降,反向传播,CNN,RNN,以及未详细说明的其他的一些基本原理,则构成了现代神经网络的底层实现,而像LeNet-5网络,LSTM,GRU以及AlexNet,VGG,ResNet,Yolo等等,则是在神经网络发展的过程中经过检验而行之有效的模型,

同样,这些经典的网络模型在很多常见的场景,比如语音识别,自然语言处理,图像识别等领域中都能有不错的效果,所以想要用神经网络实现一个具体任务,那么应该首先考虑这些已有的经典网络模型,就像我们使用spring开发Java项目一样,是很自然的选择,

而我们为了提高自己Java项目的开发水平,可能需要去熟悉框架的实现,好消息是我们可以阅读他们的源码,只要你想,就能知道所有细节,而坏消息是这些代码往往非常的庞杂,配合文档和资料也需要很长时间的学习和研究。

同样为了提高对神经网络应用水平,我们需要去熟悉这些经典网络模型,最好的方法就是阅读他们的论文,好消息是这些论文一般都不会特别的长,内容也相对单一,很快就可以看一遍,但坏消息是这些论文一般不会附带源码,一般都是数学公式和图表,阅读他们的门槛可能更高,

但另外一个好消息就是,对于这些经典的网络结构,目前网络上已经有很多人写博客做了更通俗易懂的解读,比如一篇关于LSTM的著名博客,《UnderstandingLSTMNetwork》,这要比看LSTM的原论文要轻松许多,有些文章甚至会逐步的贴出相应的代码,比如对于LeNet5和AlexNet,随便一搜就能找到一大批关于他们论文的解读和用keras实现的代码,所以对于这些经典网络的学习并不是一件特别困难事情。

当然,人工智能作为一门正处于高速发展的学科,每段社区都会有新的idea被提出,有些可能是变革性的,有些可能只是一个小的修补,不论怎样,如果你希望了解这些新的想法,那么唯一的方法就是去看原始的论文,这可能会比较艰难,因为很多论文都是对想法进行简单的描述,然后给出一些公式,而且一般不会详细的说明这些公式每一步推导的细节,最后贴出测试效果的图表,而且并不会附赠源代码,所以为了提高阅读的效率,只能是多看,排除那些写的特别晦涩的论文,一般来说一个领域内的论文,看的多了也就能慢慢的培养出一点感觉,

当然这里还有个很重要的问题,那就是要对机器学习神经网络的底层实现有足够的了解,不仅仅是概念上的,还有数学上的。当然,如果你并不是想做机器学习,神经网络相关的研究工作,而只是想把它应用到自己实际的问题上,那倒是不必研究的如此深刻,在理解了大致工作原理之后,去学习使用那些经典的模型就好,正如我们在学习编程语言的时候,即使不是特别深入的了解计算机的底层实现,也可以写出不错的程序,但是如果是从事像操作系统这样的计算机的方面的研究工作,那么深入的学习则是不可避免的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇