Заметим, что
.Введем совокупность образов
. (4.1)Параметр n > 0 назовем запасом на инертность среды. Смысл
состоит в том, что если обучен, в текущий момент времени распознан образ и УС выберет воздействие то с некоторой вероятностью через n шагов распознается образ . Аналогично введем образ , (4.2)смысл которого совпадает со смыслом
, с тем лишь различием, что не распознается, а вытеснится. Поскольку в конечном итоге способом управления УС является вызов определенных образов и вытеснение других, то совокупность обученных образов является материалом, способствующим достижению цели управления, то есть вызову или вытеснению определенных образов посредством выбора воздействия из множества возможных воздействий Y на каждом шаге t. Как используется этот материал будет изложено в разделе “Блок принятия решений”.Запас на инертность введен из следующих соображений. Совершенно очевидно, что бесполезно пытаться уловить закономерность вида “был распознан образ
, применили и через m шагов получили ”, где , так как среда будет просто не успевать отреагировать. Таким образом, УС может уловить закономерности со временем реакции среды не большим чем n. Аналогично, нет смысла выбирать n слишком большим, т.е. гораздо большим, чем . С другой стороны, используя синаптические задержки входных сигналов в нейроне, мы можем отловить любую закономерность со временем реакции меньшим либо равным запасу на инертность. Действительно, мы можем построить ФРО так, чтобы образы и формировались с нужными задержками , где m – время реакции среды. Заметим, что a priori нам неизвестно время реакции среды m, поэтому имеет смысл лишь выбрать параметр n для всех образов одинаковым и “наверняка” большим чем (для этого необходимо воспользоваться априорной информацией о среде).Теперь сопоставим каждому образу из ФРО некоторое число или оценку. Пусть
– выход блока оценки состояния, а – оценка образа , получающаяся по следующему алгоритму: , ,где
– некоторая “усредняющая” функция, - множество моментов времени, в которые образ был распознан. В качестве обычно берется просто среднее арифметическое .Теперь можно определить, что такое база знаний.
Определение 4.4. Назовем базой знаний совокупность сформированных образов
и совокупность оценок для всех образов ФРО.Определение 4.5. Обозначим объединение множеств всех образов (4.1) и (4.2) через
, где F – множество образов ФРО, Y – множество возможных воздействий. Назовем B пространством образов БЗ.5. Система построения и исследования нейронных сетей СПИНС.
5.1. Актуальность системы.
Для моделирования на ЭВМ компонентов УС, сконструированных из нейронов, была осознана необходимость в специальном инструменте, позволяющем с помощью удобного графического интерфейса создавать библиотеки шаблонов блоков, строить сети из блоков, построенных по шаблонам, и просчитывать сеть с возможностью просмотра промежуточных состояний сети, сбора и анализа статистики о работе сети в целях отладки. При создании (или выборе) инструмента использовались следующие критерии:
открытость, или спецификация и реализация (generic) интерфейса и (процедур обработки) форматов данных, позволяющие проводить модификацию и наращивание функциональности системы не затрагивая ядра системы и с минимальными затратами на модификацию связанных компонент, другими словами, минимизация связей между компонентами;
гибкость, возможности по конструированию как можно большего числа классов формальных моделей нейронов и сетей под самые различные приложения от моделей УС спутников и космических аппаратов до систем поддержки принятия решений и систем предсказания курса ценных бумаг;
многоплатформенность, максимальная независимость от операционной системы;
удобство и приспособленность к моделированию именно систем ААУ, простота в использовании и способность эффективно работать на относительно слабых ресурсах ЭВМ (класса персональных компьютеров), дешевизна.
Анализ имеющихся в наличии или доступных систем САПР и других систем (например, LabView или систем с классическими НС), тем или иным образом удовлетворяющих первым трем критериям, показал, что все они являются либо тяжеловесными, либо слишком дорогими, либо очень плохо приспособлены к моделированию систем ААУ и ОУ с формальной моделью нейрона, изложенной в разделе “Аппарат ФРО” или к работе с сетями, состоящими из тысяч нейронов. Таким образом, возникла необходимость в инструменте для научно-исследовательских целей, который бы позволял проверять идеи ААУ и создавать прототипы УС на НС.
5.2. Общая концепция системы.
Рис. 5.1. Общая схема ядра СПИНС.
На приведенной схеме (рис 5.1) указаны основные классы объектов ядра системы и их взаимодействие. Стрелками показаны потоки данных при работе системы. Каждому из основных блоков УС соответствует свой блок в системе. Четыре блока: ФРО, БЗ, БОС и БПР составляют УС. Напомним, что в подразделе “Формализация НС” раздела 1 мы определили такие понятия как блок, выходная функция блока, шаблон, нейронная сеть и формальная модель нейрона. Из формальной модели НС следует, что блок – это иерархическая структура, в которой элементы одного уровня соединены в сеть и каждый из элементов уровня может быть сетью, состоящей из элементов более низкого уровня. Рассматривая выбранный элемент какого-нибудь уровня, можно считать его “черным ящиком”, т.е. абстрагироваться от его содержимого и внутреннего устройства. Например, можно на некотором промежуточном этапе конструирования УС абстрагироваться от нейро-сетевой реализации какого-либо блока верхнего уровня и попробовать различные реализации, причем необязательно нейросетевые. Система не накладывает ограничений на внутреннее устройство каждого блока, поэтому оно может не иметь внутренней иерархии, а просто представляться некоторой функцией выхода. Далее, в процессе развития УС, содержимое отдельных блоков может поменяться, возможно стать более сложным и иерархическим, при этом поведение системы не изменится, если новое содержимое обеспечивает функциональность старого в смысле эквивалентности выходных функций. Таким образом, облегчается разработка системы, т.к. появляется возможность конструирования “сверху вниз”, нет необходимости реализовывать блок сразу через НС, можно поставить временную “заглушку”, а в процессе развития системы усложнять, дополнять или заменять на совершенно иную внутреннюю конструкцию блоков.
Помимо указанных блоков, в систему входят еще два важных класса объектов: конструкторы сети и анализаторы работы сети. Первые, как видно из названия, предназначены для создания рабочих копий НС в памяти компьютера по различным источникам, например по спецификации сети из файла. Собственно, для каждого источника и создается свой объект. (Следует отличать данные объекты от конструкторов сетей, предназначенных для создания с помощью ГИП файлы спецификации сетей; эти конструкторы в ядро СПИНС не входят). Спецификация сети может ссылаться на шаблоны блоков из библиотеки, которые, таким образом, также могут являться источником для конструкции. Анализаторы нужны при отладке сетей. Дело в том, что сети могут содержать тысячи и десятки тысяч элементов (принципиальных ограничений нет,имеют место ограничения только по памяти и производительности компьютера), работу которых одновременно проследить просто невозможно, особенно если временной интервал работы составляет сотни и более тактов. Поэтому необходимо как-то обобщать информацию о состоянии сети (которое есть совокупность состояний каждого элемента) в каждый момент времени и выдавать пользователю суммарную информацию, возможно, с некоторой детализацией по усмотрению пользователя. Для такой задачи и нужны специальные объекты – анализаторы. Эти объекты могут сохранять историю состояний выбранных элементов в выбранные интервалы времени и впоследствии ее анализировать, т.е. определять статистического рода информацию. Каждый объект решает эту задачу по-своему и может быть выбран в зависимости от рода необходимой информации о работе сети.