📜 ⬆️ ⬇️

Artificial organism

This is the third article from the series on the thinking program [1] , [2] . Despite the fact that the readership is thinning out, I try not to deviate from my idea, which, by the way, has already turned a year. During this year, we (I and the idea) have come a long way, which to a greater extent had to be overcome almost blindly, relying on our own intuition. During this time, the idea was transformed from a program into Artificial Intelligence, from Artificial Intelligence to artificial intelligence, then again into a program, then into a thinking program and, finally, into its final version - an artificial organism. It is to him that my story leads.

Let us not forget that all these reflections on knots, the work of the senses, all this is subordinated to one common goal - the creation of a working prototype of a program that simulates the transformation of information in a person’s head.

For this you need to understand two basic things - how information is recorded and how it is reproduced. Immediately you will not answer this question, since there is nothing to cling to and begin to build reasoning. Therefore, the first step on the way to unraveling the secrets of these processes was the description of the work of the sense organs [2] . It is from them that information begins its way along the human nervous system. According to the logic of things, the next step is the recording of information, that is, memorization or learning.

Training


Here it is - the Holy Grail of artificial intelligence. Training is considered one of its most important characteristics. As many have already guessed, the formation of ties is the main character in this play.
')
What does science say?

Let's start the search for an answer from official sources - let's turn to information about human physiology. Here is what is written in the chapter on memory:

It is believed that the physiological basis of memory lies in the so-called sequential temporary connections that arise in the cortex of the brain on the conditioned-reflex principles.

Or, speaking Russian, memory is a set of conditioned reflexes. I do not know about you, but this definition has put me on my guard. How can such a complex system be presented in the form of a set of causal relationships alone, which, in essence, are reflexes? Searches for other physiological processes, candidates for the "memory base" were unsuccessful. It seems that scientists themselves have not fully understood this issue. And, in order not to leave obvious gaps in their theory, they blamed everything on conditioned reflexes, as the most obvious candidates. Although in the same book, in the chapter devoted to these reflexes, it is written that they are responsible for muscular-chemical activity. And not a word about memory.

Well, since the official sources are at a deadlock and nothing new can be offered for almost a second hundred years, then there is nothing left but to continue the search among unofficial ones.

I immediately caught the eye of a mnemonic with its interesting memory model. There, in addition to the reflex connections already known to us, certain electrical or, as they are also called, resonant connections are described. It is on them, basically, and built our memory, if you believe this model.

The main difference between electrical connections and reflex connections is that electrical connections are not unidirectional. If you have imagined a bunch of several images (looked at a cat consisting of muzzle, eyes, ears, tail, paws, etc.), then any image of this bundle can be a stimulus. The reaction will always be the appearance in the imagination of a complete image, of all previously related images. It is enough to see the tail, imagination will finish it to the complete image of the cat.

In general, everything sounds logical and plausible, despite the fact that the physiology of electrical connections is not fully defined. There is only an assumption that excited neurons are somehow able to synchronize their oscillations. As a result, if only one neuron is excited, the excitation will be transmitted to the rest of the group due to the resonance effect (hence the second name for these connections). But this is only an assumption.

Anyway, this theory is able to describe some aspects of the process of memorization, albeit at a higher level of abstraction. And since the model of our program is also being developed at a higher level of abstraction than neurons, the theory suits us.

From theory to practice

As is usually the case, theory is at variance with practice. In our case, this also could not be avoided. The fact is that conditioned reflexes are formed at the stage of short-term memory. And in our model, the division into stages is somewhat different, and during the operation of short-term memory no connections are formed [2] . The only thing that happens at this stage is the search for correspondences between information from short-term memory and permanent. But this does not mean that we will not have conditioned reflexes. Although no, it means.

Let's try to cope with this misunderstanding, using different types of connections or different ways of education. What types can be distinguished? Reflex and resonance. What is the difference? Reflex connections are established from the conditioned stimulus to the unconditioned, while the unconditioned appears after some period of time. In addition, for the formation of reflex connections, there are limitations, such as that an unconditioned stimulus must be stronger in terms of biological significance.

Let's try to look at it from the other side. What if the connection is formed even when the unconditioned stimulus is weaker than the conditioned one? The unconditional will simply not be called, as it will be unimportant and not interesting in this situation. It turns out that instead of entering the criteria for establishing links, you can enter them to go over it during the search phase. To do this, during the formation of a bond, it is necessary to establish some of its properties in order to have something to analyze. For example, the date of formation. Then the cumulative binding process can be simplified by creating links to the right and left while registering their various properties.

Further, some of these links will be cleaned with a special cleaning algorithm, and the rest can be used in the search. The rest of the logic we put into the search process, when the program will think - go or not on this connection, analyzing its properties and other parameters. As a result, we will be able to maintain real models of thinking and behavior, including reflexes. Hurray, problem solved!

From practice to new theory

Well, the problem seems to have been dealt with (putting it off for later), it only remains to find out how, where and when new connections are formed. And also - what are these properties so mysterious. And the cleaning algorithm.

First things first. To begin with, we will try to formulate a general principle for the formation of connections in terms of our system:

New, just received from the senses information should contact the information already existing in the RAM.

In other words, new information will be associated with the current situation, with current thoughts and feelings - with everything that a person is thinking about at the moment.

From the point of view of nodes [1] , [2], there are no logically complex processes. A group of nodes, coming from the senses, forms such connections among themselves. Then it communicates with the nodes from the RAM. The link itself is a banal link. For the time being, I am inclined to believe that everyone should be tied according to the principle of each and every one.

If such a system is actively working for some time, then there will come a time when all the nodes in the memory form links with all. There is little good, because the information will not be structured in any way, and the recall processes simply cannot work effectively, as they are based on the transition from one node to another by reference.

To cope with this problem, you need to remember that a person very easily forgets information if it is not reproduced for some time. And still it is possible to notice that we remember some situations more easily, and some hardly. This suggests that the connections are not equivalent, and in the application to our system should have its weight. The greater the weight, the stronger the bond. The less - the greater the chance that it will break.

For this we need the properties of the links. The first candidates for this role are the “last access date” and weight. With the date is clear, and the weight will be expressed as an integer equal to the number of transitions in this connection, such a popularity rating. You can also add the total weight of the node, equal to the number of transitions to it.

In addition to the fact that these two properties will be used in the search, it will be possible to organize an external algorithm for cleaning and optimizing memory. For cleaning, you can set a threshold from the aggregate of the last access date, the weight of the node and its state [2] (magnitude of excitation or fatigue, which determines the strength of the stimulus, respectively positive and negative). And to optimize the search, if the memory is stored in text files, you can transfer the nodes with the greatest weight higher.

What do we get?

As it was planned, during memorization no complicated transformations occur, only the primitive operations of adding links and triggering contact counters. More interesting effects occur when these simple operations are performed in large numbers (as it should be). Gradually, certain groups of nodes will be formed in the memory, which will be analogous to the images of objects or phenomena. These groups will be distinguished by the fact that the weight of connections with internal members of the group will be noticeably greater than the weight of connections with other nodes. Such formation of images is a prerequisite for the beginning of learning speech and, as a result, more complex intellectual activity.

The great thing is that we don’t need to hard-code the behavior and way of thinking of the program. If common operations, such as the formation of connections and taking readings from the sense organs, are strictly defined, then the search criteria and details of the operation of the cleaning algorithm can and should be adjusted and calibrated based on known experimental data. So the task is not as difficult as it seemed at first. More precisely, we broke it into two stages - creating something remotely similar to the framework and, in fact, setting up and calibrating this framework.

Artificial organism


At this point, we looked at how the program receives information and how it remembers it. Next time we look at the search mechanisms. But so far, behind the scenes was where all this information comes from. It's time to talk about the virtual environment.

Purely theoretically, this environment can be anything. Even one variable containing the number 42. But in practice, if we want the program to develop, improve its model of the world, learn to speak, in the end, we need to give it something more than the number 42. It must be a dynamic world with its objects which will have their own properties, and with their own laws, which will affect the objects and the program itself. And the program is now more appropriate to call an artificial organism.

If we want it to develop as a person and think as a person, then we need to create for it a world that most closely matches the real one. Otherwise, we get the alien-level intelligence from Alpha Centauri.

Yes, it is easy to say "the most relevant to the real." This is an unattainable ideal. But one thing needs to be understood - the more detailed we make the world, the more potential the program will receive. If a person is brought up in the primitive world of animals, then he will be an animal, in terms of level of development. So if we create a relatively simple world for a program, we will not be able to develop it into a person.

How to be? Start with the simple, here's how. To get a working prototype as soon as possible. After all, the fact is that it is normal to test and calibrate it only when all the components are developed. Once with a primitive environment, we get the level of development of the animal, then we aim first at the animal. Perhaps this will disappoint many, but I see no other way out; if anyone sees, enlighten. In general, to get an "honest" imitation of an animal is an achievement in itself.

In order not to make a spherical horse, we will choose a specific prototype and the simpler the better. For the initial stage, I chose the planarians. The world around it will be a bath, on which this planar crawls. It will be possible to place food on a certain part of the bath. And I will teach the planarium a conditioned reflex - to stay away from the "lighted" areas of the bath. For this, during training, when she crawls into the lighted areas, she will be “shocked” - she will not like it very much.

From this it follows that in addition to the sense organs and memory, an artificial organism will have a body that can move, eat, and feel pain. And he will have needs - in food, movement, and so on.

When this is implemented, it will be possible to gradually improve the body's analyzer systems, add needs and complicate the world itself. At the same time, one can also follow the similarities with real organisms and their living conditions. We will gradually move towards mammals, and there we will be able to move a hand to humans. Here is such an evolution.

PS The potential of the program is determined not quite as in real organisms. If the latter immediately after birth have a brain with a certain number of neurons that will not grow, and between these neurons already have connections, then our program has only the necessary minimum of nodes responsible for needs. As the program runs, the number of nodes that make up the persistent memory will grow. Based on this feature, we do not need to devote time to the architecture of the network of nodes at the design stage, as is done in the development of neural network solutions. Instead, the bulk of the work will be in the development of the senses, the body and the surrounding world. As well as setting up all this stuff, only it will not be entirely programming. This approach makes it possible to get a working system at the early stages, which can then be gradually complicated by setting up and implementing new functions, without the need to reset the accumulated memory and start development from scratch.

Source: https://habr.com/ru/post/49181/


All Articles