How to speak with artificial intelligence?

Original author: Stephen Wolfram
  • Transfer

Stephen Wolfram's translation of the post " How Should We Talk to AIs? "
Many thanks to Polina Sologub for help in translating and preparing the publication.



Content


- Computing is power
- Language of computational thinking
- Understanding AI
- What will AI do?
- Setting goals for AI
- Talking one AI with another
- Gathering information: a review of a billion years
- And what if everyone could write code?
- Will it really work?
- I will say more



More recently, the idea of ​​having a computer that can answer questions in English seemed like science fiction. But when we released Wolfram | Alpha in 2009 , one of the biggest surprises (at least for me!) Was that we were able to make our product really work. And now people daily ask their personal assistants a myriad of questions - in plain spoken language.



All this works quite well (although we always try to do better !). But what about more complicated things? How to communicate with artificial intelligence ?

I thought about this for a long time, trying to combine philosophy, linguistics, neurology, computer science and other fields of knowledge. And I realized that the answer was always in front of my nose, and it lay in the area that I have been involved in for the last 30 years: Wolfram Language .

Maybe this is just the case when you have a hammer, and you see only nails around. Although I am sure that this is not only the case. At the very least, thinking through this question is a good way to understand more about artificial intelligence and its relationships with people.

Computing is Power


The first key point (in the clear understanding of which I came only after a series of discoveries that I made in basic science) is that computing is a very powerful thing that allows even tiny programs (for example, cellular automata or neural networks) to behave incredibly complex way. And AI can use this.



Looking at a picture like this, it’s easy to become a pessimist: everything looks too complicated . In the end, we must hope that we can build a bridge between what our brain can process and what calculations it can do. And although I did not look at it this way, it turns out that, in essence, this is exactly what I tried to do all these years when developing Wolfram Language.

Computational Thinking Language


I saw my role in defining the “chunks” of computing that people would use — like FindShortestTour , ImageIdentify, or Predict . Traditional computer languages ​​have focused on low-level constructs. But in Wolfram Language, I started by saying that we humans understand, and then tried to capture as much of this “understood” in the language as possible.

In the early years, we mainly dealt with rather abstract concepts: say, about mathematics or logic or abstract networks. But one of the greatest achievements of recent years, closely associated with Wolfram | Alpha, was that we were able to expand the structure we built, covering countless viewsreal things that exist in our world: cities, cinema or animals, etc.

One may wonder: why invent a language for all this ? Why not just use, say, English? Well, for specific concepts like “ hot pink ,” “ New York, ” or “ moon of Pluto, ” the English language is really good (and in such cases, the Wolfram Language allows people to use only the English language ). But if you try to describe more complex things, spoken English pretty quickly becomes too cumbersome.

Imagine, for example, a description of even a fairly simple algorithmic program. A Turing-style dialogue will quickly disappoint you.



But Wolfram Language is built specifically to solve such problems. It was created to be easily understood by people and takes into account the peculiarities of human thinking. It also has a structure that allows you to assemble complex elements together. And, of course, not only people, but also cars can easily understand it.

For many years I thought and spoke in a mixture of English and Wolfram languages. For example, if I say something in English, then I can just start typing a continuation of my thoughts using the Wolfram Language code.



Understanding AI


But let's get back to AI. For most of the history of computing, we created programs for which programmers wrote every line of code, understanding (except for errors) what each line is responsible for. However, achieving an AI level requires more powerful computing. To follow this path means to go beyond the programs that people can write and expand the range of possible programs.

We can do this through a kind of automation of algorithms that we have been using for a long time in the Mathematica and Wolfram Language systems , either through machine learning or through a search in the Computing Universe for possible programs. However, these programs have one feature:they have no reason to be understood by people .



At some level, this is alarming. We do not know how programs work from the inside, or what they are capable of. But we know that they do complex calculations that are in some ways too complicated to analyze.

However, in some places the same thing happens: we are talking about the natural world . If we carefully look at the dynamics of liquids , or turn to biology , we will see that in the natural world all levels of complexity are represented. And in fact: the principle of computational equivalenceemerging from fundamental science, implies that this complexity is in a sense exactly the same as that which may arise in computing systems.

Over the centuries, we have identified those aspects of the natural world that we can understand, and then used them to create useful technologies. And our traditional engineering approach to programming works more or less the same.

But in the case of AI, we must leave the beaten track that lies within the Computing Universe, and we will have to (as in the natural world) deal with phenomena that we cannot understand.

What will the AI ​​do?


Let's imagine that we have such a perfect AI that is able to do everything related to intelligence. Maybe he will receive input from many IoT sensors. Inside it, all kinds of calculations will be carried out. But what will he ultimately try to do? What will be his purpose?

The point is to delve into some rather deep philosophy related to the problems that have been discussed for thousands of years, but which ultimately will gain real significance only in interaction with AI.

You might think that as AI becomes more complex, it will ultimately pursue some sort of abstract goal. But that does not make sense. Because in fact there is no such thing as an abstract absolute goaldeduced purely formally - mathematically or through calculations. The goal is determined only in relation to people and correlated with their specific history and culture.

" Abstract AIs " not related to human goals will simply continue to do the calculations. And, as is the case with most cellular automata and most natural systems, we will not be able to determine any specific purpose of this calculation.

Setting Goals for AI


Technology has always been the automation of things so that people can set goals, and then these goals can be achieved automatically using technology.

In most cases, these technologies were severely limited, so their description is not difficult. But for a general computing system, they can be completely arbitrary. Thus, the challenge is to describe them.

How do you convey the AI, what do you want him to do for you? In each case, you cannot precisely formulate what exactly the AI ​​should do. You could do this if the calculations performed by the AI ​​were severely limited, as in traditional software. To work more efficiently, AI needs to use the wider parts of the Computing Universe. As a result, we are dealing with the phenomenon of computational irreducibility , that is, we will never be able to determine everything that he will do.

So what is the best way to set goals for AI? This is a difficult question. If AI can live your life with you, seeing what you see, reading your email with you, and so on, then, as with a person you know well, you could set simple goals for AI just voicing them in natural language.

But what if you want to set more complex goals, or those that have little to do with what AI is already familiar with? In this case, natural language will not be enough. Perhaps AI could get a versatile education. However, the best idea would still be to use the Wolfram Language, which has a lot of knowledge that both people and AI can use.

Conversation of one AI with another


Thinking about how people communicate with AI is one thing. But how will AI communicate with each other? It can be assumed that they could do a literal translation of their knowledge. But this will not work, because the two AIs have different “experiences”, and the ideas they use will inevitably differ.

So in the end, AI (as well as people) will have to come to the use of some form of symbolic language that represents concepts in an abstract way (without a specific reference to the representations underlying them).

You might think that AI should just communicate in English; at least that way we could understand them! But that will not work. Since AIs inevitably must gradually expand their language, so that even if they started with English, they would still soon go beyond it.

In natural languages, new words are added when new concepts appear that are quite widespread. Sometimes a new concept is associated with something new in the world (“blog”, “smiley”, “smartphone”, etc.); Sometimes this is due to the emergence of new differences between existing concepts ("road" and "highway").

Often it is science that opens up new differences between things by revealing different clusters of behavior or structure. But the fact is that AI can do this much more extensively than humans. For example, our image identification project is set up to recognize 10,000 kinds of objects with familiar names. He trained on real images and discovered many differences for which we have no name, but thanks to which things can be successfully separated.

I called it " post-linguistic concepts " (or PLECs ). And I think that the hierarchy of these concepts will be constantly expanding, forcing the AI ​​language to also gradually grow.

But how is this supported within the English language? I believe that every new concept can be denoted by a word formed from some hash code (like a set of letters). But a structured symbolic language (like Wolfram Language) provides a more appropriate framework. Since it is not necessary for him to have simple “words” as units of the language, arbitrary units of symbolic information, such as sets of examples, can become such units.

So should AI talk to each other in Wolfram Language? It seems to me that makes sense. It doesn’t matter how the syntax is encoded (input form, XML, JSON, binary, whatever). More important is the structure and content that are built into the language.


Gathering Information: A Billion Years Review


Over the billions of years that life has existed on Earth, there have been several different ways to transmit information. The main one is the one that genomics deals with: transmitting information at the "hardware" level . To do this, we have a nervous system and, in particular, a brain that receives information (for example, from our project for identifying images), accumulating it from the experience. This mechanism is used in our body in order to see and make many other things, like those that are characteristic of AI.

But in a sense, this mechanism is fundamentally limited, because each organism is different from the other, and each individual must go through the entire learning process independently:not a single unit of information received in one generation can be easily transferred to the next .

However, our species made a great discovery: natural language . Because with natural language, it becomes possible to take the information that has been acquired and transmit it in an abstract form - say, from one generation to another. However, there is another problem, because when a natural language is developed, it still needs to be interpreted - by each person individually.



And it is here that the significance of a language based on computed knowledge (such as the Wolfram Language) becomes apparent, because it provides the ability to exchange concepts and facts about the world without requiring a separate interpretation.

It is probably not an exaggeration to say that the invention of the human language led to the emergence of civilization and our modern world. So, what will be the consequences of having a language that is based on knowledge, and which contains not only abstract concepts, but also a way to derive them?

One option is to describe a civilization with AI - no matter what it may be. And perhaps this will be far from what we humans (at least in our current state) can understand. The good news is that, at least in the case of the Wolfram Language, an exact language based on computed knowledge is not incomprehensible to humans; it can be a bridge between people and cars.

But what if everyone could write code?


So, let's imagine a world in which (in addition to natural language) a language like Wolfram Language is used everywhere. Of course, such a language will be much more often used for communication between machines. However, it is possible that he will become the dominant form of communication between man and machine.

In the modern world, only a small part of people can write computer code - just as 500 years ago, only a small part of people could write in natural language. But what if computer literacy rises sharply, and as a result, most people will be able to write knowledge-based code?

It was natural language that contributed to the formation of many features of modern society. What opportunities does knowledge-based code offer? Variety. Today you can get a menu in the restaurant to select a dish. But if people could read the code, you could create code for each option so that you can easily make changes to your taste (in fact, something like this will soon be possible (Emerald Cloud Lab) using Wolfram Language code for laboratory experiments in biology and chemistry). Another consequence for people who are able to read code: instead of writing plain text, you can write code that can be used by both people and cars .

I suspect that the effects of widespread literacy on knowledge-based programming will be much deeper, because it will not only allow many people to express something in a new way, but also give them a new way to think about it.

Will this really work?


Good: let's say we want to use Wolfram Language to communicate with AI. Will this work out? This option is already being implemented, because within Wolfram | Alpha and its systems, questions formulated in a natural language are converted to Wolfram Language code.

But what about more complex applications of artificial intelligence? In many cases, when Wolfram Language is used, we are dealing with examples of AIs - whether they are calculations made with images, or data, or character structures. Sometimes calculations include algorithms whose goals we can pinpoint ( FindShortestTour ); sometimes goals are less accurate ( ImageIdentify ). Sometimes calculations are presented as " what needs to be done", sometimes it’s like“ something to find, "or“ something to strive for . "

We have come a long way to represent the world in Wolfram Language. However, more needs to be done. As far back as the 17th century, attempts were made to create a" philosophical language ", which somehow symbolically would reflect the essence of everything that can be imagined.Now we need to really create such a language.At the same time, it will be necessary to cover all types of actions and processes that can occur, as well as phenomena such as beliefs of peoples and various mental state, since our AND And becoming more sophisticated and more integrated into our lives, the presentation of such things is an important step.

For some tasks and activities, we will certainly not use purely machine learning, and we will not have to build any intermediate structure or language. But, since natural language was crucial in the development of our species, knowledge of abstract language will be important for the progress of AI .

I don’t know how it will look, but you can imagine using some kind of purely emergent language created by AI. But in this case, we humans will not have a chance to understand what AI does. But in the case of Wolfram Language, we have a bridge: a language that is suitable for both people and AI.


I will say more


Much more can be said about the relationship between language and computing, people, and AI. Maybe I should even write a book about it. However, at the moment, my goal is to outline my current point of view - in particular, my ideas regarding the Wolfram Language as a bridge between humans and AI.

With the help of a natural, or traditional computer language, we will hardly communicate with AI. However, I understand that with Wolfram Language we have a lot more alternatives; such a language is based on natural human language and human knowledge. This is necessary in order to maintain such a connection with AI that people will understand. We already see some examples of what I talked about ... but you need to go a lot further, and I look forward to when it comes time to really build what we need and write about it ...

Only registered users can participate in the survey. Please come in.

Artificial intelligence, why do we need it?

  • 41.3% to move faster in science (technology, programming, etc.) 55
  • 9.7% to feel like creators of a completely new life form 13
  • 6.7% inner desire to destroy themselves 9
  • 19.5% desire for eternal life 26
  • 13.5% just progress for the sake of progress 18
  • 9% we don’t yet know why we need it 12

How soon should we expect the appearance of full-fledged artificial intelligence?

  • 19.2% 5-10 years 30
  • 43.5% 20-50 years 68
  • 17.3% 50-100 years 27
  • 8.9% over 100 years 14
  • 10.8% it is unreachable 17

Also popular now: