Somewhere in the archives of this blog you can find an article
about a notebook in a cell and its emotional experiences. The content of this article is more philosophical than applied. But the very idea of depicting the work of the brain using a pencil and a notebook in a cell seemed to me rather interesting. As the author of that article noted, the work of any program can be depicted on paper. Whether it is a call stack or processor registers - they can be easily depicted using cells.
But these are all low-level processes. The ability to portray them on paper is rather theoretical. In practice, it is of little use. Now, if it were possible to describe higher-level processes with the same ease ...
We sharpen a pencil
What for? - you ask. If the work of a system can be easily depicted schematically, then it will be easier to simulate such a system. And what could be simpler than a sheet in the box?
First you need to figure out what to portray. In the brain, we are interested in everything related to information processing. Simply, everything else can either not be modeled, or there is no point in modeling. Thus, there are only two subsystems that deserve attention. This memory is an independent storage and a subsystem that works with this memory. The latter include sub-, supra- and other consciousnesses.
The memory itself does not contain any special functions. It only allows reading and writing. Therefore, the main thing in memory is its structure. Here you can draw direct analogies with the database.
Probably not technically quite right to allocate memory like this. But we will leave the technically correct models on the conscience of the developers of neural networks. It is more important for us that the whole system works like a brain. If its parts separately work differently than their counterparts in the brain, then you can close your eyes and write off the features of the platform.
Consciousness is that which is between memory and environment. It interacts with the environment, accumulates experience gained in memory and uses this experience during the next interaction with the environment. That is, consciousness consists of a set of functions that manipulate information. For each person, these functions are the same and with age they do not change (almost). Also, consciousness has a state that is constantly changing and influencing its work.
We design memory on the plane
Many see memory as a network of interconnected nodes. It would seem, how can such a tangle be depicted on a plane, and yes even ordered by cells?
Elementary. All links in memory are well divided into two types, which can be conventionally designated as "sequential" and "parallel". The first ones connect the portions of information that came one after another - sequentially. And the second bind the information that came at the same time.
An example of consecutive connections are reflexes and other causal relationships. They help us enumerate the letters of the alphabet. They do not allow this to be done in the reverse order, since these connections are unidirectional.
Examples of parallel links are images. Unlike the serial links, these links are not unidirectional. So any fragment allows you to restore the entire image in your mind. Associations can also be attributed to parallel links.
With the help of parallel links, we still manage to reproduce the alphabet in the reverse order. To do this, we usually present it visually and “see” several adjacent letters at the same time.
If consecutive connections are called vertical, and parallel connections are horizontal, then it becomes immediately clear how to depict all this with the help of cells. Each node will occupy one cell. All nodes that are connected by a parallel link should be located in one line. Then the nodes connected by a serial link will be located in adjacent rows.
Let's try to depict how one of the fragments of memory may look like. For example, take the memories of the process of brewing tea. It will look something like this:
Each type of node has its own column. In a real situation there will be much more columns.
Each line contains one image - a set of nodes connected by a parallel link. In the following table, some cells are left empty. This means that the information contained in them is not related to the process of brewing tea and is not part of the image.
Neighboring lines symbolize serial communications. In general, the table shows how images follow each other. As you can see, these images are of two types - images of actions and images of sensations (blue and orange, respectively).
Describing images in words is quite convenient for a person, which cannot be said about a computer. He is much more accustomed to working with faceless numbers. But our table is designed in such a way that it can be quite naturally brought into a clear computer form.
The content of any of the cells symbolizes a certain color of sensation or type of action. And within a single cell, this shade can be either more or less. That is, it changes only in one dimension. This allows you to replace the verbal description with a single number indicating the intensity of a given sensation or action.
The resulting two-dimensional memory map is just a memory sweep. The model of the memory itself can be seen in the figure to the left.
The location of a particular node in memory is determined by two coordinates: value and type. Both values are discrete, which allows you to have nodes in the cells of the table. The size of the table depends only on the required degree of accuracy.
A node is a unit of memory. It stores information about a particular sensation (smell of an orange) or action (turning the head). From what was said above, it follows that the node stores its value, type, parallel links, and serial links.
Communication is a key point in the whole model. The link does not contain links to another node, as it might seem at first glance. Instead, the link stores the whole image. If the connection is parallel, then this is an image of which the node is a part. If consistent, the image that appeared immediately after the current one.
This allows us to realize the bidirectionality of parallel links (in any of the fragments we can restore the entire image as a whole) and the unidirectionality of consecutive ones (we can find the next image but not the previous one).
And to store such a connection, a simple array of integers is suitable, where the numbers indicate the intensity, and the indices indicate the type. For example, the image of a spoon (solid - cold - small ringing) can be recorded as an array [9, 0, 2, 3].
A single node can have multiple parallel and serial links. For example, the smell of an orange can be part of the image of an orange or orange juice. To bring some sort of order into this, you need to add weight to each link. This weight can increase when re-memorizing a given connection or when navigating through it. Accordingly, the weight decreases when there are no repetitions and transitions. Over time, weak links can simply be removed.
Do not treat this as an exact model of human memory. I did not set myself such a task. Reproduce some of the properties and features of memory - yes, but not its very structure. The priority was simplicity and the ability to easily imagine everything in the mind or to portray on paper.
It was also necessary to take into account the platform on which this model will work, that is, the computer. His computational abilities are different from those of the brain.
Next time I would like to talk about how to properly use this memory. How are the processes of recall, decision making, accumulation of experience? In general, how consciousness works.
Thanks for attention.