几年前,让电脑用简单的英语回答问题,这种想法似乎是科幻小说。But when we releasedWolfram|Alpha2009年的一个大惊喜(尤其是对我而言!)是因为我们已经成功地让这一切发挥了作用。And by now people routinely ask personal assistant systems—many powered by Wolfram|Alpha—zillions of questions in ordinary language every day.
所有这些对于快速提问都很有效,or short commands (though we're always trying to使它更好!).但是更复杂的东西呢?What's the best way to communicate more seriously withAIs?
我已经想了很久了,试图把哲学的线索结合起来,linguistics,神经科学,computer science and other areas.让我有点惊讶的是,what I've realized recently is that a big part of the answer may actually be sitting right in front of me,以过去30年来我一直在努力的形式:沃尔夫拉姆语.
Maybe this is a case of having a hammer and then seeing everything as a nail.But I'm pretty sure there's more to it. And at the very least,思考这个问题是了解人工智能及其与人类关系的一种方式。
计算能力很强
The first key point—that I came to understand clearly only after a一系列的发现我在基础科学中说过计算是一个非常强大的东西,that lets even tiny programs (like cellular automata,或神经网络)难以置信的复杂方法。And it's this kind of thing that an AI can harness.
看着这样的图片,我们可能会感到悲观:我们人类将如何有效地沟通所有这些复杂性?最终,我们所希望的是,我们可以在大脑所能处理的和计算所能做的之间架起某种桥梁。虽然我不是这么看的,事实证明,这基本上就是我多年来在设计Wolfram语言时一直在做的事情。
Language of 金宝博188投注Computational Thinking
I have seen my role as being to identify lumps of computation that people will understand and want to use,like查找短行程,图像识别或Predict.传统的计算机语言集中在接近计算机实际硬件的底层结构上。But in the Wolfram Language I've instead started from what we humans understand,然后尽可能多地用语言来表达。
在早年,我们主要处理相当抽象的概念,about,说,数学、逻辑或抽象网络。但近年来与Wolfram Alpha密切相关的一项重大成就是,我们能够扩展我们建造的结构,以覆盖无数真实的种类世界上的事物,如城市、电影或动物。
One might wonder: why invent a language for all this;为什么不只用,说,English?好,for specific things,like "热粉红““new york city“或“冥王星的卫星“英语很好,事实上,Wolfram语言让人们就用英语吧.But when one's trying to describe more complex things,plain English pretty quickly gets unwieldy.
想象一下,例如,试图描述一个非常简单的算法程序。A back-and-forth dialog—"Turing-test style"—would rapidly get frustrating.而且,一段笔直的英语几乎肯定会以难以置信的繁复散文结尾,就像人们在复杂的法律文件中发现的那样。
但是Wolfram语言正是为了解决这些问题而建立的。它被设定为容易被人类理解,捕捉人类描述和思考事物的方式。然而,它也有一个允许任意复杂性被组装和通信的结构。And,of course,it's readily understandable not just by humans,but also by machines.
我意识到我已经用英语和Wolfram语言混合思考和交流多年了。当我说话的时候,例如,我要用英语说点什么,然后我将开始输入,用一段在那里执行的Wolfram语言代码来传达我的下一个想法。
了解AIS
但让我们回到人工智能。在计算机的大部分历史中,我们通过让人类程序员显式地编写代码行来构建程序,understanding (apart from bugs!) what each line does.但是要达到可以合理地称之为人工智能的目标,就需要利用更多的计算能力。And to do this one has to go beyond programs that humans can directly write—and somehow automatically sample a broader swath of possible programs.
我们可以通过算法自动化我们早就习惯了Mathematicaand the Wolfram Language,或者我们可以通过明确machine learning,或通过searching the 金宝博188投注computational universe可能的程序。但不管我们怎么做,one feature of the programs that come out is that they have no reason to be understandable by humans.
在某种程度上,这是令人不安的。我们不知道程序是如何工作的,or what they might be capable of.但我们知道他们在做精细的计算,从某种意义上来说不可约的复杂to analyze.
还有一个,非常熟悉的地方,同样的事情发生在那里:自然世界。Whether we look at流体动力学,或biology,或者什么,we see all sorts of complexity.And in fact the计算等效原理金宝博188投注that emerged from the basic science I did implies that this complexity is in a sense exactly the same as the complexity that can occur in 金宝博188投注computational systems.
几个世纪以来,我们已经能够辨认出我们可以理解的自然界的各个方面。然后利用它们创造出对我们有用的技术。而我们传统的编程工程方法或多或少也以同样的方式工作。
但对AI来说,我们必须冒险进入更广阔的计算领域,金宝博188投注where—as in the natural world—we're inevitably dealing with things we cannot readily understand.
我们会怎么做?
Let's imagine we have a perfect,完全人工智能,这可以做任何我们可以合理联想到情报的事情。也许它会从很多物联网传感器。And it has all sorts of computation going on inside.但它最终会做什么呢?What is its purpose going to be?
这将深入探讨一些相当深刻的哲学,involving issues that have been batted around for thousands of years—but which finally are going to really matter in dealing with AIs.
One might think that as an AI becomes more sophisticated,它的目的也是如此,最终,人工智能将以某种终极抽象的目的结束。But this doesn't make sense.Because there is really没有抽象定义的绝对目的,可以用纯形式的数学或计算方法推导。金宝博188投注Purpose is something that's defined only with respect to humans,以及他们独特的历史和文化。
An "abstract AI",与人类目的无关,will just go along doing computation.And as with most cellular automata and most systems in nature,我们将无法识别或确定任何特定的“目的”to that computation,或者是系统。
为人工智能设定目标
Technology has always been about automating things so humans can define goals,然后这些目标就可以通过这项技术自动实现了。
对于大多数技术,这些目标受到严格限制,不难描述。但是对于一般的计算系统,它们可以是完金宝博188投注全任意的。所以现在的挑战是如何描述它们。
你对人工智能说什么来告诉它你想要它为你做什么?You're not going to be able to tell it exactly what to do in each and every circumstance.You'd only be able to do that if the computations the AI could do were tightly constrained,就像传统的软件工程一样。But for the AI to work properly,it's going to have to make use of broader parts of the 金宝博188投注computational universe.这是我称之为现象的结果金宝博188投注违背了计算不可化归性你永远无法决定它会做什么。
那么,对AI定义目标的最佳方式是什么?这很复杂。如果人工智能能和你一起体验你的生活,看到你所看到的,阅读电子邮件,然后就这样,就像你熟悉的人一样,你也许可以通过用自然语言表达来告诉人工智能至少简单的目标。
但是如果你想定义更复杂的目标,或者目标与人工智能已经经历的不密切相关?那么少量的自然语言就不够了。Perhaps the AI could go through a whole education.But a better idea would be to leverage what we have in the Wolfram Language,它实际上已经有很多关于它的世界的知识,以一种人类和人工智能都可以使用的方式。
人工智能与人工智能对话
思考人类如何与AIs交流是一回事。But how will AIs communicate with one another?One might imagine they could do literal transfers of their underlying representations of knowledge.但那不管用,因为一旦两个人工智能有了不同的“经验”,the representations they use will inevitably be at least somewhat different.
所以,just like humans,人工智能将最终需要使用某种形式的符号语言来抽象地表示概念,没有具体参考这些概念的基本表示。
One might then think the AIs should just communicate in English;至少那样我们才能理解他们!但不会成功的。因为自动识别系统不可避免地需要逐步扩展他们的语言,所以即使它以英语开始,it wouldn't stay that way.
在人类自然语言中,new words get added when there are new concepts that are widespread enough to make representing them in the language useful.有时一个新的概念与世界上的新事物相关联(“blog”,“表情”"smartphone","clickbait",等);sometimes it's associated with a new distinction among existing things ("road"VS“高速公路”“模式”VS“分形”。
Often it's science that gives us new distinctions between things,by identifying distinct clusters of behavior or structure.但关键是,人工智能可以在比人类更大的范围内做到这一点。For example,我们的图像识别项目是用来识别我们人类日常生活中所用的大约10000种物体的。但在内部,因为它是用来自世界的图像训练的,it's discovering all sorts of other distinctions that we don't have names for,but that are successful at robustly separating things.
我称之为“后语言紧急概念”。(或)PLECs)And I think it's inevitable that in a population of AIs,an ever-expanding hierarchy of PLECs will appear,forcing the language of the AIs to progressively expand.
但是,英语的框架如何支持这一点呢?我想每个新概念都可以被分配一个由一些散列代码(如字母集合)组成的单词。But a structured symbolic language—as the Wolfram Language is—provides a much better framework.Because it doesn't require the units of the language to be simple "words",but allows them to be arbitrary lumps of symbolic information,such as collections of examples (so that,例如,一个词可以用一个带有定义的符号结构来表示。
那么,我应该用沃尔夫拉姆语互相交谈吗?It seems to make a lot of sense—because it effectively starts from the understanding of the world that's been developed through human knowledge,but then provides a framework for going further.不管语法是如何编码的(输入形式,XML杰森binary,无论如何)。What matters is the structure and content that are built into the language.
信息获取:十亿年展望
在地球上生命存在的数十亿年中,有几种不同的信息传递方式。最基本的是基因组学:在硬件层面传递信息。But then there are neural systems,就像大脑一样。And these get information—like our Image Identification Project—by accumulating it from experiencing the world.这是生物体用来观察的机制,and to do many other "AI-ish"things.
But in a sense this mechanism is fundamentally limited,因为每一个不同的有机体和每一个不同的大脑都必须自己经历整个学习过程:在一代人中获得的任何信息都不能轻易传递给下一代人。
But this is where our species made its great invention: natural language.Because with natural language it's possible to take information that's been learned,and communicate it in abstract form,从一代传到下一代。但是还是有问题,because when natural language is received,it still has to be interpreted,在每个大脑中以不同的方式。
这就是像Wolfram语言这样的计算知识语言的概念很重要的地方:金宝博188投注因为它提供了一种交流世界概念和事实的方式,in a way that can immediately and reproducibly be executed,without requiring separate interpretation on the part of whatever receives it.
It's probably not a stretch to say that the invention of human natural language was what led to civilization and our modern world.那么,进入另一个层次的含义是什么:拥有精确的计算知识语言,金宝博188投注that carries not just abstract concepts,但也是一种执行它们的方式?
一种可能是它可以定义人工智能的文明,whatever that may turn out to be.也许这与我们人类所能理解的相差甚远,至少在我们目前的状态下是如此。But the good news is that at least in the case of the Wolfram Language,precise 金宝博188投注computational-knowledge language isn't incomprehensible to humans;事实上,它被专门建造成人类能够理解的东西之间的桥梁,and what machines can readily deal with.
如果每个人都能编码呢?
让我们想象一个世界,除了自然语言,通过计算知识语言(如Wolfram语言)进行通信也是很常见的。金宝博188投注当然,很多计算知识的语言交流都是金宝博188投注在机器之间进行的。但其中一些将在人类和机器之间,很可能它是这里主要的交流方式。
在当今世界,只有一小部分人能写计算机代码,大约500年前,只有一小部分人能写自然语言。但是如果一股计算机知识的浪潮席卷而来,and the result was that most people could write knowledge-based code?
自然语言素养造就了现代社会的许多特征。基于知识的代码识读能实现什么?有很多简单的事情。Today you might get a menu of choices at a restaurant.但如果人们能读代码,there could be code for each choice,你可以随时改变自己的喜好。(And actually,something very much like this is很快就会有可能-沃尔夫拉姆生物化学实验室实验语言代码。)人们能够阅读代码的另一个含义是规则和契约:而不仅仅是写要解释的散文,one can have code to be read by humans and machines alike.
But I suspect the implications of widespread knowledge-based code literacy will be much deeper—because it will not only give a wide range of people a new way to express things,but will also give them a new way to think about them.
它真的会起作用吗?
所以,好啊,假设我们想使用Wolfram语言与AIS进行通信。它真的会起作用吗?To some extent we know it already does.因为在Wolfram Alpha和基于它的系统中,what's happening is that natural language questions are being converted to Wolfram Language code.
但是AI的更精细的应用呢?许多使用Wolfram语言的地方都是人工智能的例子,whether they're computing with images or text or data or symbolic structures.有时计算涉及到我们可以精确定义目标的算法,like查找短行程;sometimes they involve algorithms whose goals are less precise,like图像识别.有时计算是以“要做的事情”的形式进行的,有时作为“要寻找的东西”or "things to aim for".
我们用Wolfram语言代表世界已经走了很长的路。但还有很多事情要做。Back in the 1600s it was quite popular to try to create "philosophical languages"这将象征性地抓住人们所能想到的一切的本质。现在我们需要真正做到这一点。And,例如,to capture in a symbolic way all the kinds of actions and processes that can happen,以及人们的信仰和精神状态。随着我们的人工智能越来越成熟,越来越融入我们的生活,代表这些事情将变得更加重要。
对于某些任务和活动,我们无疑能够使用纯机器学习,and never have to build up any kind of intermediate structure or language.但自然语言对我们的物种到达我们所处的位置至关重要,so also having an abstract language will be important for the progress of AI.
我不知道会是什么样子,but we could perhaps imagine using some kind of pure emergent language produced by the AIs.但如果我们这样做,then we humans can expect to be left behind,也没有机会理解AIS在做什么。But with the Wolfram Language we have a bridge,因为我们有一种既适合人类又适合人工智能的语言。
多说
关于语言和计算之间的相互作用有很多话要说,人类和AIS。Perhaps I need to write a book about it.But my purpose here has been to describe a little of my current thinking,particularly my realizations about the Wolfram Language as a bridge between human understanding and AI.
纯自然语言或传统计算机语言,我们将很难与我们的人工智能进行沟通。但我一直意识到,使用Wolfram语言有一个更丰富的选择,可通过AIS轻松扩展,但它建立在利用人类自然语言和人类知识的基础上,以保持与人类所能理解的联系。We're seeing early examples already… but there's a lot further to go,我期待着真正建立所需要的,除了写这件事…