人工智能(五)
不用说,逻辑学家已经仔细考虑了这样的声明,超出了上述简化论点。例如,Rosenschein和Kaelbling(1986)描述了一种使用逻辑来指定有限状态机的方法。这些机器在“运行时间”中用于快速,反应性处理。在这种方法中,尽管有限的状态机在传统意义上不包含逻辑,但它们是由逻辑和推理产生的。 Amir和Maynard-Reid(1999,2000,2001)证明了通过一阶定理通过一阶定理的真正机器人控制。实际上,您可以下载该软件的2.0版,该版本在办公环境中为Nomad 200移动机器人实现这种方法。当然,谈判办公室环境与洋基队常规展示外野手的快速调整相去甚远,但肯定是关于未来的机器是否能够通过快速推理模仿此类壮举的悬而未决的问题。如果没有其他原因,所有人都必须承认,一阶定理掠夺的推理速度不断提高令人叹为观止,则问题是开放的。 (有关此增长的最新新闻,请访问并监视TPTP网站。)没有已知的理由为什么相关的软件工程无法继续产生速度增长以纯粹的逻辑方式处理信息。
现在,我们进入了与逻辑学家AI有关的第二个主题,该主题在本文中提到:常见的逻辑和使用不同逻辑之间基于逻辑的系统之间对互操作性的加强追求。仅提供了几篇简短评论。[29]想要更多的读者可以探索摘要过程中提供的链接。
一种标准化是通过所谓的常见逻辑(CL)及其变体。 (CL作为ISO标准出版 - ISO是国际标准组织。)对逻辑感兴趣的哲学家,当然,逻辑学家会发现CL非常有趣。从历史的角度来看,CL的出现在很大程度上很有趣,因为率领它的人就是帕特·海斯(Pat Hayes),就像我们所看到的那样,与麦卡锡(McCarthy)一起在1960年代建立了逻辑学家AI。尽管海斯不是在1956年达特茅斯的最初会议上,但他当然必须被视为当代AI的创始人之一。)至少我们看到的是CL的有趣的事情之一,是它表示婚姻的趋势逻辑,编程语言和环境。逻辑/编程混合动力的另一个系统是雅典娜,它可以用作编程语言,同时也是MSL的形式。雅典娜基于称为示范性证明语言的正式系统(Arkoudas 2000)。
CL如何启用两个系统之间的互操作性?假设这些系统之一基于逻辑
L
�
,另一个
L
′
�
′
。 (为了简化说明,假设两种逻辑都是一阶。)这个想法是一个理论
φ
L
φ
�
,也就是说,一组公式
L
�
,可以翻译成CL,生产
φ
C
L
φ
�
�
,然后可以将这个理论转化为
φ
′
L
φ
�
′
。 CL因此成为语言。请注意,什么算作一个形成良好的公式
L
�
可能与一个算是一个不同的
L
′
�
′
。这两种逻辑也可能具有不同的证明理论。例如,推断
L
�
可能基于解决方案,而推断
L
′
�
′
是自然扣除型的。最后,符号集将不同。尽管存在这些差异,但通过翻译的礼貌,可以在整个翻译中产生所需的行为。无论如何,这是希望。这里的技术挑战是巨大的,但是联邦资金越来越多地用于互操作性问题的攻击。
现在,对于本节中的第三个主题:可以称为“向下编码”。该技术易于理解。假设我们手头有一套
φ
φ
一阶公理。众所周知,决定任意公式的问题
ϕ
�
,无论是否可以推论
φ
φ
是图灵无法确定的:在一般情况下,没有可以正确返回“是”或“否”的图灵机或等效物。但是,如果所讨论的域是有限的,我们可以将此问题编码为命题演算。主张所有事物
F
�
当然相当于断言
F
一个
�
�
,
F
乙
�
�
,
F
c
�
�
,只要域仅包含这三个对象。因此,这里的一阶量化公式成为命题演算中的一个结合。确定在命题演算中表达的公理本身是否可以证明此类连词是可确定的,此外,在某些情况下,在命题情况下可以很快进行检查。非常快。有兴趣编码到命题演算的读者应咨询巴特·塞尔曼(Bart Selman)的最新DARPA赞助作品。请注意,编码的目标不需要是命题演算。由于机器通常比直逻辑中的逻辑上的证据更难,因此通常将前者对后者进行编码通常是权宜的。例如,命题模态逻辑可以用多组逻辑(FOL的变体)编码;参见(Arkoudas&Bringsjord 2005)。可以在称为描述逻辑的一组系统中找到这种编码下降的显着用法,这些系统是一组逻辑,而不是一阶逻辑,但比命题逻辑更具表现力(Baader等,2003)。
描述逻辑用于推理给定领域中的本体,并已成功应用于生物医学领域等领域(Smith et al. 2007)。
3.3 非逻辑主义人工智能:总结
人们很容易通过否定来定义非逻辑主义人工智能:一种构建拒绝逻辑主义人工智能显着特征的智能代理的方法。这样的捷径意味着,由非逻辑主义人工智能研究人员和开发人员设计的代理,无论这些代理有什么优点,都不能说知道
φ
�
; ——原因很简单,通过否定,非逻辑主义范式甚至没有一个可以作为候选的陈述性命题。
φ
�
;.然而,这并不是定义非符号人工智能的特别有启发性的方式。一种更有成效的方法是,非符号人工智能是在逻辑系统之外的特定形式主义基础上进行的人工智能,然后列举这些形式主义。当然,事实证明这些形式主义未能包括正常意义上的知识。 (众所周知,在哲学中,正常意义是如果
p
�
已知,
p
�
是一个声明性的陈述。)
从逻辑系统以外的形式主义的角度来看,非逻辑主义人工智能可以分为符号但非逻辑主义方法和联结主义/神经计算方法。 (基于符号、声明性结构进行的人工智能,为了可读性和易用性,不被研究人员直接视为形式逻辑的元素,不算在内。传统的语义网络属于这一类别,Schank(1972)的概念网络依赖方案、基于框架的方案和其他此类方案。)如今,前一种方法是概率性的,并且基于下面介绍的形式主义(贝叶斯网络)。正如我们所指出的,后一种方法基于可广义地称为“神经计算”的形式主义。考虑到篇幅限制,这里仅描述这一类别中的一种形式(并简要介绍):前面提到的人工神经网络。[30]。尽管具有适当架构的人工神经网络可用于任意计算,但它们几乎专门用于构建学习系统。
神经网络由旨在表示神经元的单元或节点组成,这些单元或节点通过旨在表示树突的链接连接,每个树突都有一个数字权重。
传递给生成输出的激活函数的加权输入之和
人工神经网络中的“神经元”(来自 AIMA3e)
通常假设某些单元与外部环境共生;这些单元形成输入和输出单元的集合。每个单元都有一个当前的激活级别,即其输出,并且可以根据其输入和这些输入的权重计算其在下一时刻的激活级别。这种计算完全是本地的:一个单元只考虑其网络中的邻居。该局部计算分两个阶段进行。首先是输入函数,
我
n
我
�
�
�
,给出单元输入值的加权和,即输入激活的总和乘以它们的权重:
我
n
我
=
Σ
j
瓦
j
我
一个
j
�
�
�
=
Σ
�
�
�
�
�
�
在第二阶段,激活函数,
克
�
,将第一阶段的输入作为参数并生成输出或激活级别,
一个
我
�
�
:
一个
我
=
克
(
我
n
我
)
=
克
(
Σ
j
瓦
j
我
一个
j
)
�
�
=
�
(
�
�
�
)
=
�
(
Σ
�
�
�
�
�
�
)
激活函数(通常控制给定网络中的所有单元)的一种常见(公认的基本)选择是阶跃函数,它通常有一个阈值
t
�
当输入大于时输出 1
t
�
,否则输出 0。这在某种程度上应该是“类似大脑”的,因为 1 代表神经元通过轴突发射脉冲,0 代表不发射。下图显示了一个简单的三层神经网络。
3层神经网络
简单的三层人工神经网络(来自 AIMA3e)
正如您可能想象的那样,有许多不同类型的神经网络。主要区别在于前馈网络和循环网络之间。在如上图所示的前馈网络中,顾名思义,链接朝一个方向移动信息,并且不存在循环;循环网络允许循环返回,并且可能变得相当复杂。更详细的演示请参见
神经网络的补充。
神经网络从根本上受到以下事实的困扰:虽然它们很简单并且具有理论上有效的学习算法,但当它们是多层的并因此足以表达非线性函数时,它们在实践中很难训练。随着更好地利用最先进硬件的方法的出现,这种情况在 2000 年代中期发生了变化(Rajat 等人,2009 年)。用于训练多层神经网络的反向传播方法可以转化为对大量数字进行一系列重复的简单算术运算。计算硬件的总体趋势有利于能够执行大量彼此不依赖的简单操作的算法,而不是少量复杂和复杂的操作。
最近另一个重要的观察结果是,深度神经网络可以首先在无监督阶段进行预训练,在该阶段,它们只输入数据,而无需为数据添加任何标签。每个隐藏层都被迫代表下面层的输出。这种训练的结果是一系列代表输入域的层,抽象级别不断增加。例如,如果我们用面部图像预训练网络,我们将得到擅长检测图像边缘的第一层,可以组合边缘形成眼睛、鼻子等面部特征的第二层,第三层响应特征组,依此类推(LeCun et al. 2015)。
也许在其他统计学习形式和方法的背景下向学生教授神经网络的最佳技术是专注于一个特定的问题,最好是使用逻辑主义技术来解决似乎不自然的问题。然后,任务是使用任何可用的技术来寻求解决问题的方案。一个很好的问题是手写识别(它也恰好具有丰富的哲学维度;参见 Hofstadter & McGraw 1995)。例如,考虑分配问题,给定一个手写数字作为输入
d
�
,正确的数字,0到9。因为有一个包含60,000个标记数字的数据库可供研究人员(来自国立科学技术研究所)使用,所以这个问题已经演变成比较学习算法的基准问题。根据 Benenson(2016)最近的排名,神经网络目前是解决该问题的最佳方法。
我们鼓励对基于大脑的人工智能(和计算认知科学)感兴趣的读者探索 Rick Granger(2004a,2004b)及其脑工程实验室和 W. H. Neukom 计算科学研究所的研究人员的工作。 1956 年最初的会议上开始的“干”、逻辑主义人工智能与 Granger 及其同事在此采用的方法(直接对大脑电路进行建模)之间的对比是显着的。对于那些对神经网络的计算特性感兴趣的人,Hornik 等人。 (1989) 解决了独立于学习的神经网络的一般表示能力。
3.4 超越范式冲突的人工智能
此时,读者已经了解了人工智能的主要形式主义,并且可能想知道连接它们的异构方法。人工智能领域有这样的研究和开发吗?是的。从工程的角度来看,这样的工作具有不可抗拒的良好意义。现在人们认识到,为了构建完成工作的应用程序,人们应该从包含逻辑主义、概率/贝叶斯和神经计算技术的工具箱中进行选择。鉴于最初的自上而下的逻辑主义范式仍然存在并蓬勃发展(例如,参见 Brachman & Levesque 2004,Mueller 2006),并且如上所述,贝叶斯和神经计算方法的复兴为这两种范式奠定了坚实、肥沃的基础:好吧,人工智能现在在这个基本的三元组的武装下向前发展,并且几乎可以肯定的是,应用程序(例如机器人)将由从这三个元素中汲取灵感。 Watson 的 DeepQA 架构是利用多种范例的工程系统的最新示例之一。有关详细讨论,请参阅
Watson DeepQA 架构的补充。
谷歌 DeepMind 的 AlphaGo 是多范式系统的另一个例子,尽管其形式比 Watson 窄得多。围棋或国际象棋等游戏的核心算法问题是搜索大量有效的动作序列。对于大多数重要的游戏来说,详尽地这样做是不可行的。蒙特卡罗树搜索 (MCTS) 算法通过以统计方式搜索巨大的有效移动空间来绕过这个障碍(Browne 等人,2012)。虽然 MCTS 是 AlpaGo 的核心算法,但有两个神经网络可以帮助评估游戏中的状态并帮助模拟专家对手的游戏方式(Silver 等人,2016 年)。应该指出的是,MCTS 是一般游戏中几乎所有获胜提交作品的幕后黑手(Finnsson 2012)。
那么,人工智能主要范式的深度理论整合又如何呢?这种整合目前只是未来的一种可能性,但读者可以关注一些为这种整合而奋斗的研究。例如:Sun(1994,2002)一直在努力证明,人类认知本质上是象征性的(例如,分析传统中的专业哲学思考,明确地处理仔细符号化的论证和定义)可以产生于以下认知:本质上是神经计算。 Koller (1997) 研究了概率论和逻辑之间的结合。而且,总的来说,最近出现的所谓人类级人工智能是由寻求真正整合上述三种范式的理论家领导的(例如,Cassimatis 2006)。
最后,我们注意到 Soar (Laird 2012) 和 PolyScheme (Cassimatis 2006) 等认知架构是人工智能不同领域集成的另一个领域。例如,Companions 项目就是致力于构建人类水平的人工智能的一项努力(Forbus 和 Hinrichs 2006)。同伴是长期存在的系统,致力于成为人类水平的人工智能系统,充当人类的合作者。 Companions 架构试图在一个统一的系统中解决多个人工智能问题,例如推理和学习、交互性和寿命。