Представляю на рассмотрение хабрапользователей модель нейронной сети, разработанную для решения задачи адаптивного поведения (и её подзадач: распознавания и прогнозирования последовательностей).
Предисловие
Вхождение в данную область (ИИ и соседние) мною осуществлено было случайно: статья на досуге, другая, третья, книга, еще парочка книг, монография, ну и так далее. По мере движения от популярной литературы до текущих академических публикаций меня не отпускала мысль “почему они делают это так не правильно?” (замашки на ИИ и адаптивные системы поскромнее). Тогда я считал, что основополагающие идеи, которые они закладывают в свои модели неверны (не ведут к тем результатам, на которые надеется автор). Знакомство с “неверными” моделями продолжилось, негодования копились. Гораздо позже я нашел “верные” идеи в чужих работах, но было уже поздно, идея сформировалась — накопленные мысли нужно объединить в одну модель. О ней и пойдёт речь.
Введение
Статья разделена на две большие части: теория и реализация WTM.
Понятие адаптивность
Адаптивностью будем называть способность системы управления (СУ) некоторого автономного объекта добывать знания о свойствах системы «среда — объект управления — система управления», накапливать эти знания в своей памяти и использовать эти знания для целесообразного управления объектом управления (ОУ).
Уточнения области
Источник. Прежде всего, речь пойдёт об объектах, обладающих СУ – специализированной подсистемой, работающей с информацией. Во-первых отсеиваем «адаптивные» машины без систем управления, но с ручкой переключения опций, обеспечивающих заранее известное изменение свойств в предусмотренных ситуациях. Во-вторых, отсеиваем неавтономные СУ, в которых все знания заложены изначально, кем-то извне машины, или когда при управлении имеется возможность доступа к знаниям вне ОУ; мы говорим только о машинах, способных добывать знания для управления на своем опыте. В-третьих, мы отсеиваем машины, работающие с произвольно заданными целевыми функциями; например, ракета, которая должна долететь куда следует и там взорваться – это не подходящий объект, потому что в природе таких объектов, изначально нацеленных на самоуничтожение или вообще – на выполнение кем-то поставленных целей, нет, системы управления такими объектами могут быть устроены любым способом – ad hoc. Напротив, всем живым организмам присуще стремление к выживанию за счет использования при управлении накопленных ими же знаний. Наконец, поясним, чем же именно должна управлять система управления. Нервная система живых организмов управляет не просто телом организма, но телом, погруженным в окружающую среду, т.е. всем тем миром, что находится за пределами ее самой, и даже более того – миром, в который включена и сама эта нервная система, потому что при управлении она предусматривает и свои собственные будущие реакции.
Существующие модели
Большой список моделей и смежной информации под обобщенным названием когнитивные модели можно посмотреть тут и тут.
Принципы адаптивного поведения
Для себя я выделил минимальный набор принципов, необходимых СУ для того, называться адаптивной.
- СУ должна непрерывно адаптироваться к событиям внешней среды.
- СУ должна иметь минимальный набор врожденных поведенческих актов или рефлексов. Отталкиваясь от данного набора СУ начнет процесс адаптации.
- СУ должна иметь способность обобщать имеющийся у неё опыт на другие ситуации среды.
Теоретическая часть
В качестве рабочего примера будем рассматривать задачу адаптивного поведения. По ходу текста аббревиатура WTM употребляется в смысле “экземпляр модели волновой временной памяти”.
Адаптация
Принцип непрерывной адаптации означает, что с течением времени целесообразность реакций СУ должна увеличиваться. Тут мы встаем перед развилкой, которую необходимо рассмотреть поподробнее. Процесс “увеличения целесообразности” различается для активных и реактивных СУ.
В активных системах имеется элемент, ответственный за оценку её функционирования. Он содержит в себе критерии целесообразности, по которым оцениваются действия совершаемые СУ. На основе этих оценок производится принятие решений и изменение поведения системы для увеличения показателей целесообразности.
Отличие реактивных моделей состоит в том, что блок оценки поведения в них отсутствует. Из-за этого достижение увеличения целесообразности поведения в таких системах невозможно теми же средствами, что и в активных. А поэтому необходимо использовать другие пути достижения целесообразности.
Для лучшего понимания этого различия рассмотрим подробнее определение адаптивности. Оно может быть разделено на две части:
- В процессе функционирования СУ непрерывно увеличивает покрытие множества событий среды целесообразными реакциями.
- В процессе функционирования СУ непрерывно заменяет существующие реакции на другие, более целесообразные
По первому пункту между активными и реактивными системами нет никаких различий. В обоих случаях увеличение покрытия сводится к обобщению имеющегося опыта на новые ситуации среды. Разница заключается во втором пункте. На него реактивные системы принципиально не способны, так как не могут оценивать целесообразность действий.
Существует два альтернативных пути достижения целесообразности.
- выбор такого начального набора поведенческих актов, после обобщения которого основные для ОУ ситуации среды имели бы целесообразные реакции.
- обучение СУ целесообразному поведению через внешнюю среду (воспитание). В данном случае среда выступает в роли активного агента, выстраивающего свои воздействия на ОУ так, чтобы у него формировались требуемые модели поведения.
Хотя оба метода преследуют одну цель они сильно отличается как по необходимым действиям, так и по трудозатратам.
Первый метод применяется для создания набора реакций. Общий алгоритм:
- Провести глубокий анализ будущей среды обитания ОУ, с целью выявления ключевых ситуаций, требующих целесообразных реакций.
- Подобрать для найденных ситуаций подходящие реакции.
- Создать экземпляр реактивной системы, у которого набор базовых реакций состоял из полученных пар ситуация-реакция.
Второй метод применяется для создания одной реакции. Общий алгоритм:
- Необходимо чтобы разработчик создал комплексный стимул, реакцией на который было бы искомое поведение
- В процессе функционирования, при наступлении необходимой ситуации разработчик должен воздействовать на ОУ созданным стимулом, чтобы СУ осуществил требуемую реакцию.
- Повторять пункт 2 до закрепления эффекта
Плюсом второго метода является то, что он может быть использован в любой момент роботы СУ, тогда как первый метод может быть применен только на этапе создания экземпляра модели. Условие работы второго метода – разработчику должен быть известен набор реакций СУ
Обучение
Обучение в WTM — процесс, состоящий из двух частей: выделение закономерностей среды и сохранение последовательности реакций СУ на эти закономерности. Иначе, обучение — это процесс накопления пар вида [закономерность среды — реакция].
Закономерность среды — часто повторяющаяся последовательность сигналов среды. Необходимая для запоминания частота повторения последовательности закладывается в WTM разработчиком на этапе создания системы (точнее далее, в пункте “Реализация”).
Сохранение последовательностей реакций СУ
Для их сохранение используется механизм ассоциативных связей.
Ассоциативная связь – явление, при котором активность одного элемента памяти (ЭП) вызывает активацию другого ЭП. Будем обозначать А > B, где А и В – элементы памяти. Ассоциативный переход — процесс реализации ассоциативной связи. Для ассоциации А > B ассоциативный переход означает начало активности В после активности А.
Элемент памяти (ЭП) — узор (или паттерн) нейронной активности сети. Активация может происходить в ответ на сигнал среды, а также из-за ассоциативного перехода. Необходимо заметить, что всякая реакция нейронной сети является ЭП, но не всякий ЭП является реакцией сети. Под активностью ЭП будем понимать, активность входящих в него нейронов.
Сила ассоциативной связи — численная величина характеризующая способность ассоциативной связи активировать свой конечный ЭП. Для ассоциации A > B силой связи будет способность A > B активировать В. Принимает вещественные значения в диапазоне [0, 1], и означает отношение количества активировавшихся нейронов В к количеству всех нейронов В. Величина в реализации не использующаяся, но для понимания модели необходимая.
Процесс сохранение последовательностей реакций СУ состоит в непрерывном создании ассоциативных связей между последовательными реакциями сети на сигналы среды. При создании ассоциативной связи ей присваивается начальное значение силы связи. При каждом повторном появлении ЭП сила ассоциациативной связи возрастает в соответствии с функцией запоминания.
Выделение закономерностей
Выделение закономерностей основывается на взаимодействии функций запоминания и забывания. WTM запоминает всё подряд. Чем чаще закономерность встречается, тем сильнее она становится (тем сильнее ассоциативные связи в её составе). Одновременно с этим происходит забывание закономерностей. Чем реже встречается закономерность, тем слабее она становится (тем сильнее ассоциативные связи в её составе). Из соотношения функций запоминания и забывания следует какие ассоциации останутся в памяти, а какие забудутся.
Здесь будет не лишним привести пример соотношения функций запоминания и забывания. Рассмотрим два крайних случая. Первый случай – запоминание преобладает над забыванием. Данный случай ведёт к:
- предельно детализированному запоминанию закономерностей
- наивысшей скорости заполнения памяти
Во случае преобладания забывания над запоминанием всё с точностью до наоборот:
- запоминаются только самые общие закономерности
- скорости заполнения памяти минимальная
На текущий момент выбор подходящих функций запоминания и забывания является одним из важнейших этапов создания экземпляра WTM, так как в текущем состоянии WTM имеет ограниченный размер памяти и не имеет механизмов для его увеличения.
Базовые поведенческие акты
В базовом наборе реакций помимо реакций обеспечивающих целесообразность должен быть ещё один класс реакций – функциональный базис системы. Элементы функционального базиса соответствуют базовым поведенческим актам ОУ (поднять голову, согнуть первый палец во второй фаланге и т.д.). Все поведение будет представлять из себя комбинацию базовых поведенческих актов (только их).
На уровне нейронной сети элементы функционального базиса являются последовательностями ЭП. Для них подбираются подходящие воздействия среды. После этого мы получаем множество пар [закономерность среды — реакция], соответствующих выбранному функциональному базису.
Поведение в реактивных моделях
Во многих источниках отображено представление о реактивных системах, как о реализациях принципа [стимул -> реакция]. В таких системах считается, что стимул и реакция разделены минимальным промежутком по времени (читай время на прохождение рефлекторной дуги или аналогичных конструкций). Такое их определение следует из основного принципа реактивных систем – детерминированности. Однако, оно не совсем верно. Более точная схема выглядит так [стимул -> внутренняя реакция; детерминированная смена внутренних состояний; внутреннее состояние -> внешняя активность (слово реакция заменена активностью потому что в такой системе поведение зависит от многих стимулов, а не от одного)] (см.рис.1). Отличие этого определения в наличии у модели внутреннего состояния. Распространение сигналов также представляет из себя строго детерминированный процесс, однако СУ больше не представляет из себя автомат с мгновенными ответными реакциями на стимулы. В такой модели стимул может как иметь внешнюю реакцию, так и не иметь. Также стимул и внешняя реакция могут быть отдалены друг от друга во времени на большое расстояние. Нейронные сети (WTM в частности) принадлежат именно к такому классу систем (подразумеваются динамические нейронные сети).
Первая часть схемы (рис.1.б.1), внутренняя реакция в WTM – просто реакция сети на стимул. За вторую часть схемы (рис.1.б.2) ответственен механизм ассоциаций. На каждом такте работы WTM имеет некоторое состояние. Для данного состояния могут иметься подходящие ассоциативные связи. Тогда процесс детерминированной смены состояний – это процесс непрерывного перехода по ассоциативным связям. Иначе говоря, это процесс воспроизведения ранее запомненных закономерностей. Третья часть схемы (рис.1.б.3) следует из второй. Внешняя активность будет иметь место если в воспроизводимых закономерностях была внешняя активность.
Обобщение
Обобщение – процесс переноса поведенческой реакции с одного события среды на другое событие, которое является абстракцией первого (абстракция — объект, у которого отсутствует набор свойств в сравнении с другим объектом (его называют оригиналом, или частным случаем).
Как мы уже знаем последовательности реакций СУ хранятся в WTM в виде цепочек ЭП, связанных ассоциативными связями. Тогда в терминах WTM абстракция закономерности – это цепочка из ЭП и ассоциативных связей, в которой исходные ЭП и ассоциации заменены их абстракциями.
Абстракция ЭП — это ЭП, из множества нейронов которого была изъята часть нейронов. Абстракция ассоциативной связи — это ассоциативная связь между абстракциями ЭП. Сила Абстракции ассоциативной связи может быть меньше или равна силе исходной АС.
Получаем, что ввиду принципа построения нейронных сетей (один нейрон — одно свойство) абстракции ЭП и АС являются частью исходных ЭП и АС. Потому для того чтобы произошло обобщение необходимо чтобы ЭП в новой цепочке были достаточно близки к ЭП в обобщаемой. Подробнее о “достаточной близости” будет рассказано далее.
Из-за такой интегрированности принципа обобщения в нейронные сети получается, что в WTM оно не присутствует в виде отдельного механизма, а лишь является частью процесса распространения сигналов по сети.
Устойчивость распознавания к деформациям. Ситуативный контекст
Запомненные последовательности реакций имеют в своем составе ассоциативных связи с разными значения силы связи. Крайний случай — закономерность имеющая все силы равные 1. Она будет идеально воспроизводиться всего от появления 1 её элемента. Однако это крайний случай. Для последовательностей “средней полосы” характерна другая ситуация. Они способны эффективно воспроизводиться только если события среды будут точно им соответствовать.
То есть для нормального использования запомненных последовательностей текущие должны совпадать с ними такт в такт. Такое положение дел никуда не годится и потому в WTM имеется механизм ситуативного контекста. Описанная проблема — не единственная. Основных видов деформации 3:
- изменение порядка событий в последовательности.
- появление между соседними элементами последовательности новых событий.
- пропуск элементов последовательности
Итак, механизм ситуативного контекста. Он состоит из двух частей:
- модифицируем каждый ЭП, добавляя к нему его контекст
- изменяем соотношения функций запоминания и забывания в сторону усиления забывания. Тем самым заставляем WTM запоминать меньше деталей. Компенсация размера ЭП.
Ситуативный контекст — сжатая характеристика близлежащих событий. Какой интервал времени считается близлежащим определяет разработчик. Можно представить его себе как временное хранилище, из которого на каждом такте WTM извлекается информация о самом старом событие, и добавляется информация о новом.
Контекст не сильно зависит от порядка событий (зависит от реализации). Таким образом, для успешного ассоциативного перехода (читай успешного распознавания) необходимо не повторение большего количества деталей в текущем ЭП, но повторении тех же предшествующих событий.
Для последовательностей это значит, что чем дальше зашло воспроизведение последовательности, тем больше шансов, что воспроизведение продолжится.
Инертность
Механизм ситуативного контекста увеличивает инертность распознавания WTM. Под инертностью распознавания понимается тенденция WTM продолжать распознавание закономерностей.
Контекстные группы
В зависимости от отношения размеров контекста и исходного ЭП свойства WTM сильно различаются. Если выбранный размер ситуативного контекста больше размера ЭП, то поведение WTM будет более инертным. Поведение WTM будет состоять по большей части из последовательностей реакций имеющих в своем составе элементы текущего контекста (если интервал охвата контекста велик, то скорость его изменения мала, а отношение изменений к общему размеру незначительно). Таким образом, можем говорить, что последовательности реакций разделены на группы по общему ситуативному контексту. Разделение на группы поддерживается еще и тем фактом, что при воспроизведении последовательности реакций из некоторой группы мы добавляем эту закономерность в контекст, тем самым обновляя его, поддерживая в том же состоянии.
Реализация
Для всех понятий рассматриваемых в теоретической части будут даны описания их реализации в терминах нейронных сетей.
Общая структура
- WTM — многослойная нейронная сеть с импульсными нейронами.
- В сети имеются как прямые, так и обратные связи.
- Характер связей между слоями локальный (т.е. не полносвязный) как в прямом, так и в обратном направлении.
- Работа сети разделена на такты. За один такт принято распространение сигнала между соседними слоями сети.
- Слои имеют целочисленные номера начиная с 1.
- Между нейронами задано расстояние равное расстоянию между слоями, содержащими эти нейроны.
- Сеть принимает входные сигналы через заданный период времени T (периода работы сети) Т измеряется в тактах.
- Сигналы подаются на сеть с заданной периодичностью Tinput тактов. Tinput кратно T.
- В WTM используются модифицированные импульсные нейроны. Функция активации нейронов пороговая. При превышении порогового заряда нейрон переходит в активное состояние. Длительность активного состояния 1 такт.
А сейчас немного определений.
Из-за схожести процесса распространения сигналов по сети с волнами модель получила часть своего названия — волновая. Часть “временная память” была заимствована из HTM (временной иерархической памяти) Джеффа Хокинса из-за сходства между моделями
В теоретической части ЭП представлен, как статичная объект. Для понимания WTM такой подход годиться. В реализации WFM ЭП является динамическим объектом. То ЭП протяжен во времени, и в любой момент его периода длительности активна только часть ЭП.
ЭП в процессе их распространения по сети будем называть волнами. “Фронт волны” (слой с нейронной активностью) и есть та самая, активная часть ЭП.
Запоминание ЭП
Запоминание ЭП осуществляется с помощью правила синаптической пластичности Хебба. Правило Хебба гласит, что если активность одного нейрона участвует в возбуждении другого нейрона, то сила синаптической связи между ними должна увеличиться.
Ассоциативная связь
АС между ЭП создаются с помощью обратных связей присутствующих в сети. АС связывает две последовательные волны активности. Для этого длина обратных связей выбирается равной Т/2 (периода работы сети). Синаптические связи составляющие АС также подчиняются правилу Хебба. Процесс образования АС:
- на входные нейроны поступил сигнал, вызвал распространение волны активности
- через время Т поступил второй сигнал, вызвал распространение волны активности
- от первой волны сигнал по обратным связям движется в направлении второй волны
- через время равное Т/2 от появления второй волны сигнал от первой волны и вторая волна будут находиться в слое с номером Т/2
- сигнал от первой волны участвует в активации нейронов слоя Т/2.
- происходит настройка синоптических связей по правилу Хебба
- Данный процесс происходит на всем протяжении сети
Если второй волны не будет, активность следом за первой волной будет создавать только она сама. В теоретической части это называлось ассоциативным переходом (а также распознаванием). Нейронная активность, которая появилась в результате ассоциативного перехода в теоретической части называлась ЭП созданным ассоциативной связью.
Сила ассоциативной связи. На уровне реализации это численная величина, характеризующая способность одной волны активности посредствам своих обратных связей воссоздавать другую волну. Процесс сохранения последовательностей реакций состоит в непрерывном создании ассоциативных связей между последовательными волнами активности, а также сохранении самих волн.
Функция запоминания – функция, в соответствии с которой увеличиваются значения весовых коэффициентов в процессе их настройки. Зависит от текущего значения веса синапса. Функция забывания – функция, в соответствии с которой уменьшаются значения весовых коэффициентов с течением времени. Зависит от текущего значения веса синапса.
Поведение
Обобщение — процесс переноса поведенческой реакции с одного события среды на другое событие, которое является абстракцией первого. На уровне нейронной сети это означает сохранение силы ассоциативных связей некоторой закономерности на достаточном уровне, при замене её элементов памяти на некоторые их абстракции.
Ситуативный контекст
Ситуативный контекст — сжатая характеристика близлежащих событий, которая добавляется к текущему ЭП для увеличения качества обобщения закономерностей. Для его реализации вводится дополнительный механизм работы нейронов — снижение порога активации.
Механизм снижения порога активации: после пребывания нейрона в активном состоянии порог активации нейрона должен быть уменьшен. С течением времени величина порога возвращается к начальному значению. Уменьшение происходит в соответствии с функцией уменьшения порога. Значение функции зависит от текущего значения порога.
Рассмотрим пример. Пусть на WTM с механизмом снижения порога подали последовательности сигналов. После каждой волны часть нейронов будет уменьшать порог активации. Это приведет к тому, что в следующих волнах будет активность, которой бы не было без уменьшения порога. Эта активность и будет нашей сжатой характеристикой ситуации.
Главное — это то, что при повторении тех же сигналов добавочная активность также будет повторяться.
Данная реализация механизма контекста была выбрана из-за её простоты и одного побочного эффекта, который соответствует цели внедрения механизма контекста как такового.
Собственно эффект: после распространения некоторой волны по WTM её повторное распространение упрощается. Более того упрощается распространение волн имеющих в своем составе те же нейроны (читай из той же контекстной группы). Этот эффект можно назвать кратковременной памятью WTM. Он соответствует цели внедрения механизма контекста – увеличению инертности распознавания.
План создания экземпляра WTM
- Исходя из поставленных перед WTM задач выделить события среды, требующие внешние реакции.
- Выделить функциональный базис WTM.
- Подобрать адекватные (целесообразные) реакции. Эти реакции будем называть базовыми.
- Создать WTM соответствующий выбранному набору базовых реакций.
- Провести дополнительное обучение WTM с помощью воздействий на ОУ через среду.
Заключение
На текущий момент это почти полное описание WTM. Дальнейшние направления работы:
- тестовые приложения модели (они были и ранее, но после этого модель претерпела изменения, так что всё по-новой).
- определение закономерностей выбора характеристик сети (длина сети, количество нейронов в слое, количество прямых и обратных связей, ...) и внутренних функций (запоминанение, забывание, уменьшение порога активации, ...). Точнее их взаимных отношений, которые давали бы сети необходимые свойста (ёмкость памяти, детализация выделяемых закономерностей, длительность хранения, уровень обобщения, ...).
- добавление функции роста сети в WTM чтобы преодолеть ограниченность объема памяти.
Буду рад конструктивной критике, и вообще знаниям и опыту по данной и смежным тематикам.