Thousand Brains Project — ИИ-фреймворк для сенсомоторного интеллекта с открытым кодом. Часть 1: Введение. 1000 мозгов.. 1000 мозгов. jeff hawkins.. 1000 мозгов. jeff hawkins. monty.. 1000 мозгов. jeff hawkins. monty. numenta.. 1000 мозгов. jeff hawkins. monty. numenta. thousand brains.. 1000 мозгов. jeff hawkins. monty. numenta. thousand brains. джефф хокинс.. 1000 мозгов. jeff hawkins. monty. numenta. thousand brains. джефф хокинс. неокортекс.. 1000 мозгов. jeff hawkins. monty. numenta. thousand brains. джефф хокинс. неокортекс. сенсомоторное взаимодействие.. 1000 мозгов. jeff hawkins. monty. numenta. thousand brains. джефф хокинс. неокортекс. сенсомоторное взаимодействие. тысяча мозгов.

Когда-то я уже писал на Хабре про Джеффа Хокинса. Вероятнее всего вы можете знать его по старой и прорывной для своего времени книжке «Об интеллекте» (On Intelligence), компании Numenta или их старой технологии HTM.

С того момента, продолжая изучать неокортекс, Хокинс с командой сделали ряд важных концептуальных публикаций в журналах Frontiers. И в 2021 году Хокинс опубликовал свою новую книгу «A Thousand Brains: A New Theory of Intelligence» (на русском языке она вышла в 2024 году под названием «1000 мозгов. Новая теория интеллекта».

В 2024 году Numenta также получила грант от Gates Foundation и в конце года анонсировали свой новый проект и технологию с открытым кодом — Thousand Brains Project.

В начале 2025 года Thousand Brains Project отделился от Numenta и стал некоммерческой организацией, где по сути сейчас сосредоточены все основные усилия Хокинса и ведется вся научная деятельность и разработка.

Thousand Brains Project (TBP) — в первую очередь исследовательская инициатива, в рамках которой разрабатывается ИИ-платформа, фундаментально отличающаяся от популярного сегодня подхода глубокого обучения.

Идеи Хокинса во многом были вдохновлены работами Вернона Маунткасла, который еще в конце 50-х открыл колончатую структуру неокортекса, а позже в своих работах предположил, что колонки являются базовыми вычислительными модулями, каждый из которых выполняет идентичные операции, независимо от того какая это часть коры и модальность — зрительная, слуховая и т.д. Собственно, в память о нем и была названа кодовая база проекта — Monty.

Главное отличие подхода Thousand Brains от популярных сегодня парадигм глубокого обучения в том, что сенсомоторное обучение является не просто дополнением или опцией, а фундаментальной основой технологии. Сенсомоторные системы исследуют мир через взаимодействие с ним. Не имеет значения, реальный это мир или виртуальный.

К примеру, когда вы перемещаетесь в комнате, двигаете руками, глазами, прикасаетесь к предметам, входные сигналы в вашем мозге меняются в зависимости от того что вы делаете. В подходе TBP обучение происходит именно через такое взаимодействие. Это сенсомоторное понимание среды и есть базовое знание, из которого всё остальное является уже производной. И это то что фундаментально отличает подход от моделей, у которых сенсомоторное взаимодействие является лишь функцией, надстроенной, к примеру, над языковой моделью.

Сенсорный и моторный процесс не разделены в разные блоки архитектуры или не ограничены одним глобальным действием на выходе. Напротив, обработка сенсорных данных и генерация моторного ответа неразделимы и присутствуют на каждом уровне системы.

Второе отличие подхода в том, что сенсомоторные системы TBP строят свои модели, используя так называемые референс-фреймы — особую координатную систему, в которой представлены все положения объектов (о ней будет сказано более подробно дальше). Внутренние модели строятся на основе этих референс-фреймов, с учетом того, где находятся сенсоры по отношению к объектам в мире. Модели создаются присвоением результата наблюдения конкретному местоположению в референс-фрейме. Это имеет некоторое сходство с тем, как устроены CAD-модели.

Также как и принцип сенсомоторного обучения, понятие референс-фреймов проходит через все уровни обработки информации, начиная с самых простых представлений физических объектов и заканчивая абстрактными концепциями.

Два этих отличия разделяют принципиально то как обучаются люди и сегодняшний ИИ. Нам не требуется сначала длительное обучение перед тем как что-то сделать. Мы учимся в процессе, взаимодействуя с миром, быстро тестируя гипотезы и дополняя знания, которых не хватает. Кроме того, это происходит одновременно в разных модальностях (к примеру, зрение и осязание). И это не просто изолированные блоки архитектуры, передающие друг другу данные (как это происходит в системах ИИ сегодня), а изначально интегрированные на каждом уровне процессы.

Одна из главных вещей, которые нам, судя по всему, предстоит понять о мозге и том, что мы называем «интеллектом», от зрения и слуха до концептуального мышления и языка, происходит благодаря единому кортикальному алгоритму, как предполагал Маунткасл. Все аспекты интеллекта создаются одним и тем же сенсомоторным механизмом, который в неокортексе функционирует в каждой из тысяч кортикальных колонок. Причем каждая колонка до некоторой степени является независимой единицей, строя свои собственные модели объектов. Иными словами, как писал Хокинс в книге, в голове нет никакой единой модели чашки, есть тысячи разных моделей одновременно. Отсюда во многом и проистекает название «тысячи мозгов».

И главной целью проект Thousand Brains ставит перед собой создание таких элементарных модулей, которые можно будет выстраивать в нужную архитектуру и получать целый спектр интеллектуальных систем.

Обзор архитектуры

Любая система TBP состоит из трех основных компонентов — сенсорных модулей (Sensor modules, SM), обучающихся модулей (Learning modules, LM) и моторной системы. Все элементы связаны между собой с помощью общего протокола — Cortical Messaging Protocol (CMP).

Так может выглядеть простейшая система TBP из одного сенсорного и одного обучающегося модуля:

Сенсорный модуль принимает и обрабатывает сырые сенсорные данные. Далее через протокол CMP он связан с обучающимися модулем, который использует поступающую информацию для изучения и распознавания объектов, находящихся во внешнем мире. Сетка внутри обучающегося модуля образно иллюстрирует систему координат референс-фрейма и то что все поступающие данные привязываются к ней

Сенсорный модуль принимает и обрабатывает сырые сенсорные данные. Далее через протокол CMP он связан с обучающимися модулем, который использует поступающую информацию для изучения и распознавания объектов, находящихся во внешнем мире. Сетка внутри обучающегося модуля образно иллюстрирует систему координат референс-фрейма и то что все поступающие данные привязываются к ней

Даже здесь можно обратить внимание, что помимо потока сенсорных данных (отображенного синими стрелками), между модулями происходит двусторонний обмен моторными данными (розовые стрелки). Выше уже упоминался пример про исследование комнаты. Если вы прикасаетесь пальцем к предмету, то есть получаете какие-то сенсорные данные, то соотносите их с конкретным местом, к которому вы направляли палец. Иными словами, сенсорные данные не имеют смысла, если вы не знаете что вы делаете и где находитесь.

Поэтому даже в отсутствии обратной связи от самой моторной системы, информация о движении косвенно может вычисляться из данных сенсоров (к примеру, методом оптического потока). А копии сгенерированных моторных команд, помимо того что управляют самой моторной системой (не изображенной здесь), нужны сенсорной системе, чтобы опять же, понимать потенциальное изменение своего положения. Но об этом более подробно будет сказано еще в описании самих модулей, а пока вернемся к тому что их связывает.

Протокол взаимодействия

Cortical Messaging Protocol (CMP) — это стандарт сообщений, который связывает все модули между собой. Но чтобы приступить к описанию самого протокола, сначала необходимо определить, что такое «объект» (object) или «признак» (feature) в Monty. Объект — это дискретная сущность (которая в том числе может состоять из других объектов) со своим «положением» в пространстве (pose). Чуть далее будет показано, что положение состоит из координат и ориентации.

К примеру, яблоко в конкретном месте пространства и ориентацией в нем — это объект. Но объектом также может быть вся сцена или набор абстрактных концепций. На самом нижнем уровне этой иерархии объект состоит из «порции» входных данных сенсорного модуля, которая также дискретна и имеет свои координаты и ориентацию в пространстве. Эта «порция» данных по сути такой же объект, но его отличие в том, что он является уже элементарной единицей и не может быть декомпозирован на еще более простые элементы.

Эта «порция» входных данных называется признаком (feature). Именно такие признаки получает обучающийся модуль на входе. А на выходе генерирует ID объекта. Однако ID объекта одного обучающегося модуля может стать признаком на входе другого обучающегося модуля. Поэтому граница между этими терминами в ряде случаев весьма условна.

CMP-сообщение на выходе сенсорного модуля содержит признак (feature) в конкретном положении (pose). Положение, в свою очередь, содержит координаты в 3-мерном пространстве (в реальном мозге обычно в 1-мерном или 2-мерном), где считанный признак находится относительно тела (или другой отсчетной точки референс-фрейма). В дополнение к координатам, положение содержит информацию о 3-мерной ориентации элемента. Сообщение также может (но не обязано должно) содержать дополнительную информацию о признаке, такую как цвет, кривизну или ID объекта.

Это может быть непривычным, т.к. обычно ИИ-системы используют скорее «списки свойств», чем какое-либо пространственное представление объектов. В подходе TBP положение наоборот играет более важную роль, чем даже сам признак. И судя по всему, такой подход больше похож на человеческое восприятие, т.к. вы легко сможете узнать лицо на популярной картине из овощей и фруктов, хотя в нем нет никаких элементов реального лица. Но вряд ли классифицируете как лицо набор спонтанно расположенных губ, глаз и носов.

Помимо прочего, стандартизированное сообщение CMP содержит ID отправителя (сенсорного модуля, к примеру) и рейтинг уверенности (confidence rating).

Каждый обучающийся модуль строит свою внутреннюю модель, но сообщения CMP никогда не содержат эти модели. Модули обмениваются только более абстрактной информацией (к примеру, ID объекта).

Входные и выходные данные системы в целом (сырые данные от сенсоров и команды от моторных модулей) могут иметь любой другой формат. Они будут специфичны уже для конкретного агента и его сенсоров и актуаторов.

Сенсорные модули

Потенциально системы TBP могут работать с любыми сенсорами — визуальными, тактильными, радарами, лидарами и т.д., объединяя информацию от разных модальностей. Для этого сенсорные модули должны уметь приводить специфичную информацию от конкретного вида сенсоров в более универсальный формат, которую можно будет передать дальше через CMP в обучающиеся модули. И это преобразование должно происходить в каждом типе сенсорных модулей.

Каждый сенсорный модуль должен принимать на входе только небольшой массив («пучок») сенсорных данных, как это происходит, к примеру, в случае сетчатки или поверхности кожи, где данные с каждого небольшого подмножества рецепторов отправляются в соответствующую небольшую область неокортекса. В простейшем случае система может состоять всего из одного сенсорного и одного обучающегося модуля. Как такие небольшие «пучки» информации интегрируются во времени и пространстве, будет рассмотрено ниже в разделе про обучающийся модуль.

То что по сути делает сенсорный модуль — это превращает сырую информацию от сенсоров в сообщение CMP. Это похоже на то как свет, достигший ретины, превращается в универсальные спайки в нейронах, которые дальше будут уже обрабатываться сетью, независимо от того, какой тип физического сигнала был на входе.

Как мы помним, сообщение CMP, помимо самого полученного признака, должно содержать положение этого элемента, относительно тела (или другой точки отсчета). Это положение высчитывается из положения признака относительно самого сенсора и положения самого сенсора относительно тела. Как уже было отмечено выше, информация о положении является самой первостепенной и критичной для моделей TBP.

Поэтому крайне важным и необходимым для архитектуры является то, что сенсорные модули должны понимать положение признака относительно сенсоров, а также понимали свое положение в пространстве относительно тела. Это может быть реализовано в конечных системах по-разному. К примеру, вычисляться косвенно из самих сенсорных данных или из эфферентных копий моторных команд.

Обучающиеся модули

Главный блок для всей сенсомоторной обработки — это как раз обучающийся модуль. Их может быть сколько угодно в архитектуре, но каждый из них имеет один и тот же интерфейс на входе и выходе. Кроме того, обучающиеся модули устроены таким образом, что каждый из них может потенциально изучать и распознавать объекты автономно. Добавление обучающихся модулей позволяет ускорять распознавание.

Ближайшие аналогией будет сравнить процесс распознавания объекта одним или сразу несколькими пальцами. К примеру, вы опустили руку в закрытый ширмой ящик, в котором находится фарфоровая чашка. Если у вас в распоряжении только один палец, то, скорее всего, вам придется сделать несколько движений и последовательно «ощупать» кончиком пальца геометрию в разных частях чашки. Но если то же самое вы попробует сделать сразу пятью пальцами, то, скорее всего, вам будет достаточно одновременного касания всеми пальцами, чтобы понять что «перед вами» чашка. Т.к. каждый палец считает какой-то свой элемент чашки, и понимая относительное положение пальцев в пространстве, в вы сразу рисуете в голове образ чашки, т.к. подобное взаимное расположение элементов будет свойственно именно ей, и отличаться, скажем, от лампочки.

Таким образом, каждый обучающийся модуль может хранить в себе только отдельные объекты, но совместно изучать сложные составные объекты.

Обучающийся модуль получает на входе признак (feature) и его положение (pose). Если модуль получает данные от другого обучающегося модуля, то в качестве элемента может быть ID элемента или ID объекта. В разных системах это могут быть либо дискретные числовые ID (к примеру, код цвета) или многоразмерные величины (к примеру, вектор бинарных значений).

Кроме этого, модуль получает положение признака или объекта. Обычно оно выражается в виде координат (относительно тела) и ориентацией (углами поворотов). Но в конечных реализациях могут применяться и другие системы определения местоположений.

На схематическом изображении обучающегося модуля можно видеть, как получаемые признаки постепенно выстраиваются в модель объекта, которая состоит из пространственного представления этих признаков. Каждый признак соотносится с конкретным положением в пространстве (схематическая сетка референс-фрейма в нижней части).

На схематическом изображении обучающегося модуля можно видеть, как получаемые признаки постепенно выстраиваются в модель объекта, которая состоит из пространственного представления этих признаков. Каждый признак соотносится с конкретным положением в пространстве (схематическая сетка референс-фрейма в нижней части).

Не смотря на то что модель состоит из признаков, полученных в разных точках пространства, все модели имеют некоторые пространственные «аппроксимации» (inductive bias). Но потенциально система может также изучать и точную структуру пространства, особенно когда речь идет о каком-то дискретном пространстве вроде музыкальных нот.

Обучающиеся модули построены на двух основных принципах TBP, о которых шла речь выше — сенсомоторном обучении и референс-фреймах. Как уже упоминалось выше, данные идеи были вдохновлены исследованиями колонок неокортекса.

На изображении показана аналогия между обучающимся модулем (аналогом кортикальной колонки) и реальными колонками в неокортексе (по теории Thousand Brains). Слева показан уже разобранный выше обучающийся модуль, а справа схематично три колонки неокортекса с несколькими слоями нейронов, ключевыми связями между ними, а также сенсорными входами и двусторонними моторными связями с другими регионами мозга

На изображении показана аналогия между обучающимся модулем (аналогом кортикальной колонки) и реальными колонками в неокортексе (по теории Thousand Brains). Слева показан уже разобранный выше обучающийся модуль, а справа схематично три колонки неокортекса с несколькими слоями нейронов, ключевыми связями между ними, а также сенсорными входами и двусторонними моторными связями с другими регионами мозга

Помимо изучения новых моделей, обучающийся модуль также пробует соотносить обозреваемые признаки и их положения с уже изученными ранее и находящимися в памяти объектами.

Чтобы обучающийся модуль сгенерировал данные на выходе, нам нужно понимать положение воспринимаемого объекта относительно тела. Мы можем вычислить его из положения обозреваемого признака и положений, хранящихся в модели объекта. Это положение объекта может быть передано выше по иерархии другому обучающемуся модулю в таком же формате как от сенсорного модуля — признак и его положение, где признаком будет предполагаемый ID объекта.

Когда обучающийся модуль определил ID объекта и его положение, он может использовать последующие получаемые данные для обновления модели. Таким образом, процесс обучения и распознавания неразрывно связаны.

Моторные команды и политики действий

Как уже было сказано в начале статьи, TBP-системы понимают мир через движение. Пространственная природа референс-фреймов напрямую связана с интеграцией информации о движении. Поэтому обучающиеся модули должны понимать, где находятся признаки в каждый момент времени. Информация о движении (изменение положения) может браться как копия моторных команд или вычисляться из сенсорных данных.

В организме человека есть целый ряд проприорецепторов, которые позволяют понимать положение суставов, сокращение мышц. Есть вестибулярная система, позволяющая понимать положение в пространстве и ускорения. Информация о движении вычисляется также из слуха и зрения. К примеру, попробуйте сделать с закрытыми глазами даже несколько шагов в комнате, которую вы идеально знаете.

Но главное — для обновления информации о положении мозг постоянно повторно обрабатывает свои же моторные команды (эфферентные копии), т.к. любой сенсорный вход напрямую зависит от того, что мы делаем или, лучше сказать, намеревались сделать. Делая шаг вперед или поворачивая голову, вы полностью изменяете сенсорный вход даже в полностью статичном окружении.

Сенсорные модули используют информацию о движении для обновления своего положения относительно тела. А обучающиеся модули также используют эти данные для расчета предполагаемого положения поступающих признаков.

Разумеется, движения системы не должны быть хаотичными. Помимо того что движения должны способствовать изучению мира, они также должны воздействовать на него. К примеру, для перемещения объектов или другого взаимодействия с ними. Для этого в системах TBP используются политики действий, на основе которых формируются конечные моторные команды.

Существует два типа политик, которые можно использовать:

Model-based (основанные на модели) политики используют при вычислениях модели, хранящиеся в обучающихся модулях, и поэтому более ресурсоемкие. Они позволяют совершать точные действия с учетом понимания геометрии объектов. Формирование этих политик напрямую связано с обучающимися модулями, каждый из которых формирует моторные выходы по аналогии с тем, как это происходит в неокортексе.

Моторный выход представляет собой целевое состояние в формате CMP. К примеру, если на основе полученных данных у нас есть две гипотезы о том, чем может являться объект, то целевым состоянием будет перемещение в такое положение, которое позволило бы решить этот конфликт. Условно, если у вас есть чашка с ручкой и стакан одинаковых размеров, то нащупывая пальцами общие границы и кривизну объекта, вам потребуется передвинуть палец в то место, где должна располагаться ручка, чтобы однозначно понять, какой из предметов вы изучаете.

Политики также могут быть нацелены на то чтобы детальнее изучить уже известный объект. Тогда целевые действия будут оптимизированы таким образом, чтобы дополнить информацию о тех положениях, которых нет в модели.

Политики также могут зависеть от того, какую задачу вы сейчас решаете в первую очередь — пытаетесь распознать объект или изучаете детальнее уже известный. Или вашей задачей является изменение состояния мира. К примеру, нажатие на кнопку. Или перемещение объекта на столе.

Когда система состоит из иерархии обучающихся модулей, целевые действия также могут иметь иерархическую структуру. В этом случае вышестоящие обучающиеся модули могут формировать более абстрактное целевое состояние, а нижестоящие модули уже декомпозировать его в более конкретные целевые состояния.

Важно понимать, что даже в случае иерархической компоновки, нет никакого разделения обучающихся модулей на те, что изучают и генерируют целевые состояния. Каждый модуль на любом уровне одновременно формирует как модели, так и целевые состояния.

Model-free (модель-независимые) политики полезны для чисто сенсорных действий, таких как равномерное движение сенсора вдоль траектории или перемещение в заданное положение.

Кроме того, модель-независимые политики могут обучаться быстрому выполнению часто повторяющихся задач, освобождая вычислительные ресурсы, необходимые для модель-ориентированных политик.

Целевые состояния, сгенерированные обучающимися модулями, должны быть преобразованы в моторные команды для актуаторов — этот процесс также задействует модель-независимые политики (врождённые или выученные) в моторной системе.

В реальном мозге подобные действия можно было бы сравнить с автоматическими, подсознательными действиями, которые мы совершаем. Большинство таких процессов происходит в подкорковых структурах. В системах TBP это эквивалентно моторной системе.

При этом моторная система ничего не знает о моделях, которые изучают обучающиеся модули, но должны получать целевые состояния от них в формате CMP. А вот выход моторной системы будет зависеть уже от конкретных актуаторов, которые используются в решении. И в этом смысле, моторная система решает зеркально обратную сенсорным модулям задачу, переводя CMP-совместимые целевые состояния в конкретные команды актуаторов.

Архитектуры обучающихся модулей

Любая система TBP (Monty) может состоять из произвольного количества обучающихся модулей. Существует два принципиальных способа соединения и коммуникации модулей между собой — иерархический (вертикальный) для изучения составных объектов и горизонтальный для голосования по гипотезам.

Simplest — простейшая система TBP из одного сенсорного и одного обучающегося модуля. Multi-modal — пример горизонтального соединения двух модальностей (лидара и визуальной, в данном случае). Wider — также пример горизонтального соединения двух модальностей (тактильной и визуальной), но когда каждая из модальностей обрабатывает по несколько сенсорных полей. Deeper — пример иерархического (вертикального) соединения модулей

Simplest — простейшая система TBP из одного сенсорного и одного обучающегося модуля. Multi-modal — пример горизонтального соединения двух модальностей (лидара и визуальной, в данном случае). Wider — также пример горизонтального соединения двух модальностей (тактильной и визуальной), но когда каждая из модальностей обрабатывает по несколько сенсорных полей. Deeper — пример иерархического (вертикального) соединения модулей

Иерархический (вертикальный) способ соединения используется для обработки более крупных подмножеств («пучков») сенсорных данных и для моделирования сложных составных объектов и высокоуровневых концепций.

Вышестоящий модуль получает признак и его положение от нижестоящего обучающегося или сенсорного модуля.

Нижестоящие модули никогда не видят целого объекта, но видят его части через последовательные движения. Вышестоящие модули могут использовать распознанный ID объекта как признак в своей модели. Такой подход позволяет более эффективно работать с большими составными объектами или сценами, т.к. отпадает необходимость хранить все детали в модели одного модуля.

Горизонтальный (для голосования) способ соединения позволяет модулям обмениваться гипотезами текущего ID объекта и положения. Такой процесс в системах TBP называется голосованием (voting). В теории Thousand Brains этот процесс эквивалентен «голосованию» колонок неокортекса за счет латеральных (горизонтальных) связей.

На изображении схематично показаны три колонки неокортекса, объединенные латеральными (горизонтальными) связями, через которые по теории Thousand Brains происходит процесс «голосования» для однозначного определения объекта. То есть каждая колонка обрабатывая свою «часть мира» и строя свою модель объекта, обменивается с другими колонками гипотезами о том, что они сейчас наблюдают

На изображении схематично показаны три колонки неокортекса, объединенные латеральными (горизонтальными) связями, через которые по теории Thousand Brains происходит процесс «голосования» для однозначного определения объекта. То есть каждая колонка обрабатывая свою «часть мира» и строя свою модель объекта, обменивается с другими колонками гипотезами о том, что они сейчас наблюдают

В случае горизонтальной связи модули передают друг другу все возможные объекты и их положения в виде нескольких сообщений CMP. И далее стараются прийти к консенсусу того, какой в итоге объект они сейчас «видят». Такая архитектура позволяет производить распознавание объектов намного быстрее.

Здесь опять же можно привести аналогию с пальцами в темноте. Ощупывая последовательно объект одним пальцем, вам потребуется больше времени и движений, нежели вы будете делать это сразу несколькими.

Чуть раньше в статье было сказано, что все CMP-сообщения представлены в едином референс-фрейме, чтобы понимать положение сенсоров относительно друг друга Это одно из ключевых требований для голосования, т.к. в этом же примере выше, один палец может нащупать верхний край чашки, а другой изгиб ручки. У обоих пальцев информация об элементах, принадлежащих чашке. Но крайне важно понимать, где именно находится каждый из этих признаков относительно друг друга. Поэтому процесс голосования — это не просто «список свойств», а в первую очередь информация о том как они организованы в пространстве.

Важно также отметить, что сообщения CMP для голосования не содержат самих входных данных о признаке, которые получил обучающийся модуль. Если обучающийся модуль получил информацию о кривизне поверхности, то она может участвовать в моделировании объекта чашки или степлера. Но в процессе голосования модуль обменяется для голосования именно гипотезой чашки и степлера, а не самой информацией о кривизне поверхности.

И последнее, что важно отметить, это то что CMP не зависит от модальности. То есть обучающиеся модули с разными модальностями (к примеру, зрение и осязание) будут точно так же на равных участвовать в процессе голосования.

Пример архитектуры

Ниже представлен пример архитектуры, состоящей из двух типов сенсоров — визуальных и тактильных. Визуальная система имеет два сенсорных модуля, то есть обозревает одновременно два небольших «пучка» пространства (примерно как два рецепторных поля сетчатки). И один тактильный сенсорный модуль (эквивалент пальца, кончиком которого мы ощупываем объекты). И визуальные и тактильный сенсор могут двигаться в пространстве каждый с помощью своей моторной системы (как если бы мы передвигали в пространстве две микрокамеры соединенные физически вместе и отдельно тактильный датчик).

Синие линии показывают восходящий поток информации. Фиолетовые показывают нисходящие (top-down) соединения с нижестоящими обучающимися модулями. Зеленые линии показывают горизонтальные соединения модулей для голосования. Розовые обозначают команды целевых состояний. Голубые (светло-синие) линии иллюстрируют пример, когда большие сенсорные поля транслируются напрямую в вышестоящие обучающиеся модули. Все непрерывные линии являются сообщениями CMP. Разрывы в этих линиях обозначены точками на концах. Пунктирные линии — это физический интерфейс системы, не подчиняющийся CMP.

Синие линии показывают восходящий поток информации. Фиолетовые показывают нисходящие (top-down) соединения с нижестоящими обучающимися модулями. Зеленые линии показывают горизонтальные соединения модулей для голосования. Розовые обозначают команды целевых состояний. Голубые (светло-синие) линии иллюстрируют пример, когда большие сенсорные поля транслируются напрямую в вышестоящие обучающиеся модули. Все непрерывные линии являются сообщениями CMP. Разрывы в этих линиях обозначены точками на концах. Пунктирные линии — это физический интерфейс системы, не подчиняющийся CMP.

В следующей статье я более подробно расскажу про тестовую среду и самого агента, архитектуру Monty, процесс обучения и ряд других деталей. Будет много наглядных изображений и технических подробностей. Все обновления будут в моем телеграм-канале «Вечное сияние чистого разума».

Тема сама по себе новая, большая, связанная с объемной теорией. И что самое важное, фундаментально отличающаяся от привычных подходов глубокого обучения. Поэтому некоторые концепции могут потребовать времени для понимания. В дальнейшем я постараюсь посвятить время объяснению не только самого фреймворка и принципов его работы, но и нейробиологической теории, стоящей за ним.

* Cтатья написана но основе частичного перевода препринта «The Thousand Brains Project: A New Paradigm for Sensorimotor Intelligence» и документации проекта

Автор: pavel_smolnikov

Источник

Рейтинг@Mail.ru
Rambler's Top100