我刚刚开始了AI和数据挖掘课程,并开始了这本书。AI应用程序编程从对AI历史的概述开始。第一章介绍了1940年代至今的AI历史。我有一个特别的说法:
[在60年代]人工智能工程师承诺过高而交付不足...
过度自信的原因是什么?是因为数学预测模型显示了突破即将来临,还是由于不断增强的硬件利用能力?
我刚刚开始了AI和数据挖掘课程,并开始了这本书。AI应用程序编程从对AI历史的概述开始。第一章介绍了1940年代至今的AI历史。我有一个特别的说法:
[在60年代]人工智能工程师承诺过高而交付不足...
过度自信的原因是什么?是因为数学预测模型显示了突破即将来临,还是由于不断增强的硬件利用能力?
Answers:
我个人认为这是由于傲慢。在60年代和70年代,有一些强大的大人物在MIT,斯坦福大学等的大厅里走,他们只是知道他们已经破解了这个问题。对。
尽管那时我还不属于那个宇宙,但在80年代中后期,我一直在进行相似性搜索。我们的工作最初是基于60年代康奈尔大学的Gerard Salton所做的研究,该研究使用加权属性向量表示文档和查询。这实际上是一种有用的方法,但是当神经网络在火焰中崩溃(至少直到发现反向传播)时,由于与神经网络的相似性(双关语意),Salton的工作也包括在内。他试图做一些不同的事情,但是有好几年他都和其他人混在一起了。
每当有人为Current Brick Wall™提出解决方案时,他们都会感到非常兴奋,并宣布AI是一个已解决的问题。只是不是。因为那堵砖墙后面是另一堵墙。这个循环一遍又一遍地重复,而不仅仅是在AI中。我坚信,应该要求所有潜在的计算机科学家和工程师参加计算历史学期的一学期课程,并特别强调像火箭一样上升的Next Big Things™的数量...谷底的大火山口。
附录:我和一个老朋友度过了劳动节周末,我们对此进行了一些讨论。弄清楚上下文意味着什么,如何表示它,然后如何使用它,这可能是有待解决的最大障碍。而且您看的时间越长,障碍就越大。人类能够“发生了什么”对抗一个庞大的商店惊人,近乎瞬时局部模式匹配的“什么以前也发生过,”再结合以往的知识与目前的情况来创建一个上下文中理解可以导致行动。例如,当我们降低Waldo等级时,我们可以将其用作“我们可以/不能忽略的事物”的强大过滤器 时速60英里/小时,并排4车道,仅相距3或4英尺(或更短)!
上的频谱stuff > data > information > knowledge > understanding > judgement
,我们还在使劲地获取信息/知识的步骤,甚至是仅限于高度受限话语领域。
很简单,他们大大低估了眼前问题的严重性,尤其是在涉及组合爆炸时。许多AI解决方案适用于“玩具”样本,但是当它们扩展到人类水平的问题时,它们会失败。
可以说,他们也完全没有经验。作为一个领域,人工智能(相对)只是在实际应用中发明的,因此没有人拥有将理论应用于任何事物的丰富经验。
我可以想到几个原因。
人工智能在50年代末和60年代初解决了一些玩具问题时取得了如此迅速的成功,以至于他们高估了自己的成就。尽管程序相对简单,但ELIZA和SHRDLU还是让人们感到震惊。不幸的是,使这些程序令人惊叹的很大一部分实际上只是新颖性。今天没有人对与ELIZA的对话印象深刻,但是当时人们认为这简直是奇迹。
而且,随着问题“解决”或至少变得易于解决,人们不再将其视为AI。代码优化曾经是一个AI问题。统计学习从AI萌芽而来,并发展为自己的特色,并以此进行语音识别。随着数据挖掘成为主流,它将失去与AI的关联。随着时间的流逝,人工智能会忘记它的成功,而会陷入棘手且难以解决的问题,最终看起来像是失败。
我认为60年代的人们会根据自己的经验将问题分为“困难问题”和“简单问题”:对我们来说,像下棋,解决逻辑谜语,解决数学方程之类的事情对我们来说似乎很难。理解自然语言或在图像中找到对象的轮廓之类的事情似乎很容易,因为我们的大脑无需有意识的努力即可完成所有工作。当我们尝试解释我们如何做这些事情时,我们会提出一些简单的解释,例如“英语句子始终具有主语-谓语-宾语的结构,其中主语可以是简单术语或短语...”,或“寻找边缘并将其连接到对象边界”。今天,我们知道事情并没有那么简单,只是因为所有简单的(以及许多不太简单的)解决方案都已经尝试过并且没有做过。
此外,这种谬论并非始于60年代:关于如何解决“难题”(启发式,博弈论,决策论,数学,逻辑等)已有数百年的研究,但我不确定是否有人费心研究如何在1950年代之前解析自然语言。
甚至在今天,您仍可以定期在stackoverflow上找到问题,人们会问他们如何解析英语句子,估计图像中某个人的年龄,判断图像是否“可以安全工作”或两个图像是否显示相同的事物。我不认为谁问这些问题的人太傲慢自大或遭遇:这些问题才显得那么简单,这是令人难以置信的,有是没有简单的算法来解决这些问题。
人工智能有着令人失望的悠久历史,但我认为许多批评家常常过分简化了所发生的事情,例如您引述“ 1960年代工程师的承诺过高和交付不足”。
在20世纪60年代,人工智能是相对少数研究人员的领域(该领域尚未真正发展到足以称其为工程学),大部分是在大学中,而且只有极少数是有成就的程序员。
1950年代突然出现了计算机,对自动化产生了很高的期望,特别是在自然语言的机器翻译,下棋和类似问题中。您可能会发现从那时起对成功的一些实际预测,但是在有人深入解决其中一个问题之前,这些承诺不可避免地就已实现。(或者,他们错误地认为一项成功保证了另一项成功,例如在萨缪尔(Samuel)在跳棋方面取得了如此巨大的成功之后,期望能够实现良好的下棋。)
同样,要警惕“他们说”,“他们感到”,“他们认为”等主张。回顾性意见(像这样!)很容易被抛弃,而“专家”(实际上是试图解决给定问题的人)的实际预测的书面证据可能很难找到。
过度承诺和交付不足一直是软件开发的症状,无论编程的应用领域是什么。AI的主要困难在于,非平凡的问题超出了大多数工程师的能力范围。例如,尽管查尔斯·格兰特(Charles E. Grant)的答案将ELIZA和SHRDLU归类为“相对简单”,但我要说的是,只有ELIZA才是正确的(大多数一年级的编程学生可以很容易地实现)。另一方面,SHRDLU是一个大型的,非常复杂的程序,大多数程序员在发明和实施时会非常困难。确实,两个大学生团队甚至无法使源代码再次完全运行,以及40多年后的今天,仍然很难找到类似SHRDLU的能力。
由于AI可能是应用计算机时鲜为人知的问题,也是最棘手的问题之一,总的来说,我会说AI的进步在这门课程中通常是一样的。仍然有很高的期望,并且自60年代以来,我们的硬件速度和容量有了极大的提高,但是我想说工程师的能力和对AI的理解并没有太大的提高,因此像通过图灵测试这样的圣杯仍然存在可能还有很长的路要走,而且承诺过多和交付不足的情况可能还会持续一段时间。
好吧,我想说的是,OWL现在正在或多或少发生相同的事情。环顾四周,并尝试画出相似之处。
在纸面上听起来不错,在解决玩具问题上似乎效果很好,在大多数实际数据上变得异常复杂。
除了给出的良好答案之外,还有两个观察结果:
当今的某些说法似乎暗示着许多研究人员认为,一旦设计出更快的计算机,就可以扩大琐碎的解决方案。对于某种学习系统来说,这是非常正确的,但是对于我来说,OP所指的那种东西确实在规模上并没有任何改善。
当时的研究人员对人脑复杂性的估计非常低(关注图灵测试等概念,人们曾经只使用一小部分大脑的思想,等等)。随着事物规模的扩大,已经通过一些措施实现了简单动物级别的AI,但是跃升至人类水平的AI比预期的要大得多。这导致一些研究人员尝试学习婴儿系统以及其他基于生长/进化的模拟,以弥合这一差距。