ITKarma picture

In this article I will talk about one of my hypotheses regarding the architecture of the brain.

Reasoning is based on a very simple concept of channels. Perhaps the reader will even find it naive. Nevertheless, I had to make great efforts to come up with this. This is not a scientific article. If someone calls it another speculation on the subject of the brain, then formally it will be right. Criticism is welcome.


The history of this hypothesis began in 2015. Once again thinking about the structure of the brain, I came to one idea. Its essence was that the brain must somehow build a model of the environment. A model is needed to break the direct connection between receptors and effectors. A creature without such a model is almost entirely dependent on external signals. Locomotion is possible either as a taxis or as a random walk. In a sense, such a creature is like an inanimate object. For example, the ball moves only when it receives an “external signal” from the foot of a football player. This is not much different from the conventional unicellular, which moves along the chemical gradient towards nutrients. His behavior is likewise completely determined by external signals. You can change this scheme by placing a memory between the receptors and effectors that stores a crude model of the environment.

In this case, the effectors will receive signals already from the model, and the receptors will be used to update the model in real time. Such an architecture will allow the creature to respond to the "invisible." For example, when the chemical gradient from food disappears, the creature remembers which way it is necessary to continue to move despite the temporary absence of external signals. Close your eyes and try to blindly take your favorite coffee mug from the table. I am sure you can easily do this, although you do not receive any external signals from the circle. Your muscles receive signals from the current model circles in the brain. This is a reaction to the invisible in my understanding.

How is this model arranged? In the simplest case, apparently, the model can store two types of information:

  • What is the type of signal (food, sexual partner, danger, etc.);
  • Where is the direction to the signal source (something like a compass).

It seems that such a management scheme should give its owner certain advantages for survival. You can easily think of the development of this scheme. For example, add a map. The creature must remember where it is on the map and where the signal source is. At the next stage of development, the brain could simulate (predict) the movement of the signal on the map and thereby give the conditional predator the opportunity to be proactive. All this is quite simple and obvious as long as we are talking about hypothetical primitive creatures. It is completely incomprehensible how complex models are built. Is there any general principle or approach for building models of any complexity? It took me about three years to find a satisfactory model of the architecture of the brain without quantum effects and other “magic”. This will be discussed further.


Imagine that you have a set of identical cards that have fields for indicating the following information:

  • Unique number;
  • Name of the card;
  • Formula for dependence on other cards;
  • A set of numbered cells that can be marked with chips.

Approximate appearance of the card:

ITKarma picture

Consider a simple example of filling out cards:

ITKarma picture

This can be interpreted as follows. This set of cards is a model of environmental objects. The model "knows" about the existence of ducks and frogs. The current situation in the model is fixed by placing chips in numbered cells. The cell number is called the channel. The number of channels determines the maximum number of objects in the outside world that are tracked at any given time. In this picture, in the channel 1, the duck object is tracked, and in the channel 2, the frog.The reason for installing chips on the card can be either a signal from the outside (for example, from the receptors), or the state of other cards. The dependencies of cards on each other are determined using simple Boolean formulas. Each channel uses the same formula. The system works on ticks. The state of dependent cards at time t is formed by applying formulas to the state of the system at time t-1.

A programmer may notice that applying formulas is similar to bitwise operations with binary numbers. And there is. It is quite easy to program the current model of such a system:

class dotdict(dict): __getattr__=dict.get def __setattr__(self, name, value): self[name]=value class Machine: """ Состояние машины хранится в словаре tick. На каждом такте вычисляется новое состояние в словаре tock. Затем tick и tock меняются местами и машина оказывается в новом состоянии. """ def __init__(self, cells): self.cells=cells self.tick=dotdict() self.tock=dotdict() for key in cells: self.tick[key]=0b0000 self.tock[key]=0b0000 def step(self): """ один такт машины """ for name, func in self.cells.items(): if func is None: # функции нет, значит сигнал меняется только извне self.tock[name]=self.tick[name] else: # вычисление функции карточки от предыдущего состояния машины self.tock[name]=func(self.tick) # установка нового состояния self.tick, self.tock=self.tock, self.tick def show(self, comment=None): """ вывод состояния карточек """ if comment is not None: print(f'Пояснение: {comment}') for key in cells: print(key, f'{self.tick[key]:04b}') print('------------------------------------------------') # набор карточек cells={ "C1": None, # это летает "C2": None, # это плавает "C3": None, # это крякает "C4": None, # это квакает "C5": lambda s: s.C1 & s.C2 & s.C3, # это утка "C6": lambda s: s.C2 & s.C4, # это лягушка } # создание машины m=Machine(cells) # установка сигналов извне m.tick.C1=0b0001 m.tick.C2=0b0011 m.tick.C3=0b0001 m.tick.C4=0b0010"Получены сигналы с рецепторов") # вывод состояния # выполнение одного такта с выводом состояния m.step() 

Пояснение: Получены сигналы с рецепторов C1 0001 C2 0011 C3 0001 C4 0010 C5 0000 C6 0000 ------------------------------------------------ C1 0001 C2 0011 C3 0001 C4 0010 C5 0001 C6 0010 ------------------------------------------------ 

This example demonstrates the "inference" of a machine about objects in one clock cycle. With each cycle, the machine "learns" about objects more and more. Some of the information comes from the receptors, some is sequentially displayed thanks to the formulas.

The dynamic change of an object can be seen in the following example:

ITKarma picture

# набор карточек cells={ "C1": None, # это машет крыльями "C2": lambda s: s.C1 & s.C3 | ~s.C1 & s.C2, # крылья вверху "C3": lambda s: s.C1 & s.C2 | ~s.C1 & s.C3, # крылья внизу } m=Machine(cells) m.tick.C1=0b0001 # рецепторы зарегистрировали, что объект в первом канале машет крыльями m.tick.C2=0b0001 # рецепторы зарегистрировали, что у объекта в первом канале крылья внизу"Получены сигналы C1 и C2 с рецепторов") m.step() m.step() m.step() m.step() m.tick.C1=0b0000 # рецепторы зарегистрировали, что объект в первом канале не машет крыльями"Пропал сигнал C1 с рецепторов") m.step() m.step() 

Пояснение: Получены сигналы C1 и C2 с рецепторов C1 0001 C2 0001 C3 0000 ------------------------------------------------ C1 0001 C2 0000 C3 0001 ------------------------------------------------ C1 0001 C2 0001 C3 0000 ------------------------------------------------ C1 0001 C2 0000 C3 0001 ------------------------------------------------ C1 0001 C2 0001 C3 0000 ------------------------------------------------ Пояснение: Пропал сигнал C1 с рецепторов C1 0000 C2 0001 C3 0000 ------------------------------------------------ C1 0000 C2 0001 C3 0000 ------------------------------------------------ C1 0000 C2 0001 C3 0000 ------------------------------------------------ 

This example shows how a chip "jumps" in the first channel between cards C2 and C3 as long as card C1 is active.

Another dynamic example:

ITKarma picture

# набор карточек cells={ # это двигается влево "C1": None, # это двигается вправо "C2": None, # координата x == 1 "C3": lambda s: s.C2 & s.C4 | s.C3 & ~s.C1 & ~s.C2, # координата x == 2 "C4": lambda s: s.C1 & s.C3 | s.C2 & s.C5 | s.C4 & ~s.C1 & ~s.C2, # координата x == 3 "C5": lambda s: s.C1 & s.C4 | s.C2 & s.C6 | s.C5 & ~s.C1 & ~s.C2, # координата x == 4 "C6": lambda s: s.C1 & s.C5 | s.C6 & ~s.C1 & ~s.C2, } # создание машины m=Machine(cells) # установка сигналов извне m.tick.C1=0b0001 # объект в первом канале начал двигаться вправо m.tick.C3=0b0001 # объект в первом канале находится на координате x == 1"Получены сигналы C1 и C3 с рецепторов") # вывод состояния m.step() m.step() m.step() m.tick.C1=0b0000 # объект в первом канале больше не двигается вправо m.tick.C2=0b0001 # объект в первом канале начал двигаться влево"Пропал сигнал C1 и получен сигнал C2 с рецепторов") # вывод состояния m.step() m.step() m.step() 

Пояснение: Получены сигналы C1 и C3 с рецепторов C1 0001 C2 0000 C3 0001 C4 0000 C5 0000 C6 0000 ------------------------------------------------ C1 0001 C2 0000 C3 0000 C4 0001 C5 0000 C6 0000 ------------------------------------------------ C1 0001 C2 0000 C3 0000 C4 0000 C5 0001 C6 0000 ------------------------------------------------ C1 0001 C2 0000 C3 0000 C4 0000 C5 0000 C6 0001 ------------------------------------------------ Пояснение: Пропал сигнал C1 и получен сигнал C2 с рецепторов C1 0000 C2 0001 C3 0000 C4 0000 C5 0000 C6 0001 ------------------------------------------------ C1 0000 C2 0001 C3 0000 C4 0000 C5 0001 C6 0000 ------------------------------------------------ C1 0000 C2 0001 C3 0000 C4 0001 C5 0000 C6 0000 ------------------------------------------------ C1 0000 C2 0001 C3 0001 C4 0000 C5 0000 C6 0000 ------------------------------------------------ 

Using this example, we can understand how the prediction of changes that occur with an object can occur. The fate of the object is literally played in the model in real time. This process can occur ahead of real events. The accuracy of the simulation depends only on the number of cards. In addition, coding may well be organized on the cards. For example, using CDMY0CDMY cards to fix the coordinates to the nearest meter, and CDMY1CDMY cards to fix the coordinates inside the current meter to the nearest centimeter. Instead of CDMY2CDMY cards, the whole CDMY3CDMY is used.

An artificial intelligence specialist may notice that this looks like a regular logical agent. Indeed, such agents are described, for example, in the book [1] . Moreover, the calculation method does not bring anything new in comparison with the McCallock-Pitts model. If we replace cards with neurons, and formulas with threshold functions, we get the historically first model of a neural network, which, when using delays on neurons, essentially also works similarly in clock cycles. The differences are not significant. Only the concept of channels claims to be original.

It is known that such logical networks with delays are equivalent to state machines. Usually, finite state machines are determined by listing all its states. A logical network differs only in that its state is determined by the set of states of all elements. An automaton having 256 states is described by a network of 8 elements. I will not go into details. Those interested can read about this in the book [2] .

We can assume that a certain set of cards is a multi-channel finite state machine.

It is worth adding that it also looks like a kind of FPGA. Of the real architectures created by man, this is perhaps the closest.

What does one card mean? Anything. It can be a signal from a specific receptor, or an abstract category of the type "person", or some kind of event, or property. In any case, this is some characteristic of the object. It can be either static or dynamic. The process of switching cards can reflect the change in the object in time and space. Computation procedures can be built on the cards for signal recognition or for limb control. Thanks to the channels, the system can simulate several objects or processes simultaneously. Using cards, maps of the surrounding space can be simulated, on which the position and movement of several objects is simultaneously tracked. The search for the shortest path between the nodes of such a map can be performed in parallel bypassing in width, as described, for example, in the book [3] .

A single card cannot contain a variable. For example, a smooth change in the color of an object will be tracked as the movement of chips on cards, each of which represents a separate specific shade. Same thing with position in space. Due to this, contradictions are possible in the model when the object from the point of view of the model is simultaneously large and small, or cold and hot, or green and red, or is located here and there. Any object can have any properties and any combination of them. This is the model’s right to error, if you like.

The concept of an object is worth dwelling separately. This is the key and strangest element of the hypothesis. I assume that there is no model of the environment in the brain. There is only one model of a universal object that can be anything. The same model is used to model any element of the environment. Frog, duck, pencil, man, sky, math, Thursday - all these objects are tracked within the same model. All knowledge of the brain about objects (elements, slices) of the environment is concentrated in cards and the connections between them. Channels allow you to track multiple objects on the same model. In one channel, one object is simulated. Roughly speaking, the surrounding reality for a creature at any given time is completely determined by the state of the cards in all channels. A rich and complex perception is an illusion that forms the rapid switching of channels and the processes that occur in these channels. In addition, we are not talking about conscious perception.

I think the reader already guessed that under the set of cards I assume the cerebral cortex. A separate card is a mini-column of the cortex. But I want to draw attention to the fact that this is only a very crude model. I tried to capture in it only the general principle of organization. In particular, the binary state and the corresponding formulas are an intentional simplification. I see fuzzy logic more realistic, but this article can be neglected.


From the description of the cards you can understand how the objects of the environment in the cerebral cortex are represented. But this does not give an understanding of how it generally works in the process of life. For example, a creature heard a crunch of a branch to its right. What will happen in the cortex?

First you need to introduce the concept of attention. At each moment in time, the creature collects information about only one object. The attention mechanism determines which channel is currently being updated. The remaining channels at the same time continue to work and predict changes in the monitored objects, but the information in them quickly becomes outdated. Interaction with several objects involves constant rapid switching of attention from one channel to another. The attention algorithm, most likely, can have (and most likely has) different implementations. We will not go into details. I’ll just note that the attention mechanism is an external device to the cortex.

The creature’s reaction to the harsh sound on the right may be:

  1. The attention mechanism checks to see if an incoming signal was expected in the current channel.
  2. If expected, the signal is simply passed to the appropriate cards.
  3. If not expected, then other channels are checked. If successful, attention switches to another channel and step 2 is executed.
  4. If a suitable channel is not found, then the mechanism selects one of the channels, clears it, makes it current and starts tracking a new object.

Waiting for a signal can mean two things. Firstly, the channel already has some information about the object. As mentioned above, in the simplest case, these are answers to the questions "What?" and where?". If at the moment an object that is already assigned to the card “to the right” is being tracked, then we can assume that it “expects” a signal coming from the right. Secondly, it can be assumed that not one, but two channels are allocated to each object. One of them contains only actually registered information, while the other contains expected information. It is very simple. Suppose there are two cards “this is a frog” and “it croaks”. Cards depend on each other. If the system, for some reason, except for croaking, has registered a frog, then as a result of installing a chip on the card "this frog", the installation of a chip in the card "this croaks" will be provoked, but only in the waiting channel for this object. When the frog really croaks, the waiting channel will give the attention mechanism all the necessary information. Paired channels are for reference only. Perhaps the real mechanism works within one channel.

From this description it can be concluded that the cortex has a dual role. On the one hand, this is super-random access memory, which allows you to track objects here and now. The state of the channel can be completely changed in one clock cycle. In a digital computer, analogs are registers and possibly a cache. There are also few channels. They are very fast. All "calculations" are performed on them, and they are very expensive. You can add one channel only at the cost of adding a huge number of neurons. On the other hand, it is permanent memory. This is expressed in the presence of the expected signals. Removing anything from read-only memory is not allocated in general mechanics. These are all the same card dependencies on each other. Just the information in the channels is conditionally divided into registered and expected.

Next, you need to figure out what happens to the channel, which is cleared to track a new object. There are two possible options. Or information about the object is completely lost. Or it is dumped somewhere in temporary memory. The existence of temporary memory can be assumed simply because we are able to remember the events that happened, say, an hour ago, despite the constant switching of attention. Another argument in favor of temporary memory is the ability to remember something in permanent memory. The process of forming new connections cannot be instantaneous, and the retention of channels in this process will quickly deprive the creature of the ability to perceive anything. Therefore, the information from the channel must be discarded somewhere and stored until the necessary connections are formed. It seems to me that it should be so, but there is one difficulty. The fact is that the channel capacity is huge. In the brain there is simply no place for "casts" of channels. In addition, the question of addressing arises. In temporary memory, you need to somehow refer to memorized cards. This requires quite sophisticated address coding methods. I have no idea how this can be arranged. But there are some considerations regarding the size of the impression.

The interaction of different types of memory can be schematically represented as follows:

ITKarma picture

It is important to note that there are no processes in temporary memory. Modeling of the object is possible only in the channel. Removing an object from temporary memory is restoring its state in the channel at the time of saving. Interaction with many objects involves a constant exchange of information between channels and temporary memory.

The inability to save all the channel information in temporary memory suggests that only a small part of it is saved. It is not clear just by what principle this part is selected. It can be assumed that at each moment of time only part of the crust is working, and there is a balancer that ensures that resource consumption does not go beyond certain boundaries. Suppose only one thousand cards can work at a time. The balancer, at his discretion, allows one card to work, and prohibits the other.This regulates energy consumption and creates an obstacle to the spread of "obsessive thoughts." The consequence of disconnecting the balancer is likely to be euphoria. The restriction imposed by the balancer should be related to the maximum amount of impression in temporary memory. What exactly will be saved is determined simply by the current activity.

Until now, it has been a question of the cortex as a whole. From the description you might think that absolutely all columns of the cortex are involved in modeling objects on several channels. This is not true. We can assume that this description is only one associative region of the cortex. In other areas, approximately the same thing happens, but not for the purpose of modeling objects. The auditory cortex divides your favorite music into separate instruments using channels. You can switch your attention to drums or to guitar. Closely listening to your interlocutor you also get thanks to the channels. A separate region of the cortex is a separate world with its own channels and specific cards. In the visual cortex in separate channels, the picture can be divided by color, for example. All elements of the same color are collected in one channel and this allows you to instantly separate the letters of this article from the background. This is similar to layers in graphic editors. In the olfactory cortex, the channels allow you to clearly distinguish between several different smells. In other words, the main role of channels in these areas is the grouping of incoming information on some basis. This allows you to focus on a separate "section" of the perceived and not to lose sight of the rest. You will not stop hearing music if you hear the cat meow. The attention mechanism will simply select one channel and will track the meow in it for some time. This will somewhat limit the fullness of music perception, but allow you to survive (cats can be dangerous). This event, by the way, will provoke the allocation of the channel in the associative area. In this case, it will be established between the regions that the sound in the CDMY4CDMY channel in the auditory cortex belongs to an object in the CDMY5CDMY channel in the associative cortex. A similar association will arise, for example, with the visual cortex, in which the image of the cat will be collected in one channel. If the cat finally stops meowing, then the canal in the auditory cortex will be freed and the connection with the associative cortex will break. But you can continue to think about the cat and the danger that comes from him.

Thanks to the channels, it is possible to track relationships between objects and compare them. This works using portals between channels. But this is a topic for a separate article. Also, separate descriptions require mechanisms of vision, orientation in space and the construction of movements. The most exciting, apparently, is the question of consciousness. In short, the universal model of the object in the cortex includes your "I". What you consider yourself is just an object in one of the channels. An object with root access to the system. A separate area of ​​the cortex is a sandbox in which you form your small artificial world, think, imagine, plan, create.


This article discusses hypothetical channels of the cerebral cortex. Their intended purpose and principle of operation are described. In addition, the article put forward assumptions about the mechanisms that interact with the cortex. This is the attention mechanism, temporary memory and balancer.

The existence of channels is a key element of the hypothesis. The processes occurring in the channels are the basis of the information processing mechanism in the brain. The number of channels is small and fixed. At each point in time, the environment is represented in the brain using several objects that are tracked in separate channels. What these objects are, what properties they have and what happens to them is completely determined by the state of the channel. The role of channels in different areas of the cortex is not the same. For example, in the sensor areas in a separate channel there is a certain slice/grouping of incoming signals according to a certain characteristic. In other words, this is a certain image that is snatched from the flow of incoming information and held as a whole. In addition, in some areas of the cortex, canals can be used for some very specific purposes. Nevertheless, it is assumed that the principle of operation is basically the same for the entire bark.

Channels are needed for:

  • Real-time registration and presentation of objects.
  • Accounting and prediction of changes in objects.
  • Accounting for more than one asset at short intervals.
  • Taking into account relations between objects and their comparison.
  • Switching attention from one object to another.
  • Formation of a nugget of information for storage in permanent memory (by means of temporary).
  • Performing pattern recognition procedures and building movements.
  • Parallel accounting and processing of individual slices of incoming information.
  • Building maps of the surrounding space.
  • Storing consciousness.

The idea of ​​multi-channel machines is not new in itself. Von Neumann, for example, suggested using the multiple line method to increase reliability. I recommend reading his book [4] . Von Neumann's view of the problem is similar in spirit to this article. He also considered the brain as a specialized computing machine.

The organization of "thinking" on cards is also not my invention. Similar logic was already in the famous mouse of Claude Shannon, who could find a way out of the maze. A similar principle has long been used in logical agents [1] . The idea of ​​calculations on an array of homogeneous elements is also used in robotics [3] .


1. Russell S., Norvig P. - Artificial Intelligence. Modern approach.
2. Marvin Minsky - Computations and Automata.
3. Kalyaev A.V., Chernukhin Yu.V., Noskov V.N., Kalyaev I.A. - Homogeneous control structures of adaptive robots.
4. John von Neumann - Computing Machine and the Brain.