Virtual Laboratory Wiki
Advertisement

© Михаил Нетов, 2009

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



Описание документа (версия 0.8 от 06 марта)

Здесь описаны требования к элементам сети НТМ и ее окружения, которые должны поддерживаться в среде моделирования НТМ_Лаб. Описываются основные категории таких элементов и связи между ними.

Сеть НТМ

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

Кроме Узлов и Слоев НТМ имеется еще ряд вспомогательных элементов, обеспечивающих работу НТМ. Среди них можно назвать:

  1. Источники исходной информации - поставщики исходных данных для первого слоя НТМ
  2. Эффекторы - передатчики информации из НТМ "вовне". Например на "мышцы" или отображение выявленных категорий (аналитика работы НТМ)
  3. Инстинкты (Базовые программы) - объекты обеспечивающие некоторые встроенные реакции в сети НТМ на некоторые ситуации (инстинкты и т.п)

Возможно потребуется введение еще некоторых классов объектов для обеспечения моделирования "разумного" поведения живых существ.

( Кроме этого в НТМ_Лаб есть еще вспомогательные элементы - Аналитики, предназначенные для локальной обработки и отображения Информации. Они обсуждаются в разделе Визуальное представление НТМ в НТМ_Лаб )

Общие требования к объектам НТМ

  1. Вся сеть и отдельные ее объекты должны иметь возможность в любой момент времени и состояния (обучение, распознавание, работа, пауза, ...) сохраняться в файл и восстанавливаться из файла вызовом стандартной функции.
  2. Желательно (очень желательно) иметь возможность запускать исполнение отдельных объектов НТМ на разных ядрах многоядерных процессоров или\и на многих компьютерах в скоростной локальной сети.
  3. Внутри отдельных классов объектов (узлы, источники, ...) должно быть легко создавать новые разновидности таких объектов или модифицировать алгоритмы работы существующих. (Дополняемость)


Слои НТМ

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

Координаты на Слое. Для позиционирования элементов на Слое на нем существуют начало координат, оси Х и У и метрика расстояния. Позиция Объекта на слое определяется точкой его условного центра.

Операции с элементами НТМ на Слое:

  1. Размещение
  2. Позиционирование
  3. Удаление

Узлы НТМ

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

Алгоритмы для выделения важных паттернов из входного потока может быть множество: от повторяемости до сигнала от вышестоящего узла о важности текущего(\предыдущего) паттерна. Несколько типовых алгоритмов с изменяемыми параметрами должно быть сразу реализовано в НТМ_Лаб. Остальные должны легко добавляться (расширяемость).

Насчет алгоритмов выделения важных последовательностей - полностью аналогично.

Основными входами\выходами узлов являются расширяемые одномерные вектора (или представляющие их 2-х мерные регионы) с вероятностями событий, возможно закодированные от 0 до 255.

Связи между узлами

НТМ_Лаб должна поддерживать создание\редактирование связей (прямых и обратных) как между отдельными узлами сети НТМ так и между группами узлов по заданному сценарию (один в один, каждый с каждым и так далее)

Источники информации

Источники информации призваны поставлять исходную информацию в сеть НТМ.

Обычно они поставляют ее узлам первого уровня, но не запрещено и на другие уровни.

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

Типовыми источниками информации являются:

  • векторные данные из файла
  • визуальные данные
  • программируемые преобразователи в вектора или поверхности исходной информации.

Базовые реакции (инстинкты)

Инстинкты должны обеспечивать заранее запрограммированную реакцию на ту или иную ситуацию в НТМ.

Инстинкты принимают сигналы от Узлов НТМ, распознают их и выдают (если нужно)(по настраиваемому алгоритму) некоторые Реакции. Реакциями может быть активация\подавление Узлов, сигнал Внимание (Важно), боль, радость, и так далее.

Эффекторы

Эффекторы принимают выходной вектор вероятности от узлов НТМ, что-то с ним делают и передают далее (т.е. производят некоторый эффект).

В настоящий момент поддерживается два основных типа эффекторов:

  • запись информации в файл или накопление статистики.
  • передача некоторых команд (по отдельно заданному алгоритму) на внешние устройства.
Advertisement