![](https://habrastorage.org/getpro/habr/post_images/cb6/aeb/52f/cb6aeb52f9ff86c0b4453c129d128103.jpg)
Ранее мы говорили о том, что любая информация имеет как внешнюю форму, так и внутренний смысл. Внешняя форма — это то, что именно мы, например, увидели или услышали. Смысл — это то, какую интерпретацию этому мы дали. И внешняя форма, и смысл могут быть описаниями, составленными из определенных понятий.
Было показано, что если описания удовлетворяют ряду условий, то давать им интерпретацию можно, просто заменяя понятия исходного описания на другие понятия, применяя определенные правила.
Правила трактовки зависят от тех сопутствующих обстоятельств, в которых мы пытаемся дать интерпретацию информации. Эти обстоятельства принято называть контекстом, в котором трактуется информация.
Кора мозга состоит из нейронных миниколонок. Мы предположили, что каждая миниколонка коры — это вычислительный модуль, который работает со своим информационным контекстом. То есть каждая зона коры содержит миллионы независимых вычислителей смысла, в которых одна и та же информация получает свою собственную трактовку.
Был показан механизм кодирования и хранения информации, который позволяет каждой миниколонке коры иметь свою полную копию памяти о всех предыдущих событиях. Наличие собственной полной памяти позволяет каждой миниколонке проверить, насколько ее интерпретация текущей информации согласуется со всем предыдущим опытом. Те контексты в которых трактовка оказывается «похожа» на что-то ранее знакомое составляют набор смыслов, содержащихся в информации.
За один такт своей работы каждая зона коры проверяет миллионы возможных гипотез относительно того, как можно трактовать поступающую информацию, и выбирает самые осмысленные из них.
Чтобы кора могла так работать, необходимо предварительно сформировать на ней пространство контекстов. То есть, выделить все те «наборы обстоятельств», которые влияют на правила трактовки.
Наш мозг возник в результате эволюции. Его общая архитектура, принципы работы, система проекций, структура зон коры — все это создано естественным отбором и заложено в геном. Но далеко не все можно и имееет смысл передавать через геном. Некоторые знания должны приобретаться живыми организмами самостоятельно уже после их рождения. Идеальная адаптация к окружающей среде не в том, чтобы наследственно хранить правила на все случаи жизни, а в умении обучаться и самим находить оптимальные решения в любых новых обстоятельствах.
Контексты — это как раз те самые знания, что должны формироваться под воздействием внешнего мира и его законов. В этой части мы опишем, как могут создаваться контексты и то, как уже внутри пространства контекстов может происходить последующая самоорганизация.
Для каждого типа информации работают свои «трюки», позволяющие сформировать пространство контекстов. Опишем два наиболее очевидных приема.
Создание контекстов при наличии примеров
Предположим, что есть учитель, который дал нам некие описания и показал, как их надо толковать. При этом он не просто дал правильную интерпретацию, но и объяснил, как она получена, то есть какие понятия во что перешли при трактовке. Таким образом, для каждого примера нам стали известны правила трактовки. Чтобы из этих правил создать контексты их надо объединить в группы так, чтобы, с одной стороны, этих групп было как можно меньше, а с другой стороны, чтобы правила внутри одной группы не противоречили друг другу.
Например, у вас есть предложения и их переводы на другой язык. При этом есть сопоставления того, какие слова как переводятся. Для разных предложений может оказаться, что одни и те же слова будут переводиться по-разному. Задача — найти такие смысловые области, они же контексты, в которых правила перевода будут устойчивы и однозначны.
Запишем это формально. Допустим, что у нас есть память M, состоящая из примеров вида «описание – трактовка – правила преобразования».
![](https://habrastorage.org/getpro/habr/post_images/bf6/881/b1d/bf6881b1d957aa079772b8eb3f7943e7.png)
![](https://habrastorage.org/getpro/habr/post_images/48d/6ec/bf1/48d6ecbf1f9d7ac80de8b188c780a2fd.png)
Описание и его трактовка связаны между собой правилами преобразований r. Правила говорят о том, как из исходного описания была получена его трактовка. В самом простом случае правила преобразования могут быть просто набором правил замены одних понятий на другие
![](https://habrastorage.org/getpro/habr/post_images/aea/9d6/584/aea9d6584ab919c5bf03661152d4e872.png)
![](https://habrastorage.org/getpro/habr/post_images/2d4/00c/87b/2d400c87b16107e6e024404d3b846a8d.png)
То есть правила преобразования – это набор трансформаций «исходное понятие – понятие-интерпретация». В более общем случае одно понятие может перейти в несколько или несколько понятий могут преобразоваться в одно, или одно описание из нескольких понятий может перейти в другое сложное описание.
![](https://habrastorage.org/getpro/habr/post_images/ff4/7c8/f73/ff47c8f73443d7d935c7397a744a94f4.png)
Введем следующие функции согласованности для двух правил преобразований. Количество совпадающих трансформаций
![](https://habrastorage.org/getpro/habr/post_images/981/047/ce8/981047ce8b5041d50467270d0e7d64c8.png)
Количество противоречий
![](https://habrastorage.org/getpro/habr/post_images/74b/12f/292/74b12f2929d7ff4497d6d8b5e195df9e.png)
Количество противоречий показывает, сколько присутствует трансформаций, в которых одна и та же исходная информация преобразуется правилами по-разному.
Теперь решим задачу кластеризации. Разобьем все воспоминания на минимальное количество классов с тем условием, что все воспоминания одного класса не должны противоречить друг другу своими правилами преобразований. Полученные классы будут являться пространством контекстов {Conti|i=1⋯NCont}.
Для каждого класса-контекста будем считать правила преобразований R как совокупность всех правил для элементов, входящих в этот класс
![](https://habrastorage.org/getpro/habr/post_images/c60/591/2a9/c605912a9d9d97d0f945a23adb7c3a39.png)
Для требуемой кластеризации можно использовать идею EM (expectation-maximization) алгоритма с добавлением. EM алгоритм подразумевает, что сначала мы разбиваем объекты на классы любым разумным способом, чаще всего случайным отнесением. Считаем для каждого класса его портрет, который может быть использован для расчета функции правдоподобия отнесения к этому классу. Затем заново перераспределяем все элементы по классам, исходя из того, какой класс правдоподобнее соответствует каждому из элементов.
Если какой-либо элемент не получается правдоподобно отнести ни к одному из классов, то создаем новый класс. После отнесения к классам возвращаемся к предыдущему шагу, то есть опять пересчитываем портреты классов, в соответствии с тем, кто попал в этот класс. Повторяем процедуру до сходимости.
В реальных случаях, например в нашей жизни, информация не появляется одномоментно сразу вся. Она накапливается постепенно по мере приобретения опыта. При этом новые знания сразу включаются в информационный оборот вместе со старыми. Можно предположить, что наш мозг использует двухэтапную обработку новой информации. На первом этапе новый опыт запоминается и может сразу быть использован. На втором этапе происходит соотнесение нового опыта со старым и более сложная совместная обработка этого обработка.
Можно предположить, что первый этап происходит во время бодорствования и не мешает остальным информационным процессам. Второй же этап, похоже требует «остановки» основной активности и перехода мозга в специальный режим. Похоже, что таким специальным режимом и является сон.
Исходя из этого, изменим немного классический EM алгоритм, приблизив его к возможной двухтактной схеме работы мозга. Будем начинать с пустого набора классов. Будем использовать фазу «бодрствования» для получения нового опыта. Будем менять портрет каждого из классов сразу после отнесения к нему нового элемента. Будем использовать фазу «сна» для переосмысления накопленного опыта.
Функцию правдоподобия отнесения элемента памяти с правилами преобразований r к классу контекста с номером j выберем
![](https://habrastorage.org/getpro/habr/post_images/844/de9/faf/844de9faf700dfa72f5adbeb00f3a738.png)
Алгоритм примет вид:
- Создадим пустой набор классов
- В фазе «бодрствования» будем последовательно подавать новую часть опыта.
- Будем сравнивать r составляющую элементов и портреты классов R. Для каждого элемента будем выбирать классы с δ(r,Rj)=0 и среди них класс с максимальным φ(r,Rj), что соответствует
- Если классов без противоречий не окажется, то создадим для такого элемента новый класс и поместим его туда.
- При добавлении элемента к классу будем пересчитывать портрет класса R.
- По завершении фазы «бодрствования» перейдем к фазе «сна». Будем реконсолидировать накопленный опыт. Для опыта, полученного во время «бодрствования», и для части старого опыта (в идеале для всего старого опыта) произведем переотнесение к классам контекста с созданием, если это необходимо, новых классов. При изменении отнесения какого-либо опыта будем менять портреты обоих классов — того, откуда элемент выбыл, и того, куда теперь отнесен.
- Будем повторять фазы «бодрствования» и «сна», подавая новый опыт и реконсолидируя старый.
Поиск правил преобразования для фиксированных контекстов
Описанный выше механизм создания контекстов подходит для обучения, когда учитель объясняет смысл фраз и при этом указывает трактовку для каждого из понятий. Другой вариант создания контекстов связан с ситуацией, когда для обучающих примеров известно контекстное преобразование и есть два информационных описания, соответствующие исходной информации и ее трактовке. Но при этом неизвестно, какое именно из понятий во что перешло.
Именно такая ситуация возникает, например, во время обучения первичной зрительной коры. Быстрые скачкообразные движения глаз называются саккадами и микросаккадами. До и после скачка глаз видит одну и ту же картинку, но в разном контексте смещения. Если скачок определенной амплитуды и направления сопоставить с определенным контекстом, то вопрос будет в том, по каким правилам меняется любое зрительное описание в этом контексте? Очевидно, что имея достаточный набор пар «исходная картинка — картинка после смещения», относящихся к одинаковым смещениям, можно построить универсальный набор правил трансформации.
Другой пример. Предположим вы хотите узнать перевод на другой язык какого-либо слова в определенном контексте. У вас есть набор предложений, в некоторых из которых есть это слово. И есть переводы всех этих предложений. Пары «предложение — перевод» заранее разбиты на контексты. Это значит, что для всех переводов, относящихся к одному контексту, это слово переводится одинаково. Но вы не знаете, какое именно слово в переводах соответствует тому, что вы ищете.
Задача с переводом решается очень просто. Вам надо в том контексте в котором ищется перевод отобрать те пары «предложение — перевод», в которых есть искомое слово, и посмотреть, что общее есть во всех переводах. Это общее и будет искомым переводом слова.
Формально это можно записать так. У нас есть память M, состоящая из воспоминаний вида «описание – трактовка – контекст».
![](https://habrastorage.org/getpro/habr/post_images/bf6/881/b1d/bf6881b1d957aa079772b8eb3f7943e7.png)
![](https://habrastorage.org/getpro/habr/post_images/647/cea/841/647cea841a7a7adca8a99283a36528f5.png)
Описание и его трактовка связаны между собой правилами преобразований Rj, которые нам неизвестны. Зато нам известен номер контекста Conti, в котором совершены эти преобразования.
Теперь предположим, что в текущем описании нам встретился информационный фрагмент Iorig и у нас есть номер контекста j, в котором мы хотим получить трактовку этого описания Itrans.
Выберем из памяти M подмножество элементов M’ таких, что их контекстное преобразование совпадает с j и в исходном описании содержится фрагмент Iorig, преобразование для которого мы хотим найти
![](https://habrastorage.org/getpro/habr/post_images/c20/32f/151/c2032f151bba8c34d3b4bc5233b81dfe.png)
Во всех преобразованиях Iinti будет содержаться фрагмент искомого нами преобразования (если контекст допускает такое преобразование). Наша задача сводится к определению такого максимального по длине описания, которое присутствует во всех трактовках элементов множества M’.
Интересно, что идеология нахождения такого описания совпадает с идеологией алгоритмов для квантовых вычислений, основанной на усилении требуемой амплитуды. В описаниях Iinti множества M’ все остальные элементы, кроме искомых, встречаются случайным образом. Это означает, что можно организовать интерференцию описаний так, чтобы нужная информация усиливалась, а ненужная интерферировала случайно и гасила друг друга.
Чтобы проделать «фокус» с подскоком амплитуды требуется чтобы данные были представлены соответствующим образом. Напомню, что мы используем для кодирования каждого понятия разряженный бинарный код. Описанию из нескольких понятий соответствует бинарный массив, получающийся при логическом сложении бинарных кодов входящих в описание понятий.
Оказывается, что если взять бинарные массивы, соответствующие трактовкам, и выполнить с ними «интерференцию», связанную с усилением нужного нам кода, то в результате получится бинарный код требуемого нам преобразования.
Предположим, что M’ содержит N элементов. Сопоставим каждому описанию Iint битовый массив b из m бит, полученный из логического сложения кодов, входящих в описание понятий. Сформируем массив амплитуд A размерности m
![](https://habrastorage.org/getpro/habr/post_images/942/e62/8ec/942e628ec5f17f985de672ecd3bafab0.png)
При увеличении количества примеров N полезные элементы кода останутся равными 1 (или будут около 1 если данные содержат погрешность), ненужные элементы уменьшатся до величины, равной вероятности случайного появления единицы в коде описания. Произведя отсечение по порогу, гарантированно превосходящему случайный уровень, (например, 0.5), мы получим искомый код.
Коррелированные контексты
Обычно, при определении смысла информации оказывается, что в пространстве контекстов возникает достаточно много высоких значений функции соответствия. Это обусловлено двумя причинами. Первая причина – наличие в информации нескольких смыслов. Вторая причина – узнавание в контекстах, близких к основному.
Предположим, что в памяти хранятся эталонные изображения цифр. Для простоты допустим, что образы в памяти отцентрированы и приведены к одному масштабу. Опять же для простоты предположим, что на подаваемых изображениях цифры совпадают с эталонными, но могут находиться в произвольных местах. В такой ситуации узнавание цифр на картинке сводится к рассмотрению описаний в различных контекстах смещений по горизонтали и вертикали. Пространство контекстов можно изобразить так, как показано на рисунке ниже. Каждому контексту, который обозначен кружочком, соответствует определенное смещение, применяемое к рассматриваемой картинке.
![](https://habrastorage.org/getpro/habr/post_images/fb5/fae/6ef/fb5fae6efa5aafd607a5ea00ddaf16e2.png)
Пространство контекстов горизонтального и вертикального смещения (смещение приведено в условных единицах)
Подадим изображение с двумя буквами A и B (рисунок ниже).
![](https://habrastorage.org/getpro/habr/post_images/34d/9f8/38c/34d9f838c103f9d65d0528ef06f3652c.png)
Изображение с двумя буквами
Каждая из букв будет узнана в том контексте, который приводит ее к соответствующему эталону, хранящемуся в памяти. На рисунке ниже наиболее подходящий для букв контекст выделен красным.
![](https://habrastorage.org/getpro/habr/post_images/f54/2bb/50f/f542bb50fccb92566ede56cc3943b4a8.png)
Пространство контекстов. Цветом выделены контексты с высоким значением функции соответствия
Но алгоритм определения соответствия может быть построен так, что соответствие, в той или иной степени, будет определяться не только при точном совпадении, но и при сильной схожести описаний (такие меры будут показаны позже). Тогда определенный уровень функции соответствия будет не только в наиболее подходящих контекстах, но и в контекстах, близких к ним по правилам преобразований. При этом близость подразумевает не количество совпавших правил, а некую близость получаемых описаний. В том смысле, что два правила, переводящие одно и то же понятие, в разные, но близкие понятия – это два разных правила, но при этом – два близких преобразования. Близкие контексты показаны на рисунке выше розовым цветом.
После выделения смысла в исходном изображении мы ожидаем получить описание вида: буква A в контексте сдвига (2,1) и буква B в контексте сдвига (-2,-1). Но для этого надо оставить всего два главных контекста, то есть избавиться от лишних контекстов. Лишними в данном случае являются контексты, близкие по смыслу к локальным максимумам, те, что на рисунке выше обозначены розовым.
Мы не можем при определении смысла взять глобальный максимум функций соответствия и на этом остановиться. В этом случае мы определим только одну букву из двух. Не можем мы ориентироваться и только на некий порог. Может так оказаться, что уровень соответствия во втором локальном максимуме будет ниже, чем уровень контекстов, окружающих первый локальный максимум.
Во многих реальных задачах контексты допускают введение неких обоснованных мер близости. То есть для любого контекста можно указать контексты, похожие на него. В таких ситуациях полное определение смысла становится невозможно без учета этой взаимной похожести.
В приведенном примере мы не изобразили контексты как отдельные независимые сущности, а расположили их на плоскости таким образом, что близость точек, изображающих контекст, стала соответствовать близости контекстных преобразований. И тогда мы смогли описать искомые контексты, как локальные максимумы на плоскости точек, изображающих контексты. А лишние контексты стали ближайшим окружением этих локальных максимумов.
В общем случае можно воспользоваться тем же принципом, то есть расположить на плоскости или в многомерном пространстве точки, соответствующие контекстам, так, чтобы их близость наилучшим образом соответствовала близости контекстов. После этого выделение набора смыслов, содержащихся в информации, сводится к поиску локальных максимумов в пространстве, содержащем точки контекстов.
Для ряда задач близость контекстов можно определить аналитически. Например, для задачи зрительного восприятия основными контекстами являются геометрические трансформации, для которых можно рассчитать степень их похожести. В искусственных моделях для некоторых задач такой подход хорошо работает, но для биологических систем необходим более универсальный подход, основанный на самоорганизации.
Предположим, что каким-либо методом нам удалось сформировать контексты. Близкими можно считать такие контексты, функции соответствия которых реагируют сходным образом на одну и ту же информацию. Соответственно, коэффициент корреляции Пирсона между функциями соответствия контекстов можно использовать как меру похожести контекстов:
![](https://habrastorage.org/getpro/habr/post_images/0e2/873/302/0e2873302451f1f9fa61249dac4bfdbc.png)
Для всей совокупности контекстов можно рассчитать корреляционную матрицу R, элементами которой будут парные корреляции функций соответствия.
Тогда можно описать следующий алгоритм выделения смыслов в описании:
- В каждом из контекстов исходное описание получает трактовку и оценку соответствия трактовки и памяти.
- Определяется глобальный максимум функции соответствия ρmax и соответствующий максимуму контекст-победитель.
- Если ρmax превосходит порог отсечения L0, то формируется одно из смысловых значений, как трактовка в контексте-победителе.
- Активность (значение функций соответствия) всех контекстов, корреляция с которыми, исходя из матрицы R, превосходит некий порог L1, подавляется.
- Процедура повторяется с шага 2 до тех пор, пока ρmax не опустится ниже порога отсечения L0.
В результате мы получаем все независимые смысловые трактовки и избавляемся от менее точных, но близких к ним по смыслу интерпретаций.
В сверточных нейронных сетях свертка по различным координатам аналогична рассмотрению изображения в различных контекстах смещения. Использование набора ядер для свертки аналогично наличию разных воспоминаний. Когда свертка по какому-либо ядру в определенном месте показывает высокое значение, в соседних простых клетках, отвечающих за свертку по тому же ядру в соседних координатах, тоже возникает повышенное значение, образующее «тень» вокруг максимального значения. Причина этой «тени» аналогична причине, вызывающей повышения функции соответствия в окрестности контекста с максимальным значением.
Чтобы избавится от дублирующих значений и понизить размер сети используется процедура max-pooling. После слоя свертки пространство изображения разбивается на непересекающиеся области. В каждой области выбирается максимальное значение свертки. После чего получается слой меньшего размера, где за счет пространственного огрубления эффект «теневых» значений значительно ослабевает.
Пространственная организация
Матрица корреляций R определяет сходство контекстов. В наших предположениях кора мозга – это размещенные на плоскости миниколонки, каждая из которых является процессором определенного контекста. Видится вполне разумным разместить миниколонки не случайным образом, а так, чтобы похожие контексты располагались максимально близко друг к другу.
Для такого размещения есть несколько причин. Во-первых, это удобно для поиска локальных максимумов в пространстве контекстов. Собственно, само понятие локальный максимум применимо только к набору контекстов, у которых есть некая пространственная организация.
Во-вторых, это позволяет «заимствовать» трактовки. Может оказаться, что память определенного контекста не содержит трактовки для какого-либо понятия. В таком случае можно попробовать воспользоваться трактовкой какого-либо близкого по смыслу контекста, у которого эта трактовка есть. Есть и другие очень важные причины, но о них мы поговорим позже.
Задача размещения на плоскости, исходя из похожести, близка к задаче укладки взвешенного неориентированного графа. Во взвешенном графе ребра не только задают связи между вершинами, но и определяют веса этих связей, которые можно трактовать, например, как меру близости этих вершин. Укладка графа – это построение такого его изображения, которое наилучшим образом передать меру близости, заданную весами ребер, через расстояние между вершинами изображенного графа.
Для решения этой задачи используется пружинная аналогия (Eades P., A heuristic for graph drawing, Congressus Nutnerantiunt – 42, pp. 149–160. – 1984.). Связи между вершинами представляются пружинами. Сила натяжения пружин зависит от веса соответствующего ребра и расстояния между соединяемыми вершинами. Чтобы вершины не упали в одну точку добавляется сила отталкивания, действующая между всеми вершинами.
Для полученной пружинной системы можно записать уравнение потенциальной энергии. Минимизация энергии соответствует нахождению требуемой укладки графа. На практике эта задача решается либо моделированием движения вершин под действием возникающих сил, либо решением системы уравнений, возникающих при записи условий минимизации энергии (Kamada, T., Kawai, S., An algorithm for drawing general undirected graphs, Information Processing Letters, Vol. 31. – pp. 7-15. – 1989).
![](https://habrastorage.org/getpro/habr/post_images/60f/5a4/fb6/60f5a4fb6e37d532b4e4ff4d19c43cfa.png)
Визуализация графа связанности страниц википедии, построенная под действием направленных сил
Определенным аналогом укладки графа для случая клеточных автоматов является модель сегрегации Шеллинга (The Journal of Mathematical Sociology Volume 1, Issue 2, 1971. Dynamic models of segregation Thomas C. Schelling pages 143-186). В этой модели клетки автомата могут принимать значения разных типов (цветов) или быть пустыми. Для непустых клеток рассчитывается функция удовлетворенности, которая зависит от того, насколько окружение клетки похоже на саму клетку. Если удовлетворенность оказывается слишком низкой, то значение этой клетки перемещается в какую-либо свободную клетку. Цикл повторяется, пока состояние автомата не стабилизируется. В результате, если параметры системы это позволяют, начальный случайный беспорядок сменяется островами, состоящими из значений одного типа (рисунок ниже). Модели сегрегации используются, например, для моделирования расселения людей с разными доходами, верой, рассой и тому подобным.
![](https://habrastorage.org/getpro/habr/post_images/748/5cc/a44/7485cca447eb447b0cc3e4cb54906058.png)
![](https://habrastorage.org/getpro/habr/post_images/2be/130/69c/2be13069c78e454cd5ad476e3eb648aa.png)
Начальное и конечное состояние сегрегации при четырех цветах
Идею минимизации энергии графа и принцип сегрегации клеточного автомата можно с некоторыми изменениями применить для пространственной организации контекстов. Возможен следующий алгоритм:
- Определяем контексты, характерные для поступающей информации.
- Определяем матрицу взаимных корреляций контекстов.
- Случайным образом распределяем контексты по клеткам клеточного автомата, размер которого позволяет вместить все контексты.
- Выбираем случайную клетку, содержащую контекст.
- Перебираем соседние клетки, например, восемь ближайших соседей, как потенциальное место для перемещения контекста, если клетка пустая, или для обмена контекстами, если не пустая.
- Вычисляем изменение энергии автомата в случае каждого из потенциально возможных перемещений (обменов).
- Совершаем перемещение (обмен), которое лучше всего минимизирует энергию. Если такого нет, то остаемся на месте.
- Повторяем с шага 4 пока состояние автомата не стабилизируется.
В результате, контексты получаются расставлены так, что похожие контексты, по возможности, оказываются поблизости друг от друга. Посмотреть, как происходит такая самоорганизация можно на видео ниже.
Каждая цветная точка на видео соответствует своему контексту. Каждый контекст имеет несколько параметров, которые его определяют. Корреляция контекстов рассчитывается исходя из близости этих параметров. В приведенном примере нет создания контекстов из исходной информации, это просто иллюстрация пространственной организации для случая, когда корреляции между контекстами уже рассчитаны заранее. Программа, иллюстрирующая самоорганизацию методом перестановок, доступна по ссылке.
В приведенном примере контексты соответствуют всевозможным комбинациям четырех параметров. Первый параметр является кольцевым, два параметра линейны, четвертый принимает два значения. Это соответствует контекстам, которые можно использовать для анализа изображений. Первый параметр описывает поворот, второй и третий смещения по горизонтали и вертикали, соответственно, четвертый параметр говорит о том, к какому глазу относится информация.
Каждому параметру сопоставлен цветовой спектр. По близости цветов в спектре можно судить о близости значений параметра. В примере каждый контекст имеет четыре значения. То есть свое значение для каждого из параметров и, соответственно, свой цвет в каждом из них. В квадратах показаны цвета контекстов в каждом из параметров. Все цветные картинки показывают одни и те же контексты, но в цветах разных параметров (рисунок ниже).
![](https://habrastorage.org/getpro/habr/post_images/c3f/bf5/20c/c3fbf520c944fc392684cd631f667003.jpg)
Результат самоорганизации для контекстов с четырьмя независимыми параметрами
Суть пространственного упорядочивания в том, что контекстам в процессе перемещения приходится найти компромисс между всеми параметрами. В примере на видео этот компромисс достигается за счет того, что линейные параметры выстраивают линейное поле. То есть контексты встают так, что формируют некое соответствие координатной сетки. Кстати, именно так были расставлены контексты на примере выше, когда мы говорили об узнавании букв.
Для кольцевого параметра поворота по всей поверхности сформировались группы, содержащие по полному набору цветов. В зрительной коре такие конструкции называют «вертушками» или «волчками». Как выглядят «вертушки» в первичной зрительной коре, показано на заглавной картинке. Подробнее об этом и о четвертом квадрате с колонками глазодоминантности будет рассказано в следующей части.
В зависимости от того, на сколько интервалов разбит каждый из параметров, получается разное количество контекстов, стремящихся непременно оказаться рядом. При большем дроблении кольцевого параметра по сравнению с линейными может получиться картина, когда контексты выстроятся в одну большую «вертушку» (рисунок ниже). При этом линейные параметры сформируют локальные линейные поля, распределенные по всему пространству.
![](https://habrastorage.org/getpro/habr/post_images/f45/b50/f8d/f45b50f8db598800b2d9556798195887.png)
Пространственная организация контекстов для случая с тремя независимыми параметрами. Кольцевой параметр доминирует и образует глобальную «вертушку», два линейных параметра образуют локальные линейные поля. Правый нижний квадрат показывает элементы, близкие к тому, который выделен красной точкой
Независимо от того, к чему сойдется процесс перестановок, похожие контексты оказываются преимущественно рядом друг с другом. На рисунках ниже показаны примеры такой близости. На каждом рисунке один из контекстов выделен красным, яркость остальных контекстов соответствует степени их близости к выделенному контексту.
![](https://habrastorage.org/getpro/habr/post_images/1ed/3da/07b/1ed3da07b9485eb85923dec0545b811f.png)
Распределение близости контекстов по отношению выбранному
При применении описанного алгоритма требуется учитывать все взаимные корреляции контекстов. Сами корреляции можно изобразить как связи клеток автомата. Каждая клетка оказывается связана со всеми остальными клетками. Каждая связь отвечает за парную корреляцию тех клеток, между которыми она проходит. Можно значительно уменьшить количество связей, если воспользоваться методом Barnes-Hut (Barnes J., Hut P., A hierarchical O(N log N) force-calculation algorithm. Nature, 324(4), December 1986). Его суть заключается в замене влияния удаленных элементов на влияние квадрантов, включающих эти элементы. То есть удаленные элементы можно объединять в группы и рассматривать их как один элемент с усредненным для группы расстоянием и усредненной силой связи. Такой метод особенно хорошо работает для расчета взаимного притяжения звезд в звездных скоплениях.
![](https://habrastorage.org/getpro/habr/post_images/0d8/bf2/c97/0d8bf2c97ee90e1ad6710dde0a07037e.png)
Пространственные квадранты, заменяющие отдельные звезды
Имея организованную подобным образом карту контекстов, можно несколько упростить решение задачи поиска локальным максимумов. Теперь каждый контекст требуется связать с другими похожими контекстами, расположенными поблизости от него, и с островками похожих контекстов, отнесенных на некоторое расстояние. Длина таких связей после пространственной организации будет меньше, чем до организации, так как именно такой критерий лежал в основе расчета энергии системы.
Выгода пространственной организации
Вернемся к примеру с переводом. Контесты — это смысловые области, в которых действуют общие правила перевода. Расставив контексты пространственно, мы получаем соседствующие в пространстве группы контекстов, относящиеся приблизительно к одной тематике. Внутри группы каждый из отдельных контекстов выражает тонкости перевода в определенном уточненном смысле.
Сколько всего надо контекстов? Казалось бы, чем больше тем лучше. Чем больше доступно контекстов, тем больше деталей и оттенков смысла можно учесть при выборе перевода. Но обратная сторона детализации — это дробление опыта трактовок. Чтобы знать правила перевода для каких-либо слов в конкретном контексте, надо иметь опыт их перевода именно в этом контексте. Каждый пример перевода дает нам набор правил перевода. Если отнести эти правила к какому-либо одному контексту, который оказался самым удачным, то они окажутся недоступны для других контекстов.
Пространственная организация и корреляционные связи позволяют для любого выбранного контекста понять, какие контексты близки ему по смыслу. Это значит, что если в выбранном контексте отсутствует собственный опыт перевода, то можно воспользоваться опытом перевода соседних близких по смыслу контекстов, если такой опыт есть там.
Обращение к опыту соседей позволяет искать компромисс между детализацией контекстов и дроблением опыта. Для перевода это может выглядеть так, что группа контекстов, относящихся к общей тематике и расположенных поблизости друг от друга, совместно хранит правила перевода для этой предметной области. При этом каждый отдельный контекст содержит определенные собственные уточнения, отражающие нюансы смысла.
Кроме того, ограниченность числа доступных контекстных модулей в реальных задачах потребует поиска наилучшего приближенного решения. В этом может сильно помочь тот факт, что сама пространственная карта контекстов во многом учитывает специфику обрабатываемой информации.
Еще одна выгода пространственной организации заключается в возможности «делать несколько дел одновременно». Разговор не идет о том, что мы можем, например, одновременно вести машину и разговаривать по телефону. Если для этого задействованы разные зоны коры, то ничего удивительного в этом нет. Но все становится интереснее, когда нам приходится разговаривать с кем-то и думать о чем-то своем или разговаривать сразу на две разные темы с разными собеседниками, или, как Цезарь, писать и одновременно говорить на другую тему. Получается, что одни и те же зоны коры вынуждены работать сразу с несколькими информационными потоками.
Наверно, каждый замечал на себе, что совмещать дела или мысли удается только тогда, когда они достаточно сильно различаются по смыслу. Как только смысл начинает пересекаться, начинается либо путаница, либо одна мысль полностью вытесняет другую.
В нашей модели совмещение информационных потоков можно объяснить их разнесением на пространстве контекстов. Пока каждый из смыслов обрабатывается в своем месте, ничего страшного не происходит. Сближение же смыслов и, соответственно, контекстов делает совмещение невозможным.
На практике при сближении смыслов может произойти так называемая «перегрузка мозга», когда человек впадает в трансовое состояние, теряет собственную мысль и перестает себя контролировать. На таком эффекте основан так называемый «цыганский гипноз».
Если несколько человек начнут одновременно говорить что-то свое, скорее всего, на вас это не произведет особого впечатления. Вероятнее всего, вы сконцентрируетесь на ком-то одном и будете следить за его мыслью. Попытка услышать одновременно всех, навряд ли, что-то даст. Вы услышите обрывки фраз и скорее всего бросите это занятие.
Но когда вас окружает толпа цыган, ситуация меняется. Вы настораживаетесь и пытаетесь контролировать ситуацию. Вы пытаетесь понять все, что вам говорят. Как правило, все цыгане «бьют» в одну тему. «Центровая» цыганка начинает говорить о вашем будущем, пророчить, предупреждать или угрожать. Остальные вторят ей и говорят, что-то созвучное. В этот момент у большинства людей наступает транс. Очнувшись вне окружения цыган человек обнаруживает пропажу кошелька, часов и уверенности в собственной нормальности.
Адаптивный расчет корреляций. Роль синаптической пластичности
В процессе пространственной организации и при самом определении смысла необходимо знание взаимной похожести контекстов, которое может быть определено через корреляцию активности функций соответствия. Корреляционный анализ построен на предположении о том, что случайный процесс стационарен по времени, то есть усреднение по множеству реализаций эквивалентно усреднению по времени. Так как получение нового опыта меняет сами контексты, а значит и их функции соответствия, то получается разумным не использовать для расчета корреляций весь набор наблюдений, а исходить только из относительно недавней их части. Такой подход, в частности, используется в экономике для краткосрочного адаптивного прогнозирования временных рядов, когда закономерности могут иметь локальный временной характер.
Для расчета корреляции, учитывающей в основном последние N активных наблюдений, можно использовать адаптивную схему. Введем порог отсечения L0 и пороговую функцию:
![](https://habrastorage.org/getpro/habr/post_images/924/455/79a/92445579af78687d9b0a47a3a52edd96.png)
Будем при появлении нового опыта менять корреляцию между двумя контекстами, только если хотя бы у одного из них функция соответствия преодолела порог L0. Если обе функции преодолели порог, то будем увеличивать корреляцию, если только одна, то уменьшать.
Для удобства записи введем малую величину:
![](https://habrastorage.org/getpro/habr/post_images/6c9/e0a/48f/6c9e0a48f46d29cf1928fc8a6a57bad3.png)
Корреляция Пирсона рассчитывается по формуле:
![](https://habrastorage.org/getpro/habr/post_images/40d/8a9/6d5/40d8a96d52548c268837958678fe6966.png)
Каждый из элементов, задействованных в расчете, может быть адаптивно пересчитан при появлении нового опыта. Для функций соответствия контекстов с номерами i и j можно записать
![](https://habrastorage.org/getpro/habr/post_images/ab1/bc4/eae/ab1bc4eae76023c611f9897e253495c7.png)
![](https://habrastorage.org/getpro/habr/post_images/318/daa/4a5/318daa4a59929e5b323831881c190b8d.png)
Если хотя бы одно из значений, x или y отлично от нуля, то выполняем пересчет
![](https://habrastorage.org/getpro/habr/post_images/c89/dab/bf6/c89dabbf6419a430b6e005485b255935.jpg)
Такая корреляция будет стремиться к единице, если контексты всегда активируются совместно и к нулю, когда этот процесс случаен. В соответствии с таким адаптивным расчетом могут формироваться веса связей, соединяющих контексты.
Синаптическая пластичность
Усиление силы связи между контекстами в момент их совместного срабатывания очень напоминает правило Хебба (Hebb D.O. — The Organization of Behavior. John Wiley & Sons, New York, 1949). В соответствии с ним нейроны, срабатывающие совместно, усиливают силу связи между собой.
Если формальный нейрон работает как линейный сумматор, то его выход является взвешенной суммой его входов
![](https://habrastorage.org/getpro/habr/post_images/b18/c05/254/b18c05254ebb581d857dbc0df9b0ee30.png)
Правило Хебба для такого нейрона имеет вид
![](https://habrastorage.org/getpro/habr/post_images/480/3f3/476/4803f34768a4d75a01e59f274a69c04c.png)
Где n – дискретный шаг по времени, а η – параметр скорости обучения.
При таком обучении увеличиваются веса тех входов, на которые подается сигнал xi(n), но это делается тем сильнее, чем активнее реакция самого обучаемого нейрона y(n).
При прямом применении правила Хебба веса нейронов неограниченно растут. Этого легко избежать, если потребовать, чтобы общая сумма весов каждого нейрона оставалась постоянной. Тогда вместо роста весов будет происходить их перераспределение. Одни веса будут увеличиваться за счет уменьшения других.
С учетом общей нормировки весов, правило обучения Хебба принимает вид правила обучения Ойа (Oja, 1982)
![](https://habrastorage.org/getpro/habr/post_images/01e/6d9/f92/01e6d9f92d8d8833790bbb04529a0419.png)
В этой формуле xit – состояние входов нейрона, wit – это синаптические веса нейрона, а yt – активность его выхода, получаемая взвешенной суммацией входов.
Описанное выше корреляционное обучение и обучение формальных нейронов внешне соответствуют принципу усиления связей нейронов, срабатывающих совместно, но при этом они реализуют совершенно разные механизмы. В классическом Хеббовсом обучении за счет взвешенной суммации сигналов входов и последующей совместной нормировке весов возникает перераспределение весов нейрона таким образом, что он настраивается на определенный характерный для него стимул. В нашей модели ничего подобного не происходит. Суть корреляционных весов – описание картины близости контекстов в их пространственном окружении. Веса обучаются независимо друг от друга и это никак не связано с каким-либо характерным стимулом. Нет при этом и требования к нормировке: ограничение роста весов получается естественным следствием ограниченности коэффициентов корреляции.
Для реального мозга известно явление синаптической пластичности. Его суть в том, что эффективность синаптической передачи не постоянна и может меняться в зависимости от паттерна текущей активности. Причем продолжительность этих изменений может сильно варьироваться и обуславливаться разными механизмами.
![](https://habrastorage.org/getpro/habr/post_images/c80/143/ac1/c80143ac1e9572af30b8c63a20a5d2ad.png)
Динамика изменения синаптической чувствительности. (A) – фасилитация, (B) – усиление и депрессия, (С) – посттетаническая потенция, (D) – долговременная потенция и долговременная депрессия (Николлс Дж., Мартин Р., Валлас Б., Фукс П., 2003)
Короткий залп спайков может вызывать облегчение (фасилитацию) выделения медиатора из соответствующей пресинаптической терминали. Фасилитация появляется мгновенно, сохраняется во время залпа и существенно заметна еще около 100 миллисекунд после окончания стимуляции. То же короткое воздействие может привести к подавлению (депрессии) выделения медиатора, длящемуся несколько секунд. Фасилитация может перейти во вторую фазу (усиление), продолжительностью, аналогичной продолжительности депрессии.
Продолжительная высокочастотная серия импульсов обычно называется тетанусом. Название связано с тем, что подобная серия предшествует тетаническому мышечному сокращению. Поступление тетануса на синапс, может вызвать посттетаническую потенцию выделения медиатора, наблюдающуюся в течение нескольких минут.
Повторяющаяся активность может стать причиной долговременных изменений в синапсах. Одна из причин этих изменений – увеличение концентрации кальция в постсинаптической клетке. Сильное увеличение концентрации запускает каскады вторичных посредников, что ведет к образованию дополнительных рецепторов в постсинаптической мембране и общему увеличению чувствительности рецепторов. Более слабое увеличение концентрации дает обратный эффект – уменьшается количество рецепторов, падает их чувствительность. Первое состояние называется долговременной потенцией, второе – долговременной депрессией. Продолжительность таких изменений – от нескольких часов до нескольких дней (Николлс Дж., Мартин Р., Валлас Б., Фукс П., 2003).
Когда Дональд Хебб формулировал свое правило, о пластичности синапсов было известно совсем немногое. Когда создавались первые искусственные нейронные сети, они использовали идею о возможности синапсов менять свои веса как ключевую. Именно плавная настройка весов позволяла нейронным сетям адаптироваться к поступающей информации и выделять в ней какие-либо общие свойства. Постоянно упоминаемый мною «нейрон бабушки» — это прямое следствие идеи настройки синаптических весов под характерный стимул.
Позже, когда пластичность реальных синапсов стала изучена лучше, оказалось, что в ней мало общего с правилами обучения нейронных сетей. Во-первых, в большинстве случаев изменения в эффективности синаптической передачи бесследно проходят через непродолжительное время. Во-вторых, нет никакой заметной совместности в обучении различных синапсов, то есть ничего, чтобы напоминало совместную нормировку. В-третьих, эффективность передачи меняется под действием поступающих извне сигналов и не очень понятно, как она зависит от реакции самого постсинаптического, то есть принимающего сигнал, нейрона. Добавим к этому, что, кроме всего того, реальные нейроны не работают как линейные или пороговые сумматоры.
Получилась интересная ситуация. Нейронные сети работают и показывают неплохие результаты. Многие, кто хорошо разбирается в нейронных сетях, но далеки от биологии, полагают, что искусственные нейронные сети во многом подобны мозгу. Это представление о подобии основывается на истории возникновения искусственных нейронных сетей и, соответственно, на тех представлениях о нейронах, которые существовали когда-то давно. Те исследователи, кто лучше представляет биологию мозга, предпочитают обтекаемо говорить, что многие идеи искусственных нейронных сетей навеяны механизмами работы реального мозга. Однако, стоит отдавать себе отчет о степени этого «навеивания».
Мое постоянное возвращение к «нейронам бабушки» во многом связано с попытками показать различие в понимании роли синаптической пластичности в классическом подходе и в предлагаемой модели. В классической модели изменение весов синапсов – механизм настройки нейронов на характерный стимул. Я полагаю, что роль пластичности синапсов совсем иная. Возможно, что синаптическая пластичность в нейронах реального мозга отчасти связана с механизмами настройки контекстных корреляций.
Отличие контекстных карт от карт Кохонена
Пространственная организация в нейронных сетях обычно ассоциируется с самоорганизующимися картами Кохонена (T. Kohonen, Self-Organizing Maps).
![](https://habrastorage.org/getpro/habr/post_images/4da/d02/e64/4dad02e64e393bb60cac1ef4cd2fc1f9.gif)
Пусть у нас есть входная информация, заданная вектором x. Есть двумерная решетка из нейронов. Каждый нейрон связан с входным вектором x, эта связь определяется набором весов wj. Вначале инициируем сеть случайными малыми весами. Подавая входной сигнал, для каждого нейрона можно определить его уровень активности как линейного сумматора. Возьмем нейрон, который покажет наибольшую активность, и назовем его нейроном-победителем. Далее сдвинем его веса в сторону образа, на который он оказался похож. Более того, проделаем аналогичную процедуру для всех его соседей. Будем ослаблять этот сдвиг по мере удаления от нейрона-победителя.
![](https://habrastorage.org/getpro/habr/post_images/605/d39/d78/605d39d786dd5dbacc84e89c0d922997.png)
Здесь η(n) – скорость обучения, которая падает со временем, h – амплитуда топологической окрестности (зависимость от n предполагает, что она тоже со временем уменьшается).
Амплитуда окрестности может быть выбрана, например, Гауссовой функцией:
![](https://habrastorage.org/getpro/habr/post_images/11c/114/cbe/11c114cbea52b50b57a5f742406bcf1c.png)
Где d – расстояние между корректируемым нейроном j и нейроном-победителем i.
![](https://habrastorage.org/getpro/habr/post_images/2f0/ba4/c74/2f0ba4c7461aee3249b722ed18e8f59c.png)
Функция Гаусса
По мере обучения на такой самоорганизующейся карте будут выделяться зоны, соответствующие тому, как распределены обучающие образы. То есть сеть сама определит, когда во входном потоке встретятся похожие друг на друга картины, и создаст для них близкие представительства на карте. При этом, чем сильнее будут различаться образы, тем более обособленно друг от друга будут расположены и их представительства. В итоге, если соответствующим образом раскрасить результат обучения, то он будет выглядеть примерно так, как показано на рисунке ниже.
![](https://habrastorage.org/getpro/habr/post_images/07c/2f7/c76/07c2f7c7639f64480981b0f3eb8d33b7.gif)
Результат обучения карты Кохонена
Результат обучения карты Кохонена после раскраски может оказаться внешне похож на расстановку контекстов, полученную их перестановкой. Эта похожесть не должна вводить в заблуждение. Речь идет о разных вещах. Карты Кохонена основаны на адаптации весов нейронов к подаваемым признаковым описаниям. Это, по сути, все те же «нейроны бабушки». Подаваемая информация «лепит» из нейронов детекторы неких усредненных «бабушек». В центрах окрашенных областей получаются более-менее похожие на что-то «бабушки», ближе к границам областей формируются «бабушки-мутанты». Там оказываются гибриды соседних «бабушек», «дедушек», «кошечек» и «собачек».
При попытке примерить карты Кохонена к реальному мозгу возникает существенная проблема. Это известная дилемма «стабильности-пластичности». Новый опыт меняет портреты «бабушек», заставляя всех соседей «бабушки-победительницы» изменяться в ее сторону. В результате, сеть может менять свою организацию, затирая ранее полученные знания. Чтобы стабилизировать сеть, скорость обучения приходится уменьшать со временем. Но это приводит к «окостенению» сети и невозможности продолжать обучение. В нашей самоорганизации перестановка контекстов не нарушает их целостности. Контексты перемещаются на новое место, но при этом сохраняют нетронутой всю хранящуюся в них информацию.
В следующей части я расскажу про пространственную самоорганизацию в реальной коре и постараюсь показать, что многое из того, что наблюдается экспериментально, может найти объяснение именно в нашей модели.
Алексей Редозубов
Логика сознания. Вступление
Логика сознания. Часть 1. Волны в клеточном автомате
Логика сознания. Часть 2. Дендритные волны
Логика сознания. Часть 3. Голографическая память в клеточном автомате
Логика сознания. Часть 4. Секрет памяти мозга
Логика сознания. Часть 5. Смысловой подход к анализу информации
Логика сознания. Часть 6. Кора мозга как пространство вычисления смыслов
Логика сознания. Часть 7. Самоорганизация пространства контекстов
Логика сознания. Пояснение «на пальцах»
Логика сознания. Часть 8. Пространственные карты коры мозга
Логика сознания. Часть 9. Искусственные нейронные сети и миниколонки реальной коры
Логика сознания. Часть 10. Задача обобщения
Логика сознания. Часть 11. Естественное кодирование зрительной и звуковой информации
Логика сознания. Часть 12. Поиск закономерностей. Комбинаторное пространство
Логика сознания. Часть 13. Мозг, смысл и конец света