5. Система построения и исследования нейронных сетей СПИНС.
5.1. Актуальность системы.
Для моделирования на ЭВМ компонентов УС, сконструированных из нейронов, была осознана необходимость в специальном инструменте, позволяющем с помощью удобного графического интерфейса создавать библиотеки шаблонов блоков, строить сети из блоков, построенных по шаблонам, и просчитывать сеть с возможностью просмотра промежуточных состояний сети, сбора и анализа статистики о работе сети в целях отладки. При создании (или выборе) инструмента использовались следующие критерии:
открытость, или спецификация и реализация (generic) интерфейса и (процедур обработки) форматов данных, позволяющие проводить модификацию и наращивание функциональности системы не затрагивая ядра системы и с минимальными затратами на модификацию связанных компонент, другими словами, минимизация связей между компонентами;
гибкость, возможности по конструированию как можно большего числа классов формальных моделей нейронов и сетей под самые различные приложения от моделей УС спутников и космических аппаратов до систем поддержки принятия решений и систем предсказания курса ценных бумаг;
многоплатформенность, максимальная независимость от операционной системы;
удобство и приспособленность к моделированию именно систем ААУ, простота в использовании и способность эффективно работать на относительно слабых ресурсах ЭВМ (класса персональных компьютеров), дешевизна.
Анализ имеющихся в наличии или доступных систем САПР и других систем (например, LabView или систем с классическими НС), тем или иным образом удовлетворяющих первым трем критериям, показал, что все они являются либо тяжеловесными, либо слишком дорогими, либо очень плохо приспособлены к моделированию систем ААУ и ОУ с формальной моделью нейрона, изложенной в разделе “Аппарат ФРО” или к работе с сетями, состоящими из тысяч нейронов. Таким образом, возникла необходимость в инструменте для научно-исследовательских целей, который бы позволял проверять идеи ААУ и создавать прототипы УС на НС.
5.2. Общая концепция системы.
Рис. 5.1. Общая схема ядра СПИНС.
На приведенной схеме (рис 5.1) указаны основные классы объектов ядра системы и их взаимодействие. Стрелками показаны потоки данных при работе системы. Каждому из основных блоков УС соответствует свой блок в системе. Четыре блока: ФРО, БЗ, БОС и БПР составляют УС. Напомним, что в подразделе “Формализация НС” раздела 1 мы определили такие понятия как блок, выходная функция блока, шаблон, нейронная сеть и формальная модель нейрона. Из формальной модели НС следует, что блок – это иерархическая структура, в которой элементы одного уровня соединены в сеть и каждый из элементов уровня может быть сетью, состоящей из элементов более низкого уровня. Рассматривая выбранный элемент какого-нибудь уровня, можно считать его “черным ящиком”, т.е. абстрагироваться от его содержимого и внутреннего устройства. Например, можно на некотором промежуточном этапе конструирования УС абстрагироваться от нейро-сетевой реализации какого-либо блока верхнего уровня и попробовать различные реализации, причем необязательно нейросетевые. Система не накладывает ограничений на внутреннее устройство каждого блока, поэтому оно может не иметь внутренней иерархии, а просто представляться некоторой функцией выхода. Далее, в процессе развития УС, содержимое отдельных блоков может поменяться, возможно стать более сложным и иерархическим, при этом поведение системы не изменится, если новое содержимое обеспечивает функциональность старого в смысле эквивалентности выходных функций. Таким образом, облегчается разработка системы, т.к. появляется возможность конструирования “сверху вниз”, нет необходимости реализовывать блок сразу через НС, можно поставить временную “заглушку”, а в процессе развития системы усложнять, дополнять или заменять на совершенно иную внутреннюю конструкцию блоков.
Помимо указанных блоков, в систему входят еще два важных класса объектов: конструкторы сети и анализаторы работы сети. Первые, как видно из названия, предназначены для создания рабочих копий НС в памяти компьютера по различным источникам, например по спецификации сети из файла. Собственно, для каждого источника и создается свой объект. (Следует отличать данные объекты от конструкторов сетей, предназначенных для создания с помощью ГИП файлы спецификации сетей; эти конструкторы в ядро СПИНС не входят). Спецификация сети может ссылаться на шаблоны блоков из библиотеки, которые, таким образом, также могут являться источником для конструкции. Анализаторы нужны при отладке сетей. Дело в том, что сети могут содержать тысячи и десятки тысяч элементов (принципиальных ограничений нет,имеют место ограничения только по памяти и производительности компьютера), работу которых одновременно проследить просто невозможно, особенно если временной интервал работы составляет сотни и более тактов. Поэтому необходимо как-то обобщать информацию о состоянии сети (которое есть совокупность состояний каждого элемента) в каждый момент времени и выдавать пользователю суммарную информацию, возможно, с некоторой детализацией по усмотрению пользователя. Для такой задачи и нужны специальные объекты – анализаторы. Эти объекты могут сохранять историю состояний выбранных элементов в выбранные интервалы времени и впоследствии ее анализировать, т.е. определять статистического рода информацию. Каждый объект решает эту задачу по-своему и может быть выбран в зависимости от рода необходимой информации о работе сети.
Отметим здесь на наш взгляд очень полезную классификацию объектов на инструменты и материалы [СтатьяИнстрМатериалы]. Материалами называются объекты, являющиеся своего рода контейнерами информации и содержащие методы только для накопления и несложных преобразований этой информации. Инструментами называются объекты, предназначенные для обработки материалов, т.е. для более интеллектуальных и сложных преобразований той информации, которую хранят объекты - материалы. Таким образом, с точки зрения этой классификации, мы считаем нейронные сети (блоки) материалами, а конструкторы и анализаторы – инструментами. Следует не путать эти инструменты-объекты с инструментами–приложениями, являющимися надстройками над ядром.
В реализации программы мы существенно использовали идеи объектных шаблонов из [Gamma]. Далее, в описании реализации системы мы будем использовать русскоязычные аналоги терминов, введенных в [Gamma], поэтому, чтобы не возникло путаницы, отметим, что Фабрика соответствует Factory, объектные шаблоны – design patterns, Синглетон – Singleton, Chain of Responsibility – Цепочка Обработчиков. Названия классов объектов будут выделены курсивом и начинаться с заглавной буквы. Отметим, что идея шаблонов в программировании и computer science оказалась весьма плодотворной и слово “шаблон” здесь мы используем в трех различных смыслах: объектный шаблон (design pattern), просто шаблон (в смысле определения 1.x.5) и C++ - шаблон (template).
Мы опишем только реализацию ядра системы. Следование принципам открытости предполагает закладывание возможности развития системы через добавление надстроек над ядром (рис. 5.2). Мы, по возможности, старались следовать данному принципу. В частности, одним из направлений развития мы видим создание конструкторов библиотек шаблонов (а, следовательно, и сетей) с помощью ГИП. Предполагается, что выходным продуктом этих конструкторов будут файлы спецификации шаблонов, с которыми уже умеет работать ядро, из которых и будут формироваться библиотеки шаблонов. Далее, можно было бы создать трехмерный визуализатор БЗ (об этом далее), также мы считаем, понадобится отдельный инструмент для конструирования самих БЗ, а, возможно, при определенном уровне сложности блоков УС, и для каждого из них по отдельному инструменту, которые бы учитывали в полной мере специфику блоков УС.
Рис. 5.2.
... , бистабильность восприятия. В дальнейшем планируется разработка программных моделей более сложных нейронных сетей и их комбинаций с целью получения наиболее эффективных алгоритмов для задачи распознавания образов. Литераура. 1.Горбань А.Н.,Россиев Д.А..Нейронные сети на персональном компьюере. 2. Минский М.Л.,Пайперт С..Персепроны.М.: Мир.1971 3. Розенблатт Ф.Принципы ...
... того привлекает огромный запас контекстных знаний, который системам распознавания образов пока недоступен. 7. Заключение Дан обзор различных нейросетевых методов распознавания изображений. Рассмотрены достоинства и недостатки этих методов при распознавании двумерных и трёхмерных объектов. Указаны проблемы при распознавании трёхмерных объектов. Выделены перспективные направления в распознавании ...
... в популяциях, которые являются существенными для развития. Точный ответ на вопрос: какие биологические процессы существенны для развития, и какие нет? - все еще открыт для исследователей. Реализация генетических алгоритмов В природе особи в популяции конкурируют друг с другом за различные ресурсы, такие, например, как пища или вода. Кроме того, члены популяции одного вида часто конкурируют ...
... на дипломное проектирование. Необходимо разработать программу регистрации процеса производства партий полупроводниковых пластин для использования в автоматизированной системе управления. Программа должна обеспечивать контроль и регистрацию производственного процесса производства партий пластин. Вести учет за прохождением партий полупроводниковых пластин по технологическому маршруту. Разработку ...
0 комментариев