Ранее мы описали клеточный автомат, в котором могут возникать волны, имеющие хитрый внутренний узор. Мы показали, что такие волны способны распространять информацию по поверхности автомата. Оказалось, что любое место автомата может быть, как приемником, так и источником волн. Чтобы принять волну в каком-либо месте, достаточно посмотреть, какой узор получается в нем в момент прохождения волны. Если этот узор запомнить и впоследствии воспроизвести в том же месте, то от этого узора распространится волна, повторяющая на своем пути узор исходной волны.

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

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

Интерференция узоров в клеточном автомате


Наличие у элементов автомата собственной памяти позволяет использовать сам клеточный автомат, как универсальное запоминающее устройство, реализующее ассоциативный массив. Ассоциативный массив – это хранилище пар вида «ключ-значение». Чтобы иметь возможность манипулировать с сохраненными данными ассоциативный массив должен поддерживать операции: добавления пары, поиска пары (по ключу или по данным) и удаления пары. Покажем, как это можно реализовать в нашем клеточном автомате.

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


Пространственный клеточный автомат и выделенный цилиндрический фрагмент

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


След от информационной волны, несущей значение, которое необходимо запомнить

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

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


Следы от двух волн. Желтые – элементы, кодирующие значение. Черные – элементы, кодирующие ключ

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

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

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

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

Каждый элементарный объем может хранить множество воспоминаний. Размеры его памяти пропорционален тому, сколько узоров может хранить отдельный элемент автомата. Если один запоминаемый узор составляет, например, два процента активности всех элементов, то общее количество возможных воспоминаний для элементарного объема будет приблизительно в 20-30 раз больше, чем память одного элемента.

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


Создание голограммы

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


Воспроизведение голограммы

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

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

Описание состояния автомата через битовый массив


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

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

Описанная структура соответствует фильтру Блума. Предположим, что у нас есть множество C, состоящее из понятий, которыми мы оперируем. Каждому элементу ci множества C сопоставим бинарный код bi разрядности m, содержащий k единиц. Выберем позиции единиц случайным образом. Составим множество I из нескольких понятий множества C.

Фильтр Блума содержит битовый массив B из m бит. В начальном состоянии он обнулен. Добавление элемента к фильтру Блума – это обращение в единицу тех элементов фильтра, которые соответствуют единицам бинарного кода добавляемого элемента. Отображение множества I на фильтр Блума эквивалентно логическому сложению бинарных кодов элементов, составляющих I, и перенос получившегося кода на бинарный массив фильтра.

Фильтр Блума позволяет проверить принадлежность любого элемента множества C, множеству I. Для проверки надо взять бинарный код элемента и убедиться, что всем единицам кода соответствуют единицы в фильтре Блума. Если хотя бы одна из позиций фильтра не соответствует, то элемент гарантированно не принадлежит множеству I. Если проверка пройдена, то с высокой вероятностью, которая зависит от параметров фильтра, элемент содержится в I. Пример проверки приведен на рисунке ниже.


Фильтр Блума. Элемент w не принадлежит заданному множеству {x, y, z}

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

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

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

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

Создание хеша сложных описаний в клеточном автомате


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

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

Чтобы привести наш клеточный автомат к условиям задачи хеширования введем для элементарного объема новый битовый хеш-массив относительно небольшой длины.

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

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

Можно разбить элементы исходного битового массива на группы и вычислить какую-либо однобитную логическую функцию от элементов группы (рисунок ниже). После чего сформировать хеш-код из полученных бит.


Пример вычисления одного бита хеша для группы элементов

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

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

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

На рисунке ниже показан результат сложения нескольких волновых узоров и результат их хеш-преобразования. Зеленые элементы образуют паттерн хеш-кода. Эти элементы существуют отдельно от исходных основных элементов, но находятся с ними в том же пространстве. То есть доступны им для наблюдения.


Сложение нескольких паттернов


Результат хеш-преобразования

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

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

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

Подведем краткий итог:

  • Две информационных волны могут “интерферировать” между собой. Одна волна отмечает элементы, которые должны что-то запомнить, а другая волна рисует узор того, что именно они должны запомнить;
  • Слишком плотный узор при запоминании можно заменить его хешем;
  • Запоминать можно локально в небольшой области автомата. Тогда можно хранить в каждом месте что-то свое;
  • Запоминать можно глобально. Тогда в каждом месте автомата будет храниться своя копия одной и той же информации.

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

Алексей Редозубов

Логика сознания. Вступление
Логика сознания. Часть 1. Волны в клеточном автомате
Логика сознания. Часть 2. Дендритные волны
Логика сознания. Часть 3. Голографическая память в клеточном автомате
Логика сознания. Часть 4. Секрет памяти мозга
Логика сознания. Часть 5. Смысловой подход к анализу информации
Поделиться с друзьями
-->

Комментарии (72)


  1. zigzag8312
    01.09.2016 22:48

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


  1. AlekseiMorozov19730316Ru
    01.09.2016 23:07

    >… Автомат… обладает памятью… памятью обладают все его элементы…

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


    1. AlexeyR
      01.09.2016 23:09

      Я описываю клеточный автомат. Так как он работает, то ошибки тут нет. Относительно того, как это происходит в реальной коре будет в следующей части.


      1. AlekseiMorozov19730316Ru
        02.09.2016 09:16
        -1

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


        1. shabanovd
          02.09.2016 10:46

          Фрагментированый файл на диске конечно не голография, но десятки или сотки фрагментированый файл с одинаковым контекстом уже голография.

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


          1. kennivich
            02.09.2016 12:06

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


        1. AlexeyR
          02.09.2016 10:56
          +1

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


          1. AlekseiMorozov19730316Ru
            02.09.2016 11:12

            >...«об ошибке относительно компьютерных программ»…

            «Программа» тут не причём. Вы просто уже писали, что "… почти для всего, что есть в коре придумать гипотетическое обоснование почему именно это может быть аналогом элементов клеточного автомата. Сейчас я склоняюсь к тому, что наиболее подходящий кандидат – это тонкие веточки дендритных деревьев."


            1. AlexeyR
              02.09.2016 11:28
              +1

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


              1. AlekseiMorozov19730316Ru
                02.09.2016 11:39
                -2

                В любом случае, идея с «автоматом» — лишь вывернутая наизнанку ИНС… Жаль, что Вы потратили на неё столько времени…


                1. AlekseiMorozov19730316Ru
                  02.09.2016 15:53

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


                  1. Halt
                    02.09.2016 16:07
                    +1

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


                    1. AlekseiMorozov19730316Ru
                      02.09.2016 16:10

                      :) иногда «обсуждение» помогает «формулированию»…


                  1. AlexeyR
                    02.09.2016 16:12

                    Вы, видимо, считаете, что описываемый клеточный автомат, должен в том виде «как есть» выполнять вычисления, аналогичные нейронным сетям (или считаете, что это идея этого цикла). Архитектура о которой дальше пойдет речь — это нечто совсем иное. Подождите с поспешными вводами, дождитесь момента, когда картина станет видна целиком.


                    1. AlekseiMorozov19730316Ru
                      02.09.2016 16:21

                      :) Вы, под «нейронными сетями» ИНС имеете в виду, или БНС? Если ИНС, то ответ — да — «автомат» должен быть хотя бы на их уровне.


                      1. AlekseiMorozov19730316Ru
                        03.09.2016 07:48

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


          1. AlekseiMorozov19730316Ru
            02.09.2016 11:22

            >… Если программа работает, то и слава богу…

            :) ладно… думаю, действительно… если программа есть, то надо на неё взглянуть… непременно…


          1. AlekseiMorozov19730316Ru
            02.09.2016 16:30

            >… осторожнее использовать слово ошибка…

            :) Вы слишком болезненно реагируете на критику в свой адрес. «Критиков» надо лелеять…


          1. Xom
            07.09.2016 21:07
            -2

            А где программа? Вы так часто на нее ссылаетесь, что уже ора представить. Иначе это голословное «доказательство». ТО есть вообще не доказательство.

            По поводу голограмм и волн можно только сказать словами из известного произведения «Все смешалось в голове Обломова». Голограммы из Прибрама, клеточный автомат еще откуда-то, волны… И ничего нового, ничего имеющего отношения к работе мозга. Имею возможность судить.


            1. AlexeyR
              07.09.2016 21:38

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


              1. Xom
                07.09.2016 21:52

                Где в тексте? Я вижу только ссылки на википедию, а не программу.

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


                1. shabanovd
                  07.09.2016 23:41

                  1. Xom
                    08.09.2016 22:11

                    «Программа, моделирующая гиперколонку неокортекса. Воспроизведение обучения, событийной памяти и функции гиппокампа». Чего она воспроизводит и в каком месте? Я могу тоже написать программу и сказать, что она воспроизводит мышление — калькулятор. Я открыл секрет работы мозга?


                1. AlekseiMorozov19730316Ru
                  08.09.2016 08:26

                  >… до конкретики, которую можно проверить
                  >… или хотя бы фальсифицировать

                  Не совсем верно. Так или иначе, но гипотеза базируется на фактах. Другое дело, что количество выдвигаемых предположений довольно велико. Соответственно, чем больше нововведений, тем меньше вероятность успеха. Просто потому, что такие гипотезы рассыпаются как карточный домик лишь из-за нескольких «мелких» ошибок.

                  Гипотезу автора можно фальсифицировать от «противного», то есть подтвердив или опровергнув широковещательное распространение паттернов нейронов мозга. Проверить широковещательное распространение паттернов нейронов мозга на простейших опытах было бы куда проще, чем предсказать истинность гипотезы на основе существующих представлений. Для проверки необходимо разделить нейронную сеть на части. Поместить части в проводящую среду. Если спайк в одной части вызывает спайки в других — гипотеза верна. Если спайков нет, то на нет — и суда нет.


                  1. Xom
                    08.09.2016 22:05
                    -1

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

                    Проверить же на практике или хотя бы смоделировать высказанное невозможно, потому что это догадки, причем основанные на совсем разных теориях, свести которые в одну логическую программу невозможно — это будет некая интерпретация, но не подтверждение гипотезы. Подтвердить можно только прямым опытом — на мозге или модели, которая выдает ровно тот же результат, что и мозг. Приложенные программы никакого отношения к работе мозга не имеют, то есть они что то демонстрируют, но ничего не могут доказывать, как хочется автору. Голограмма и волновое распространение если даже и есть, не значит, что оно есть в таком виде в мозге и что оно и есть механизм мозга, при помощи которого он работает (мыслит, запоминает, распознает). Автор не ссылается на исследования О МОЗГЕ. Он ссылается на теории, к нему не имеющие отношение.

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


                    1. AlekseiMorozov19730316Ru
                      08.09.2016 22:37
                      -1

                      >… Вы не совсем верно понимаете фальсифицируемость…

                      :) Да. Точно. Надо было написать не «Гипотезу автора можно фальсифицировать от «противного»», а «Гипотезу автора можно опровергнуть от «противного»». То есть смысл противоположный.

                      >… Похоже на какое-то месиво, причем нескончаемое…

                      :) люди в основном читают, чтобы «прикоснуться» к «модному» и «современному»… типа: «автор, пиши ещё!»… а что автору остаётся?.. вот он и пишет… пишет и пишет…


      1. anprs
        02.09.2016 10:56

        В какой части уже будут описаны хаки и твики реального мозга? Наращивание памяти там, увеличение быстродействия…
        :)


        1. Xom
          07.09.2016 21:58
          -1

          Думаю, в той части, которая так и останется ненаписанной :)


          1. AlekseiMorozov19730316Ru
            08.09.2016 08:32

            Вы недооцениваете силу воображения автора. Могут быть написаны такие «части», что сам чёрт ногу сломит…


  1. Shortki
    02.09.2016 03:48

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


    1. AlexeyR
      02.09.2016 03:49

      Мыслите в правильном направлении, но все еще интереснее.


      1. Shortki
        02.09.2016 03:54

        Искренне надеюсь на это и жду следующую публикацию.


      1. kennivich
        02.09.2016 10:57

        Правильно ли я понимаю, в вашей модели такая оптимизация происходит за счет хеббовского обучения синапсов нейронов, которые участвуют в распространении часто встречающихся паттернов?


        1. AlexeyR
          02.09.2016 10:57

          Нет, механизм совсем другой.


  1. buriy
    02.09.2016 09:14

    Алексей,
    объясните, пожалуйста, непонятный из этой статьи момент:
    почему разные сигналы, проходящие через этот нейронный клеточный автомат, не «склеиваются» вместе?
    Вы говорите: вот ключ пришел с одной стороны, значение с другой стороны — почему они не склеются в единый сигнал теперь?
    Если же они склеются в единый сигнал — то как они «расклеются»? Если никак, то, значит, станет невозможно запоминание ключа и нескольких разных значений — а значит это просто оператор вида «a:=b», для ассоциативной памяти такого недостаточно!


    1. AlekseiMorozov19730316Ru
      02.09.2016 09:34

      >разные сигналы… через нейронный клеточный автомат… не «склеиваются» вместе…

      Элемент автомата в этой модели («a segment of a dendrite») запоминает не один «сигнал», а некоторое их множество. То есть по сути он наделён некоторыми «чудесными» свойствами.


      1. AlekseiMorozov19730316Ru
        02.09.2016 09:46

        То есть сегмент дендрита это некий небольшой «мозжечок», который… «если» «видит незнакомый сигнал, то он случайным образом определяется срабатывать ему или нет. При этом он запоминает и узор волны, и сделанный выбор. Если сигнал ему знаком, то он повторяет выбор, сделанный при первом знакомстве с этим сигналом»…


        1. AlexeyR
          02.09.2016 10:33

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


          1. AlekseiMorozov19730316Ru
            02.09.2016 10:43

            >… есть разные режимы…

            Это Вы о «чудотворном» и «мозговитом» сегменте дендрита?


            1. AlexeyR
              02.09.2016 10:59

              Пока об элементах автомата.


      1. buriy
        02.09.2016 09:55

        Вы не только не ответили на мой вопрос, но, видимо, ещё и неправильно его поняли. Прочитайте участок статьи рядом с этой фразой: «Теперь, выполним запоминание. Для этого на всех элементах желтого цвета запомним узор, образованный элементами черного цвета. В свою очередь, на всех черных элементах запомним узор, образованный желтыми элементами. „
        Это и есть то, что я назвал “склеиванием» сигналов.


        1. AlekseiMorozov19730316Ru
          02.09.2016 10:07
          -1

          Насколько понял, это для распределённой двунаправленной ассоциации паттернов с помощью многопаттерновой памяти элемента. В общем и целом, всё это «работает» лишь из-за «чудесного элемента».


    1. AlexeyR
      02.09.2016 10:28

      Сигналы разделены по времени. Сначала прошла одна волна, затем другая. Элемент получает сторонние указания о том, какую волну, как воспринимать и что с ней делать. Когда проходит первая волна элементы, которые были в ее узоре, переходят в состояние «приготовиться», это в статье подразумевается под «помнить предыдущее состояние». Затем по автомату, где уже нет активности проходит вторая волна. Ее узор независим от первой волны. Предполагается, что теперь элемент знает был ли он в первой волне и должен ли запоминать. И при этом элементы отдельно видят узор второй волны. Те, кто был «помечен» первой волной, запоминают узор второй.


      1. buriy
        02.09.2016 10:57

        То есть, для операции запоминания ассоциации «ключа» и «значения», в одной области памяти «ключ» приходит раньше, «значение» позже (и запоминается ассоциация ключ->значение), в другой области — наоборот?
        Ок, тогда встаёт другой вопрос: а кто передаёт эти служебные сигналы «приготовиться», «запомнить» (и «забыть», видимо, тоже)?
        Каким образом осуществляется то, что только те, кто был «помечен» первой волной, запоминают узор второй волны?
        Задаётся ли это разностью времени между волнами?
        (Исходя из моих поверхностных знаний нейрофизиологии, сила и возможность ассоциации нейронов зависит от разности времен проходящих мимо них сигналов, а не от какого либо внешнего источника, дающего команду на «запоминание»… — и в литературе приводятся данные про 15 мс между сигналами для наилучшего усиления связи, насколько я помню. )


        1. AlexeyR
          02.09.2016 11:25

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


          1. buriy
            02.09.2016 11:39

            Для качественного описания системы вовсе не обязательно описывать всё — достаточно построить модель, хорошо повторяющую поведение оригинальной системы. Так что если вы про мозг — то давайте про мозг. А если вы про абстрактную модель, которая неплохо решает какие-то задачи, но не повторяет поведение мозга — то тогда так и говорите, что мозг тут совершенно ни при чём.


        1. Halt
          02.09.2016 12:39

          …а кто передаёт эти служебные сигналы «приготовиться», «запомнить» (и «забыть», видимо, тоже)?
          Полагаю, что гиппокамп и таламус, хотя там речь идет об идентификаторах, а не о командах.


          1. AlexeyR
            02.09.2016 13:51

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


          1. buriy
            02.09.2016 14:24

            Ну, в теориях от нейрофизиологов всё намного сложнее.
            Посмотрите на http://www.frontiersin.org/files/cognitiveconsilience/index.html и http://www.frontiersin.org/files/cognitiveconsilience/images/informationflow.png
            Вот бы это с ИНС так скрестить, чтобы получить и высокую скорость, и высокое качество работы…


            1. AlexeyR
              02.09.2016 14:33

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


              1. buriy
                02.09.2016 15:21

                Я не вижу там деления зон коры по функциям, я вижу там только деление слоёв коры по функциям.
                И ещё касательно волн, кстати, вам в копилочку: http://www.pnas.org/content/111/40/14332.full


    1. shabanovd
      02.09.2016 11:07

      Это очень правильный вопрос!

      Возможны несколько сценариев взаимодействия:
      — волны распространяются из одного места, тогда они пройдут по объёму автомата с временной задержкой. Это позволит узору первой волны запомнить узор второй волны и не перемешать их;
      — волны распространяются из разных мест, тогда в объёме автомату будет 3 типа взаимодействия этих волн: первая волна является ключом, вторая волна является ключом, и объем в котором эти волны пересеклись в небольшом временном интервале.

      Эти свойства интересны, но нужно понимать, что кроме позитивной стороны эти явления несут и негативное влияние на модель (с которым можно бороться вводя дополнительные несложные правила)


      1. buriy
        02.09.2016 11:17

        Конечно, можно вводить произвольные правила, но далеко не все эти правила будут описывать то, что происходит в человеческом мозгу.
        Я думал, у вас модель всё же хотя бы на качественном уровне описывает человеческий мозг, а не абстрактное волновое вычислительное устройство.
        Если же мы говорим про абстрактную модель, то всё пока нормально — но ровно те же самые вопросы возникнут, когда вы будете её притягивать к устройству мозга.


  1. Volutar
    02.09.2016 10:35

    Интересно то, что «ключ» и «значение» — равноправны. Т.е. можно их поменять местами — для схемы ничего не изменится. Можно сначала пустить значение — и оно может ассоциативно вызвать (вспоминать) ключ, а можно пустить ключ, и оно вызовет значение. Вопрос тут только в том — как этот аппарат отличает что нужно запомнить, а что просто проассоциировать? Управляющие, «дирекционные» механизмы, насколько я знаю, в корковых структурах толком не описаны (помимо известного правила Хэбба). И, насколько я понимаю, химическая активность глиальных клеток и их воздействие на нейроны через метаботропные рецепторы и G-белки в этом играет одну из основных ролей.

    Насчет необходимости хеша вообще лично мне непонятно — зачем заводить эту сущность? Просто как условность для описания концепции? Без неё нельзя? Лично я вижу что она только усложняет описание.
    Укрупнение (расширение) мультимодальности значений в биологической системе происходит за счёт выстроенных межзональных проекций и иерархично организованных обобщений. Как совсем низкоуровневые «понятия» из первичной визуальной зоны V1 (направленные пиксели) проецируются в V2, укрупняясь в виде фрагментов кривых, а оттуда проецируются в V4, образуя уже варианты довольно сложных контуров, имеющих определённую долю инвариантности.


    1. AlexeyR
      02.09.2016 10:47

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


    1. sergeypid
      02.09.2016 12:44

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


      1. Volutar
        02.09.2016 14:30
        +1

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

        Так вот, когда устанавливается прямая восходящая ассоциация (груда «фич» одного уровня «сворачивается» в более общее одиночное значение вышестоящего уровня), тогда же и образуется обратная ассоциация, для того, чтобы иметь возможность _вспоминать_ не только абстрактность, но и конкретику, с ней связанную. Но качество «восстановленного» сигнала конечно не сравнится с исходником — там по большому счёту уже срабатывает «правдоподобная реконструкция». Про эту реконструкцию, кстати, Оливер Сакс рассказывал в своём выступлении на TED, в кратце — когда из-за отсутствия качественного, чёткого сенсорного сигнала образующаяся «шумливость» первичных областей постоянно создаёт галлюцинации спровоцированные нисходящими ассоциациями из верхних областей.


        1. AlexeyR
          02.09.2016 14:40
          +1

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


      1. Magister7
        02.09.2016 15:29

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


        1. AlexeyR
          02.09.2016 16:15

          О «разных ракурсах» будет очень подробно позже. Хеш, сейчас, несколько не для этого.


  1. shabanovd
    02.09.2016 10:45

    .


    1. AlekseiMorozov19730316Ru
      02.09.2016 10:55

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


  1. sergeypid
    02.09.2016 12:42
    +2

    Как Ваша модель позволит распознать последовательность событий? Фильтр Блюма — отличное недорогое решение для преобразования последовательностей признаков переменной длины в фиксированный вектор. Но он теряет порядок поступления признаков. Получается как бы мешок признаков, разновидность pooling'а. Многие события в реале представляют собой последовательности, от перестановки событий местами поменяется смысл.

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

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


    1. AlexeyR
      02.09.2016 14:10
      +1

      Вы очень точно подметили суть. И задали правильные вопросы. Проблема последовательности и родственная ей проблема связаности — все это ключевые моменты, без решения которых трудно двигаться дальше. Фильтр Блума, действительно, может работать только с описаниями в которых неважна последовательность. Есть красивые методы, котороые позволяют решить вопрос последовательности. Я их скоро опишу. Но, гораздо интереснее с проблемой связаности. Решению проблемы связаности и проблемы понимания смысла и будет посвящен основной рассаз в этом цикле.


      1. sergeypid
        02.09.2016 14:19
        +1

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


        1. AlexeyR
          02.09.2016 14:27

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


  1. pavel_kudinov
    02.09.2016 13:56
    +2

    немного мистической экстраполяции.

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

    а) как он «виртуализирован» на биологической основе
    б) как свойства этого «голографического эфира» порождают осознание

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

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

    Под исходным глобальным пространством («океаном голографического осознания») я предполагаю клеточный автомат квантовой структуры физического континуума (отсылка к идее «голографической Вселенной»)


    1. AlexeyR
      02.09.2016 14:16

      Вы затронули очень интересную (если не самую интересную) тему. Но об этом надо говорить подробнее, чем позволяют сделать комментарии к статье.


  1. vagran
    04.09.2016 10:39

    Имеет ли размерность автомата значение при программной реализации? Есть ли какое-то преимущество у трёхмерного перед двухмерным?


    1. AlexeyR
      04.09.2016 14:15
      +2

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


  1. eXTreMeHawk
    05.09.2016 13:18
    +1

    AlexeyR, огромное спасибо за статью и за ту гигантскую работу, которую вы делаете!
    Скажите пожалуйста, модель, которую вы описываете, относится только к мозгу человека или она также справедлива и для мозга животных? Если она также распространима и на мозг животных, то как тогда объяснить с точки зрения этой модели, почему у человека есть интеллект, а, например, у обезьяны / кошки нет?


    1. AlexeyR
      05.09.2016 13:58
      +3

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