автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.06, диссертация на тему:Проектирование процедур организации управления объектами машиностроения на основе аппарата фрагментации больших нейронных сетей

кандидата технических наук
Степанов, Сергей Юрьевич
город
Москва
год
2010
специальность ВАК РФ
05.13.06
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Проектирование процедур организации управления объектами машиностроения на основе аппарата фрагментации больших нейронных сетей»

Автореферат диссертации по теме "Проектирование процедур организации управления объектами машиностроения на основе аппарата фрагментации больших нейронных сетей"

На правах рукописи

СТЕПАНОВ СЕРГЕЙ ЮРЬЕВИЧ

ПРОЕКТИРОВАНИЕ ПРОЦЕДУР ОРГАНИЗАЦИИ УПРАВЛЕНИЯ ОБЪЕКТАМИ МАШИНОСТРОЕНИЯ НА ОСНОВЕ АППАРАТА ФРАГМЕНТАЦИИ БОЛЬШИХ НЕЙРОННЫХ СЕТЕЙ

Специальность: 05.13.06 Автоматизация и управление технологическими процессами и производствами (технические системы)

АВТОРЕФЕРАТ диссертации на соискание ученой степени

кандидата технических наук 1 4 ДПР 2011

Москва 2011

4844013

Работа выполнена в ГОУ ВПО Московский государственный технологический университет «Станкин».

Научный руководитель: кандидат технических наук, профессор

Кабак Илья Самуилович

Официальные оппоненты: доктор технических наук, профессор

Барский Аркадий Бенционович кандидат технических наук Хает Илья Леонидович

Ведущая организация: ОАО «Национальный институт авиационных технологий» (г. Москва)

Защита состоится «?6у> ап/эеиЯ 20/У г. в -час. на

заседании диссертационного совета Д 212.142.03 при ГОУ ВПО Московском государственном технологическом университете «Станкин» по адресу: 127994, г. Москва, Вадковский пер., д. За

С диссертацией можно ознакомиться в библиотеке ГОУ ВПО Московского государственного технологического университета «Станкин»

Автореферат разослан «25"» 2011 г.

Ученый секретарь диссертационного совета, к.т.н., доц.

Семячкова Е.Г.

Основная характеристика работы

Актуальность тематики. Современные системы автоматизации используют методы планирования, прогнозирования, адаптивного управления и другие, для которых используются элементы искусственного интеллекта, реализованные на базе искусственных нейронных сетей. Требования к эффективности работы нейронных сетей все время растут. Главной проблемой аппаратной реализации нейронных сетей является их масштабирование. Программно реализованные нейронные сети не позволяют добиваться высокой скорости работы, так как все вычисления производятся на последовательных устройствах. В диссертационной работе рассматривается аппаратно-программная реализация нейронных сетей, которые используют новую коммутаторную технологию построения. Эта технология позволяет реализовать универсальный аппаратный модуль, а затем его гибко перенастраивать путем загрузки программного обеспечения с учетом требований к системе автоматизации и перечня решаемых задач. Аппаратно-программные технологии построения нейронных сетей совмещают в себе высокую скорость работы и хорошую масштабируемость. Примером такой технологии является коммутаторная технология создания нейронных сетей, рассматриваемая в диссертации. Коммутаторная нейронная сеть - устройство, относящееся к вычислительной технике, предназначенное для создания систем с искусственным интеллектом. Традиционная нейронная сеть состоит только из нейронов. Основным отличием от известных нейронных сетей является наличие двух типов элементов: нейрона и коммутатора. Нейрон реализует функцию активации. Коммутатор выполняет прием-передачу информации в сети между нейронами и между коммутаторами. Коммутаторная нейронная сеть позволяет создавать нейронные сети любой архитектуры и практически любого объема, что позволяет реализовать систему искусственного интеллекта, соизмеримого с человеческим по количеству нейронов.

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

Рациональная группировка нейронов позволяет решить качественную задачу - определить, какие группы нейронов отвечают за выполнение определенных задач. Существование более или менее изолированной группы нейронов позволяет говорить, что эта группа выполняет более или менее изолированную подзадачу общей задачи, причем, чем меньше внешних связей имеет такая группа, тем более изолированную задачу решает эта группа. Возникает задача рациональной группировки нейронов - разбиение нейронов на отдельные группы, которые затем будут объединяться в

зависимости от своего размера либо в элементарные сегменты, либо в смежные между собой группы элементарных сегментов - подсети общей сети.

Для небольших нейронных сетей, состоящих из нескольких десятков нейронов, эта задача могла бы быть решена методом перебора. Для больших нейронных сетей, включающих в себя от нескольких тысяч до нескольких миллионов нейронов, решение такой задачи методом перебора невозможно, в частности из-за ограниченности ресурсов самых мощных вычислительных систем.

Целью исследования является повышение эффективности подсистемы планирования работы производственной системы на основе метода оптимальной фрагментации нейронной сети, позволяющего создать аппаратно-программный комплекс на основе больших нейронных сетей.

Для ее достижения была разработана программа исследований, включающая решение следующих задач:

исследование существующих методов построения систем управления на основе больших нейронных сетей;

разработка метода фрагментации большой нейронной сети, позволяющего создать программно-аппаратный комплекс;

формализация предложенного метода в виде алгоритма рациональной фрагментации больших нейронных сетей;

исследование свойств разработанного алгоритма на сходимость, масштабируемость, анализ влияния коэффициентов на результаты работы;

создание подсистемы планирования работы производственной системы с использованием разработанного метода. Научная новизна работы:

выявление связей между количеством и величиной весов связей нейронной сети и количеством решаемых подзадач системы управления объектом машиностроения;

создание и анализ математической модели коммутаторной нейронной сети, применяемой для построения систем управления и планирования на базе больших фрагментированных нейронных сетей;

разработка метода фрагментации нейронной сети, объединяющего наиболее связанные нейроны сети в группы, что позволяет решить задачу сокращения трафика фрагментированной нейронной сети на основе рационального расположения нейронов на коммутаторах;

разработка алгоритма фрагментации, позволяющего рационально разместить нейроны в программно-аппаратном комплексе, проведение его исследования на математической модели: влияние коэффициентов алгоритма на результат группирования, масштабируемость, оценка вычислительной трудоемкости, теоретическое и экспериментальное доказательство сходимости разработанного алгоритма.

Практическая значимость заключается в разработке методики программно-аппаратной реализации больших нейронных сетей и программного продукта, позволяющего в автоматическом режиме разбить

большую нейронную сеть на фрагменты с рационализацией трафика информации в этой сети.

Публикации. По материалам диссертации опубликовано 6 печатных работ, включая 2 публикации в журналах «Информационные технологии и вычислительные системы» и «Информатика и ее применения», входящих в перечень ведущих периодических изданий ВАК РФ.

Достоверность результатов подтверждается применением методов доказательства сходимости алгоритмов, теории сложности вычислений, а также сравнением полученных данных с результатами работы существующей системы составления сменных заданий АЛП-3-2.

Реализация результатов работы. Результаты работы внедрены в работе буровой службы ООО «МПО РИТА» в виде системы планирования работ с помощью программно-аппаратной нейронной сети и подсистемы диагностики процесса бурения установки САЗАОЯАМОЕ С800 БН.

Структура диссертации. Диссертация состоит из введения, четырех глав, заключения и приложений. Текст работы изложен на 124 страницах, содержит библиографию из 61 наименования, 50 рисунков, 10 таблиц.

Содержание диссертации

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

В главе 1 проведен анализ современного состояния и направлений развития нейронных сетей, обоснован выбор метода построения нейронной сети. Показаны достоинства и недостатки каждого способа реализации, подробно рассмотрены аппаратно-программные методы реализации нейронных сетей. Показано, что для известных способов реализации больших нейронных сетей не решена задача повышения эффективности их работы, вследствие недостаточного быстродействия сети. Для повышения быстродействия нейронной сети использована новая коммутаторная технология построения. Коммутаторная нейронная сеть (рис.1) позволяет создавать большие искусственные нейронные сети для задач управления сложными техническими объектами и обработки информации.

Коммутаторная нейронная сеть отличается от традиционной нейронной сети тем, что задачи транспорта и обработки информации разделены. Такая сеть содержит два типа элементов, каждый из которых выполняет только одну функцию:

1) нейрон, обрабатывающий информацию;

2) коммутатор, обеспечивающий транспорт и масштабирование информации.

Любую традиционную нейронную сеть можно представить в виде коммутаторной нейронной сети.

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

четвертый уровень Рис. 1. Коммутаторная нейронная сеть

Коммутаторные нейронные сети позволяют разработать новую технологию передачи данных между нейронами в сети. Древовидная структура сети позволяет проводить композицию нейронной сети, заменяя фрагмент коммутаторной нейронной сети (группу нейронов) на один более крупный компонент. Для этого необходимо разработать алгоритм, который позволит выделять такие группы нейронов, в которых большинство связей -внутренние. Разбиение коммутаторной нейронной сети на фрагменты с учетом максимизации связей внутри каждой группы позволит выделить из общей сети подсети, выполняющие отдельные подзадачи. Показана возможность обучения нейронной сети по отдельным фрагментам, не затрагивая структуру остальной сети. Такой подход позволяет проводить декомпозицию нейронных сетей сверху-вниз, от общего к частному, постепенно детализируя подзадачи. В составе нейронной сети необходимо выделить автономные группы нейронов, которые решают одну подзадачу.

Автономная группа имеет несколько входов и несколько выходов. Количество входов определяется числом нейронов, получающих информацию из других групп. Автономная группа решает определенную подзадачу общей задачи. Чтобы унифицировать элементы нейронной сети, автономная группа нейронов преобразована в домен (рис.2).

ДОМЕН

Коммутатор автономной группы

Шлюз домена

— 1 V Внешние входы

Рис. 2. Домен

Домен (рис. 2) - это фрагмент нейронной сети, который содержит автономную группу нейронов и выполняет определенную подзадачу. Домен имеет только один вход и один выход, что делает его структуру сходной со структурой нейрона. В домен необходимо введен дополнительный элемент -шлюз. Шлюз выполняет функцию маршрутизации и обеспечивает передачу поступившей в домен информации на соответствующие нейроны-потребители и передачу полученной от нейронов-источников информации в другие домены.

Для реализации доменов выбран аппаратно-программный способ, когда домен выполнен на базе унифицированного аппаратного модуля. Унификация позволит выпускать аппаратные модули-домены большими партиями и снизить стоимость элементной базы.

Рассмотрена объемно-модульная технология построения доменных нейронных сетей. Эта технология предполагает, что отдельные модули, имеют кубическую форму и образуют в пространстве трехмерную кубическую решетку. Построенная по этой технологии система функционально состоит их двух типов компонентов (рис. 3): базовых модулей и периферийных модулей.

Базовые модули составляют нейронную сеть, включая в себя аппаратно реализованные домены. Каждый базовый модуль имеет шесть разъемов, по одному на каждой грани куба. Эти разъемы включают канал для обмена информацией и питание модуля.

Рис. 3. Пример объемно-модульной системы

Базовый модуль состоит из следующих компонентов (рис. 4):

1. Сетевого контроллера, осуществляющего прием, анализ, передачу информации по сети. Сетевой контроллер выполняет функции сетевого коммутатора и маршрутизатора сетей.

2. Внутренней памяти, хранящей необходимые для работы сетевого контроллера и домена информацию.

3. Одного (или нескольких) доменов, архитектура которых была рассмотрена выше. Домен имеет только один вход и один выход. Он информационно связан с сетевым контроллером, от которого он получает и которому передает информацию.

Периферийные модули выполняют в работе системы вспомогательные функции:

1. Обеспечивают питание базовых модулей системы

2. Хранят таблицы связи (весовых коэффициентов) доменов

3. При инициализации системы загружают в базовые модули таблицы связи доменов

4. При инициализации и в процессе работы при сбоях и отказах базовых модулей, обеспечивают первоначальную или повторную маршрутизацию, создают маршруты передачи данных в кубической

решетчатой сети и передают базовым модулям таблицы коммутации сетевых контроллеров.

Коммутаторная и доменная технология выбрана как основа создания комплекса для реализации нейронных сетей в системах управления._

СЕТЕВОЙ КОНТРОЛЛЕР-МАРШРУТИЗАТОР

разделяемая i память щш (потоковый буфер) I? ,1!

ма| блок коммутации тт 5 2 *ч

к 851 § со 3 I гн

блок интерфейса

управления

*

—| те 1/о —| юв 1/0

ч

\

.1---и^ Домен 1 )

V Домен 2

/

\

^ Домен 3 ^

ЕЕРТОМ (АаБЬ-память)

БАЗОВЫЙ МОДУЛЬ

Рис. 4. Структура базового модуля

В результате проведенного анализа была поставлена задача исследования. Задача состоит в сокращении трафика информации в нейронной сети.

С увеличением размеров сети значительно увеличивается нагрузка на коммутаторы, что ставит задачу сокращения трафика информации. Путь передаваемой информации существенно зависит от взаимного расположения нейронов в древовидной структуре. Чем большее количество коммутаторов необходимо пройти информации от одного нейрона к другому, тем больше нагрузка на сеть в целом и тем больше трафик информации. Переставляя нейроны между коммутаторами нижнего уровня, можно существенно сократить трафик. Сократить трафик между нейронами одного коммутатора первого уровня невозможно, поэтому перестановку следует осуществлять между коммутаторами различных уровней.

Представим нейронную сеть в виде двух пересекающихся множеств: множество объектов А, являющихся передающими информацию (имеющих выходы) и множество объектов В, являющихся получателями информации (рис.5).

Для каждого элемента из множества А существует правило, по которому он связан с одним и более элементами из множества В. Это правило задается структурой нейронной сети и зависит он наличия и направления связи между нейронами. Для описания архитектуры коммутаторной нейронной сети, необходимо использовать множество С

(множество коммутаторов) - элементов, передающих информацию. Таким образом для каждого правила связи элементов множеств А и В в нейронной сети будет существовать правило связи элемента множества А с последовательным рядом элементов из множества С, последний из которых связан с одним из элементов множества В. Последовательность связей элементов множества С между собой определяется древовидной структурой коммутаторной нейронной сети.

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

В главе 2 разработан алгоритм фрагментации коммутаторной нейронной сети и проведена оценка его вычислительной трудоемкости. Описана область применения алгоритма.

Разработанный алгоритм состоит в следующем. Рассмотрим плоскость с координатной сеткой. В узлах координатной сетки в произвольном порядке размещены нейроны сети. Нероны образуют узлы графа. Введем импульс притяжения Рприт[кгхм/с] между нейронами. Если между нейронами х1 и хк имеется связь, то на соответствующем графе эта связь изображается как дуга Л,к- Дуге Л,ь назначен вес, отличный от нуля. В этом случае говорят, что эти две вершины притягиваются друг к другу. Импульс притяжения Р„Рит прямо пропорционален весу связи \¥(1,к) между нейронами г и к в рассматриваемой нейронной сети и положительному коэффициенту притяжения А, используемому для масштабирования значений импульсов притяжений. Импульс притяжения должен быть постоянным для каждой пары нейронов (рис. 6).

Для предотвращения слияния нейронов в общее ядро введем импульс отталкивания />£,тт[КГ><м/с] между всеми нейронами. Этот импульс обратно пропорционален расстоянию между нейронами 8(1,к) и прямо пропорционален положительному коэффициенту отталкивания В. Для того чтобы нейроны могли объединяться в группы, следует уменьшить импульс отталкивания, если нейроны сблизились на определенное расстояние. Для этого используется коэффициент группирования С. В случае, когда

Множества объектов, имеющих выходы (А) и входы (В).

Множество коммутаторов

Рис.5. Постановка задачи передачи информации

расстояние между двумя нейронами Б(1,к) на плоскости меньше заданного С, импульс отталкивания Ротт=0.

Рис. 6. Процесс воздействия импульсов на объекты

Алгоритм группирования описывается следующим образом:

1. Для каждого нейрона сети проводят следующие действия:

1.1 для каждой пары нейронов г и к

1.1.1 Определяют расстояние 8(1,к) на плоскости:

1.1.2 Рассчитывают суммарный воздействующий на нейрон импульс, как разность Ротт и Рприт,

1.1.3 Рассчитывают перемещение каждого нейрона из пары (¡,к) по оси х -Дх(1,к) и Ах (к,

1.1.4 Рассчитывают перемещение каждого нейрона из пары (¡,к) по оси у- ДуО,к)и Ау(к,1).

2. Перемещают каждый нейрон / на плоскости в соответствии с рассчитанными Дх(1,к) и Ау(1,к)\

3. Определяют, пришла ли система из нейронов на плоскости в состояние равновесия. Для этого сравнивают значения перемещений каждого нейрона Дх(1,к) и Аур,к) с заданными минимальными величинами Ахтф) и

Ауттр).

4. Повторяют п. 1-3 М раз, до тех пор, пока система не придет в состояние равновесия.

В диссертации проведена оценка вычислительной трудоемкости разработанного алгоритма. В качестве базы для сравнения выбран с алгоритм полного перебора.

Получена следующая оценка трудоемкости разработанного алгоритма фрагментации:

/(п)= 0(т)(0(п2)+0(п)+О(п)) = 0(т(п2+п)). (1)

где Дп)- оценка трудоемкости алгоритма, п - количество нейронов, т -коэффициент.

Значение коэффициента т зависит от количества нейронов, от величины связей между ними, от топологии сети и от выбранных коэффициентов притяжения А и отталкивания В.

Рассмотрены примеры применения алгоритма для конкретных задач. Для рассмотренных примеров нейронных сетей получена экспериментальная оценка значения коэффициента т. Полученное значение т сопоставимо со значениями от п3 до п .

Для алгоритма перебора оценка трудоемкости составила:

Яп)= 0(п! -п2). (2)

При т= п"' и более, получаем выигрыш в оценке трудоемкости алгоритма на несколько порядков. Оценка получена при размере количестве нейронной сети, не превышающей сотню нейронов.

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

В главе описан пример использования разработанного алгоритма фрагментации нейронной сети для оптимизации большой нейронной сети на примере подсистемы диагностики ЧПУ.

При диагностировании систем ЧПУ с большим количеством элементов требуется применять сложные методы анализа данных и сопоставления результатов с имеющимися знаниями о работе станков с ЧПУ. Система диагностирования должна обладать высоким быстродействием. Для диагностики состояния системы ЧПУ используется система обработки данных: преобразование аналогового сигнала в цифровой, затем обработка этих данных при помощи предварительно обученной нейронной сети. Для поиска параметров, по которым произошел дефект, необходимо учитывать погрешности измерения. Комплексная задача диагностики системы ЧПУ должна обрабатывать большое количество входных сигналов в реальном времени. Для подобной обработки использование современных вычислительных средств на базе персональных компьютеров невозможно. Для решения диагностической задачи предложена коммутаторная нейронная сеть, имеющая высокую производительность в параллельных вычислениях и малое время получения результата по сравнению с программно реализованными нейронными сетями.

В диссертации проведен анализ разработанного алгоритма для определения возможности оптимизации нейронных сетей большого размера: от 1000 до 10000 нейронов. Показана эффективность работы алгоритма при оптимизации нейронных сетей большого размера.

В главе 3 проводятся исследования разработанного алгоритма фрагментации нейронной сети.

Разработана математическая модель рассматриваемой системы:

л и

(3)

Где А - коэффициент притяжения, В - коэффициент отталкивания, т -эквивалентная масса.

Доказана теоретическая сходимость алгоритма. Для того чтобы система находилась в состоянии равновесия, необходимо, чтобы импульсы притяжения и отталкивания были уравновешены, в таком случае суммарное перемещение всех нейронов на плоскости будет равняться нулю.

N _ N N _ Г о

Ы /=1 [^ОЛ

Где - суммарное перемещение всех нейронов на плоскости -перемещение одного нейрона, А - коэффициент притяжения, В -коэффициент отталкивания, \У(1,к) - вес связи между нейронами / и к, Боа-расстояние между нейронами / и к на плоскости 1 (¡,к) - единичный вектор направления связи на плоскости.

Суммарное перемещение всех объектов по осям координат будет равно:

-ЩЩ-Щк)

= 0

(4)

Д*=1Х

В

Ж^+^+лУ

в

Ж

у,-У к

ж

(5)

(6)

Лх,-хкУ+(у,+ук)2 Где Х[ и у1 - координаты нейрона г на плоскости, х^ и ук - координаты нейрона к на плоскости

Закон движения будет представлен системой функций вида:

у=/х(х,у); х =/у (х,у). (7)

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

¿=1 к=1

# N /=1 ¿=1

N N

¿Л = 11

»=1

N N

4^=11

Лх« -ХиУ + (Уи+У1кУ

В

+Ь>г,+У*Т

в

-хиТ+Ьи+УиУ

в

-ЩА

А\ш{г,к\

-4^А

Уи ~ Уи

^(Хи-ХиУ+Ь'и+УиУ

У 2/ Урс

(8) (9) (10) (П)

Рассмотрим произвольное расположение нейронов на координатной плоскости. Разложим импульсы притяжения и отталкивания по осям

координат и рассмотрим проекции на оси:

/■ \

Ьу*= ,, в

У<~Ук

При у, >ук:Аух<0;ч при у, < ук: Ау, > О

(12)

В общем случае, при соблюдении начальных условий задачи, получим:

-_=£_==-4г(<,*)| <о, при 1г«,к) > о. (13)

VI*/-*») +

при х1 > хк; ух > ук: Ах, < 0; Ау1 < 0. приXI > хк; ух <ук\ Ах, < 0; Ду, > 0.

при Х[ < хк; у,> ук\ Ах,- > 0; Ду1 < 0. при XI < хк; у, < ук: Дг( > 0; Аух > 0.

Следовательно, для любого соотношения координат (вд^ и (хк;ук) получим:

(14)

При выполнении условия В/5>А: хх —»хк; у,^>уки А8(1;к)2 < АБ(1;к)1. При нарушении этого условия получаем следующее: при X; > хк; ух > ук: Дх:,- > 0; Ау, > 0.

г<0. >0. <0.

приXI > хк;у, <ук: Ax¡ > 0; Ау при < Хк; ух > ук: Ах, < 0; Ау при х-, < хк; ух < Ук: Ахх < 0; Ау Для выражения

г в

А5,

(15)

А8(1;к)2 < А5(1;к),.

Вне зависимости от расстояния при применении законов движения х =/(х,у) ; у =/(х,у) на каждом такте получим:

ШпДУ, =

*=1

N N

НтДс = У У

'->" г? 71 1=1 к= 1

N N

в

в

5(1,к)

У,-ук

=0

=0

(16)

(17)

(18)

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

случае будет рассматриваться задача группирования двух и более независимых нейронных сетей. В этом случае А3(1;к)2 < Л8(1;к)1, но итоговое АБ0;к) никогда не примет значение, равное нулю. Итоговое суммарное расстояние между каждой парой нейронов на плоскости на последнем шаге исполнения алгоритма определяется по формуле:

""157=*/, т-л (19)

В результате исследования алгоритма получили, что при заданных начальных условиях (группирования нейронов сети) алгоритм является детерминированным, понятным, завершаемым, массовым и в общем смысле результативным. Результативность алгоритма будет определяться соотношением коэффициентов А, В и С. Путем регулирования величин коэффициентов нейронная сеть группируется на группы разного размера.

В главе 3 экспериментально доказана сходимость разработанного алгоритма при любых значениях коэффициентов А, В и С. Рассматривается работа алгоритма, в том числе проводится анализ влияния дискретности вычислений и наличия нейронов-дублеров в нейронной сети.

В рамках работы проведены эксперименты по определению сходимости алгоритма и получены результаты, которые приведены на графике (рис. 8). Полученные кривые отмечают границы экспериментальной сходимости алгоритма при группировании нескольких нейронных сетей.

Из математической модели известно следующее соотношение:

5/ = + (¡/тХВ/Бо - А). (20)

Где I - величина такта (за исходное значение принято ? = 1 с), 5о — начальное расстояние между объектами, 5/ - итоговое расстояние между объектами, т - эквивалентная масса нейрона (т = 1).

Показано, что, уменьшив величину такта можно компенсировать дискретность вычислений. Это аналогично кратному сокращению коэффициентов А и В. В таком случае пропорционально уменьшаются величины Ах и Ду, и любая кривая сходимости приближается к первому рассмотренному случаю, при котором для любой пары коэффициентов алгоритм сходится. Экспериментально установлено (рис.7), что для любой нейронной сети можно подобрать такое сочетание коэффициентов А, В, С, чтобы алгоритм был результативным.

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

Для проведения экспериментов были выбраны сети с равномерно распределенными связями. Такие нейронные сети редко встречаются на практике. Эти нейронные сети были выбраны для эксперимента, т.к. они позволяют исследовать влияние коэффициентов на получаемый результат группирования.

Л 1800

I 'боо

са

х 1400

5 1200 я

[I 1000 о

I- 800

X

О) 600 X

ЦТ 400

•8" 200

£ о

1

1 /

1 .........и / й /

1 * /

1 / а /

/ /

1

О 2 4 6 8 10

Коэффициент притяжения

-50 элементов (значения весов 0-10, с-40)

- - -50 элементов (значения весов 0-10, с-10)

— —100 элементов (значения весов 0-10)

-----50 элементов (значения весов 0-50)

Рис. 7. Экспериментальная зависимость сходимости алгоритма от коэффициентов группирования

Экспериментально установлено:

при постоянных коэффициентах отталкивания и постоянном расстоянии группирования, при увеличении коэффициента притяжения уменьшается количество групп и увеличивается количество элементов в группах;

при постоянных коэффициентах притяжения и отталкивания, при увеличении расстояния группирования уменьшается количество групп и увеличивается количество элементов в группах;

при постоянных коэффициентах притяжения и постоянном расстоянии группирования, при увеличении коэффициента отталкивания увеличивается количество групп и уменьшается количество элементов в группах.

Проведен анализ масштабируемости алгоритма. В диссертации рассмотрена нейронная сеть произвольно большого размера. Фрагментацию такой нейронной сети невозможно осуществить на персональном компьютере, из-за ограничения на объем используемой оперативной памяти и производительность процессора. Разобьем нейронную сеть последовательно на подсети, имеющие размер, удобный для проведения расчета на персональном компьютере.

Рассмотрим фрагмент сети, состоящий из 2000 нейронов. В этой подсети связи нейронов с нейронами других подсетей не учитываются. Используем разработанный алгоритм для группирования такой сети.

После предварительного группирования получаем результат в 39 групп (рис. 8). В процессе группирования коэффициенты не подбирались таким образом, чтобы ограничить размер групп. Главным условием группирования

является получения размера группы заведомо меньшего размера, чем число входов у используемого коммутатора.

I Оптимизация |р«фМК4 ■ КНС

К., протяжения К. отталкивания Расстоя>^е контакта

[дробный разделитель,]

• •

:" Показать связи Загрузите структуру группировать

за груздь группы текушая группа

Рис. 8. Результат группирования сети из 2000 нейронов

Для фрагментации всей нейронной сети применим алгоритм группирования для каждой выбранной подсети. После этого можно представить полученные группы в виде эквивалентных фрагментов сети на плоскости, обладающих большим «весом» и эквивалентными связями.

На следующем шаге оптимизируем полную нейронную сеть. Для этого выполним объединение всех полученных путем группирования фрагментов и разместим их на единой плоскости, добавим все, не используемые ранее связи. Затем повторно применим алгоритм группирования. Экспериментально установлено, что все свойства изменения коэффициентов при таком применении алгоритма сохраняются, но коэффициенты притяжения и отталкивания следует выбирать дробными из-за значительно увеличившихся значений эквивалентных весовых коэффициентов связей.

Таким образом, экспериментально показано, что алгоритм может применяться для работы с нейронными сетями любого размера. Алгоритм также может применяться при проведении распределенных вычислений на сети персональных компьютеров.

Проведен анализ результатов работы разработанного алгоритма. Рассчитан пример использования алгоритма для составления сменных

заданий гибкой производственной системы. Получены результаты группирования нейронных сетей, описанных в главе 2.

Исследована результативность работы алгоритма группирования нейронной сети на примере подсистемы технической диагностики с использованием персептрона с одним скрытым слоем.

9 оптимизация трафика в КНС

К. притяжения К.

[дробный разделитель,)

." Показать связи Загрузить структуру

загрузить группы

текущая группа

Размер коммутатора

32...........................

Связи [/2] до

Б532.......................

Связи J/2I после 16026........................

Рис. 9. Группирование слоистой сети

С помощью нейронной сети была решена задача вибрационной диагностики подшипника качения двигателя. В зависимости от характера неисправности может быть 10 причин неисправностей. Для решения задачи была выбрана слоистая сеть с одним скрытым слоем, состоящая из 120 нейронов, причем в сети 32 нейрона - входные, 10 - выходные, согласно возможным причинам неисправностей. Для группирования описанной нейронной сети был применен разработанный алгоритм. Результаты работы алгоритма представлены на графике (рис. 9).

Для подключения 120 нейронов использованы 4 коммутатора, каждый коммутатор имеет по 32 входа. При последовательном подключении нейронов к коммутаторам в результирующей коммутаторной нейронной сети будет 6532 линий связи между нейронами и коммутаторами верхнего уровня. При использовании разработанного алгоритма число линий связи будет сокращено до 6026. Полученные результаты показали, что для отдельной

подсистемы диагностики применение алгоритма может сократить количество связей в коммутаторной нейронной сети на 7,8%.

В главе 4 рассмотрен пример составления программы сменных заданий для гибкой производственной системы.

Посменное планирование производства решает задачу минимизации простоя технологического оборудования. Эта задача является частью системы оперативного планирования, требующей оперативного решения, является. Задача оперативного планирования рассмотрена на примере изготовления корпусных деталей разного наименования на гибком автоматизированном комплексе АЛП-3-2.

Рис. 10. Схема автоматизированного комплекса АЛП-3-2 для обработки корпусных деталей

В результате решения требуется составить сменный план работ по изготовлению 75-ти наименований корпусных деталей с габаритными размерами от 100 до 400 мм из алюминиевых сплавов типа АЛ-9. Детали должны быть изготовлены в условиях автоматизированного мелкосерийного производства месячными партиями 20 - 30 шт. Средний годовой объем выпуска деталей N2= 12 744 шт.

Автоматизированный комплекс АЛП-3-2 (рис. 10) предназначен для механической обработки более 70 наименований корпусных деталей с габаритными размерами 250 * 250 х 250 мм месячными партиями по 20 - 30 деталей с гибко перенастраиваемой технологией. Автоматизированный комплекс АЛП-3-2 включает восемь специализированных многооперационных станков с ЧПУ с автоматической сменой инструментов.

Для решения задачи используется система сменного планирования, рассматривающая часть входных параметров. Существующее решение не рассматривает часть параметров, в результате чего среднее суммарное время, затрачиваемое на операции смены инструмента, переналадки станков и простоя составляет 8 часов. Среднее время, затрачиваемое на вычисление алгоритма при работе на персональном компьютере составляет 8 минут 40

секунд. Учет всех параметров при работе алгоритма составления сменного задания значительно усложнит количество обрабатываемых данных, что приведет к усложнению алгоритма и увеличению времени работы.

Предлагается решить задачу составления плана работ на смену на основе аппарата больших нейронных сетей.

Отнмюаимя Трафик* • КНС '

: К. притяжения К огапкивания Расстояние контакта ;................. ♦ | •

:" Показать связи # Загрузить структуру •

17313......................

Рис. 11. Результат группирования полученной нейронной сети для составления плана работ на смену

Для разработки сменного плана выпуска деталей с возможностью определения дополнительного количества деталей, необходимо разработать нейронную сеть. Результатом работы нейронной сети является сменный план для каждого станка на изготовление деталей определенной номенклатуры. Для 7 станков и 75 наименований деталей выходной массив нейронов сети состоит из 600 нейронов.

Входными значениями нейронной сети будут являться: перечень оборудования, наличие инструмента и приспособлений для транспортировки, количество позиций контроля. Суммарное количество входных параметров по данным позициям составит 1613. Нейронная сеть будет состоять из входного, выходного и двух скрытых слоев. Всего в нейронной сети будет 7313 нейронов. В первом скрытом слое 3100 нейронов и 2000 нейронов во втором скрытом слое. Обучение этой нейронной сети проводится по ранее имеющимся сменным заданиям с учетом наличия всех необходимых ресурсов.

Такое количество нейронов невозможно разместить в одном аппаратном модуле коммутаторной нейронной сети. Для применения такую нейронную сеть необходимо фрагментировать с учетом минимизации трафика между фрагментами. Для этого следует воспользоваться разработанным алгоритмом (рис. 11).

Нейронная сеть, исходя из текущих входных данных, составляет сменно-суточный план работ для производственного комплекса.

Фрагментация нейронной сети и применение разработанного алгоритма позволяет снизить трафик в нейронной сети на 3,86%. При использовании нейронных сетей с архитектурой, отличной от слоистой, можно обеспечить большее снижение трафика.

Время работы на персональном компьютере работы рассматриваемой коммутаторной нейронной сети составляет 5 минут 48 секунд, что на 33% быстрее, чем применение ранее используемого алгоритма. Среднее суммарное время простоя станков составило 6 часов 20 минут, что на 21% меньше, чем при применении ранее используемого метода.

Выводы

1.Решена задача, связанная с проектированием системы управления объектами машиностроения на основе аппарата фрагментации больших нейронных сетей, что позволило достигнуть повышения эффективности системы управления и расширить круг решаемых задач.

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

3. Разработан метод рациональной фрагментации больших нейронных сетей, особенностью которого является выделение групп нейронов, максимально связанных друг с другом.

4. Разработана и проанализирована модель коммутаторной нейронной сети, особенностью которой является разделение функций транспортировки и обработки информации. Выявлена необходимость решения задачи сокращения трафика за счет рационального группирования нейронов.

5. Разработан алгоритм, реализующий метод фрагментации. Проведен анализ влияния настраиваемых коэффициентов на результат работы алгоритма, показан способ масштабирования данного алгоритма. Теоретически и экспериментально доказана сходимость разработанного алгоритма при любых коэффициентах. Исследованы основные проблемы применения алгоритма, связанные с дискретностью вычислений и возможным наличием избыточных нейронов во фрагментируемой нейронной сети.

6. Разработано программное обеспечение, особенностью которого является возможность фрагментации больших нейронных сетей. Проведено исследование эффективности применения алгоритма для сокращения трафика в коммутаторной нейронной сети.

7. Полученное сравнение результатов работы спроектированной системы с ранее использованной системой составления сменных заданий АЛП-3-2

показало 30-34% сокращение времени составления сменного задания и уменьшение среднего суммарного времени простоя станков на 17-22%. Результаты диссертационной работы могут быть рекомендованы в учебный процесс по дисциплине «Управление процессами, объектами и системами».

Публикации автора по теме диссертации

Публикации в изданиях, входящих в перечень ведущих периодических изданий ВАК РФ.

1. Степанов С.Ю. Исследование сходимости алгоритма сокращения трафика в коммутаторной нейронной сети. / С.Ю. Степанов // Информационные технологии и вычислительные системы / НИИСИ РАН. — 2010.-Т. 1.-С. 73-78

2. Степанов С.Ю. Использование координатного метода фрагментации коммутаторной нейронной сети для сокращения трафика. / С.Ю. Степанов. // Информатика и ее применения // Институт проблем информатики РАН -2010.-Т. 4,Вып. 2.-С. 59-64

Другие публикации:

3. Степанов С.Ю. Группирование нейронов в двухуровневой коммутаторной нейронной сети. / С.Ю. Степанов // Труды международной научно-технической конференции Информационные средства и технологии. -М.:МЭИ. - 2007. - Т. 3. - С.178-181.

4. Степанов С.Ю. Снижение трафика информации в коммутаторной нейронной сети на основе ее фрагментации. / С.Ю. Степанов // Труды XVI международной научно-технической конференции Информационные средства и технологии. -М.: Издательский дом МЭИ. - 2008 - Т. 3. - С. 236241.

5. Кабак И.С., Степанов С.Ю. Оптимизация трафика информации в коммутаторной нейронной сети. / И.С. Кабак И.С., С.Ю. Степанов // Труды международной научно-технической конференции Информационные средства и технологии. - М.: Издательский дом МЭИ. - 2006. - Т. 3 - С. 163167

6. Кабак И.С., Степанов С.Ю. Разработка алгоритма разбиения нейронной сети на фрагменты и исследование его сходимости. / И.С. Кабак, С.Ю. Степанов // Труды международной научно-технической конференции Информационные средства и технологии. - М.:МЭИ. - 2009. - Т. 2. С.120-126.

7. Степанов С. Ю. Снижение трафика информации в коммутаторной нейронной сети. / С.Ю. Степанов // Вычислительные сети. Теория и практика. - Электронное научное издание. - 2008, Т. 2(13) - Режим доступа: http://network-journal.mpei.ac.ru/

Оглавление автор диссертации — кандидата технических наук Степанов, Сергей Юрьевич

Содержание.

Введение.

Глава 1. Анализ существующих решений построения аппаратных нейронных сетей.

1.1 Классификация основных способов исполнения аппаратных нейронных сетей.

1.2 Коммутаторные нейронные сети.

1.3 Примеры современных аппаратных модульных архитектур.

1.4 Задача исследования.

Глава 2. Разработка алгоритма фрагментации нейронной сети.

2.1 Разработка метода фрагментации нейронной сети и создание модели группирования нейронов.

2.2 Разработка алгоритма фрагментации нейронной сети и оценка его вычислительной трудоемкости.

2.3 Использование алгоритма фрагментации нейронной сети для оптимизации большой нейронной сети на примере коммутаторной сети в подсистеме диагностики ЧПУ.

Глава 3. Исследования алгоритма фрагментации коммутаторной нейронной сети на сходимость, масштабируемость, влияние коэффициентов на результаты работы.

3.1 Теоретическая сходимость алгоритма.

3.2 Экспериментальная сходимость алгоритма.

3.3 Анализ влияния коэффициентов на результат фрагментации нейронной сети

3.4 Исследование масштабируемости алгоритма.

Глава 4. Практическое применение полученных теоретических результатов. .92 4.1 Результаты фрагментации полносвязных нейронных сетей большого размера.

4.2. Проектирование нейронной сети для составления программы сменных заданий гибкой производственной системы.

Выводы.

Введение 2010 год, диссертация по информатике, вычислительной технике и управлению, Степанов, Сергей Юрьевич

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

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

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

В работе рассмотрена классификация аппаратных нейронных сетей. Показаны основные способы реализации.

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

1. Анализ существующих решений построения аппаратных нейронных сетей.

Заключение диссертация на тему "Проектирование процедур организации управления объектами машиностроения на основе аппарата фрагментации больших нейронных сетей"

Выводы.

1.Решена задача, связанная с проектированием системы управления объектами машиностроения на основе аппарата фрагментации больших нейронных сетей, что позволило достигнуть повышения эффективности системы управления и расширить круг решаемых задач.

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

3. Разработан метод рациональной фрагментации больших нейронных сетей, особенностью которого является выделение групп нейронов, максимально связанных друг с другом.

4. Проведен анализ математической модели коммутаторной нейронной сети, особенностью которой является разделение функций транспортировки и обработки информации. Выявлена необходимость решения задачи сокращения трафика за счет рационального группирования нейронов.

5. Разработан алгоритм, реализующий метод фрагментации. Проведен анализ влияния настраиваемых коэффициентов на результат работы алгоритма, показан способ масштабирования данного алгоритма. Теоретически и экспериментально доказана сходимость разработанного алгоритма при любых коэффициентах. Исследованы основные проблемы применения алгоритма, связанные с дискретностью вычислений и возможным наличием избыточных нейронов во фрагментируемой нейронной сети.

6. Разработано программное обеспечение, особенностью которого является возможность фрагментации больших нейронных сетей. Проведено исследование эффективности применения алгоритма для сокращения трафика в коммутаторной нейронной сети.

7. Полученное сравнение результатов работы спроектированной системы с ранее использованной системой составления сменных заданий АЛП-3-2 показало 30-34% сокращение времени составления сменного задания и уменьшение среднего суммарного времени простоя станков на 17-22%.

Библиография Степанов, Сергей Юрьевич, диссертация по теме Автоматизация и управление технологическими процессами и производствами (по отраслям)

1. Барков A.B., Баркова H.A. Вибрационная диагностика машин и оборудования. Анализ вибрации: Учебное пособие. / A.B. Барков, H.A. Баркова СПб.: Изд. центр СПбГМТУ, 2004. - 152с.

2. Барский А.Б. Логические нейронные сети / А. Б. Барский -М.:Интернет-университет информационных технологий, 2007. 352 с.

3. Барский А.Б. Нейронные сети: распознавание, управление, принятие решений / А. Б. Барский М.: Финансы и статистика, 2004. - 176 с.

4. Белянин П.Н. Гибкие производственные комплексы / под ред. П.Н. Белянина и В.А. Лещенко. М.: Машиностроение, 1984. - 384 с.

5. Будик A. CUDA от NVIDIA новые возможности GPU-вычислений / А. Будик // Daily Digital Digest Электронный ресурс. - Электрон, журн. - 2006. -Режим доступа: http://www.3dnews.ru/

6. Власов А.И. Аппаратная реализация нейровычислительных управляющих систем / А.И. Власов //Приборы и системы управления 1999, №2, С.61-65.

7. Галушкин А. И. Нейрокомпьютеры. От программной к аппаратной реализации / М. А. Аляутдинов, А. И. Галушкин, П. А. Казанцев, Г. П. Остапенко М.: Горячая линия- Телеком, 2008. - 152 с.

8. Галушкин А.И. Теория нейронных сетей. Кн. 1: Учеб пособия для вузов / Общая ред. А.И. Галушкина. М.: ИПРЖР, 2000.-416 с.

9. Головко В.А. Нейронные сети: обучение, организация и применение / В.А. Головко М.: ИПРЖ, 2002 - 256 с.

10. Гольдштейн Б.С. Автоматическая коммутация / Б. С. Гольдштейн, В. А. Соколов М.: Академия, 2007. - 272 с.

11. Гольдштейн Б.С. Системы коммутации. Учебник для вузов / Б. С. Гольдштейн С.Пб.: BHV, 2004. - 314 с.

12. Горбань А.Н. Нейронные сети на персональном компьютере. / А.Н.Горбань, Д.А.Россиев Новосибирск: Наука. Сибирская издательская фирма РАН, 1996. - 276 с.

13. Горюшкин В.Н. Основы гибкого производства деталей машин и приборов / В.Н. Горюшкин, А.Ф.Прохоров. Мн.: Наука и техника, 1984. - 222 с.

14. Диментберг Ф. М., Колесников К. С. Вибрации в технике. Справочник. / Ф.М. Диментберг, К. С. Колесников М.: Машиностроение, 1980, т. 3, 544 с.

15. Дунин-Барковский В. Л., Нейрокибернетика, Нейроинформатика, Нейрокомпьютеры, В кн.: Нейроинформатика / А. Н. Горбань, В. Л. Дунин-Барковский, А. Н. Кирдин и др. — Новосибирск: Наука. Сибирское предприятие РАН, 1998. — 296 с.

16. Зиновьев А. Ю. Визуализация многомерных данных. / А. Ю. Зиновьев — Красноярск: Изд. Красноярского государственного технического университета, 2000. — 180 с.

17. Кабак И.С. Доменная организация коммутаторных нейронных сетей. / И.С. Кабак // Труды международной научно-технической конференции Информационные средства и технологии, Т. 3 М.: Издательский дом МЭИ, 2007.-С. 128-131.

18. Кабак И.С. Коммутаторная архитектура больших нейронных сетей. / И.С. Кабак // Труды международной научно-технической конференции Информационные средства и технологии М.: Издательский дом МЭИ, Т. 3., 2007 - С. 124-127

19. Кабак И.С., Суханова Н.В Нейронная сеть. Патент на ПМ № 75247

20. Кабак И.С., Суханова Н.В. Большие нейронные сети в системах управления. / И.С. Кабак, Н.В. Суханова // Труды XVI международной научно-технической конференции Информационные средства и технологии. М.: Издательский дом МЭИ, Т. 3., 2008 - С. 204-210

21. Кабак И.С., Суханова Н.В. Модульная вычислительная система Патент РФ.

22. Калитин Д. В. Использование технологии CUDA фирмы NVIDIA для САПР нейронных сетей / Д. В. Калитин // Устойчивое инновационное развитие: проектирование и управление Электронное научное издание - Т. 4 (2009), ст. 2 - Режим доступа: www.rypravlenie.ru

23. Каштан Р. Основные концепции нейронных сетей / Р. Каллан -М.:Издательский дом Вильяме, 2001. 287 с.

24. Клюев В.В. Технические средства диагностирования: Справочник/В.

25. B. Клюев, П. П. Пархоменко, В. Е. Абрамчук и др.; под общ. Ред. В. В. Клюева.

26. М.: Машиностроение, 1989. — 672 с.

27. Кнут Д. Искусство программирования, том 1. Основные алгоритмы / Дональд Кнут--3-е изд. — М.: «Вильяме», 2006. — 720 с.

28. Колесников С. Аппаратная реализация нейронных сетей. / Колесников

29. C. // Компьютер-Информ СПб : Компыотер-Информ, Вып. 17, 2005.

30. Колмогоров А. Н. Теория информации и теория алгоритмов. / А. Н. Колмогоров — М.: Наука, 1987. — 304 с.

31. Кормен, Т., Лейзерсон, Ч., Ривест, Р., Штайн, К. Алгоритмы: построение и анализ /Introduction to Algorithms / Под ред. И. В. Красикова. — 2-е изд. — М.: Вильяме, 2005. — 1296 с.

32. Кульгин М.В. Коммутация и маршрутизация IP/IPX трафика / М.В. Кульгин - М.: КомпьютерПресс, 1998, 320 с.

33. Летенко В .А Организация машиностроительного производства: теория и практика. / В .А. Летенко, О.Г. Гуровец, -- М, Машиностроение., 1982.- 208 с.

34. Люгер Д. Искусственный интеллект / Д. Люгер М.: Мир, 2003. - 690с.

35. Люгер Д. Искусственный интеллект. / Джордж Ф. Люгер М.: Вильяме, 2005. - 864 с.

36. Медведев В.А. Технологические основы гибких производственных систем: Учеб. для машиностроит. спец. вузов / В.А. Медведев, В.П. Вороненко, В.Н. Брюханов. М.: Высш. шк., 2000. - 255 с.

37. Назаров A.B. Нейросетевые алгоритмы прогнозирования и оптимизации систем / А. В. Назаров, А. И. Лоскутов Наука и техника, 2003. -384 с.

38. Никитин Ю. Р. Диагностика станков с ЧЕТУ. Интеллектуальные системы в производстве. / Ю. Р. Никитин Ижевск: Ижевский государственный технический университет, 2008. - стр.89-90

39. Ope О. Графы и их применение / О. Ope Новокузнецк: ИО НФМИ, 2000, 174 с.

40. Осовский С. Нейронные сети для обработки информации. / Станислав Оссовский М.: Финансы и статистика, 2004. - 334 с.

41. Пескова С.А. Сети и телекоммуникации / С. А. Пескова, А. В. Кузин, А. Н. Волков М.: Академия, 2009. - 352 с.

42. Проектирование автоматизированных участков и цехов / под общ. ред. Ю.М. Соломенцева. М. : Машиностроение, 1992. - 272 с.

43. Просветов Г.И. Методы оптимизации. Задачи и решения. / Г. И. Просветов М.: Альфа-Пресс, 2009. - 168 с.

44. Сигеру Омату Нейроуправление и его приложения. Кн. 2 / Сигеру Омату, Марзуки Халид, Рубия Юсоф; Пер. с англ. Н.В. Батина; Под. ред. А.И. Галушкина, В.А. Птичкина. М.:ИПРЖ, 2000. - 272 с.

45. Соломенцев Ю.М., Сосонкин В.Л. Управление гибкими производственными системами. М.: Машиностроение, 1988.- 352 с.

46. Сосонкин В.Л., Мартинов Г.М. Системы числового программного управления: Учеб.пособие. / В.Л . Сосонкин., Г.М. Мартинов М.: Логос, 2005. - 296 с.

47. Степанов С. Ю. Снижение трафика информации в коммутаторной нейронной сети. / С.Ю. Степанов // Вычислительные сети. Теория и практика. -Электронное научное издание. 2008, Т. 2(13) - Режим доступа: ЬИр://пе1\уогк-joumal.mpei.ac.ru/

48. Степанов С.Ю. Группирование нейронов в двухуровневой коммутаторной нейронной сети. / С.Ю. Степанов // Труды международной научно-технической конференции Информационные средства и технологии. -М.:МЭИ. 2007. - Т. 3. - С.178-181.

49. Степанов С.Ю. Иисследование сходимости алгоритма сокращения трафика в коммутаторной нейронной сети. / С.Ю. Степанов // Информационные технологии и вычислительные системы / НИИСИ РАН. 2010. - Т. 1. - С. 73-78

50. Степанов С.Ю. Использование координатного метода фрагментации коммутаторной нейронной сети для сокращения трафика. / С.Ю. Степанов. // Информатика и ее применения // Институт проблем информатики РАН 2010. -Т. 4, Вып. 2. - С. 59-64

51. Терехов В.А. Нейросетевые системы управления / В. А. Терехов, Д. В. Ефимов, И. Ю. Тюкин М.:ИПРЖ, 2003. - 480 с.

52. Терехов С. А., Нейросетевые информационные; модели сложных инженерных систем, В кн.: Нейроинформатика / А. Н. Горбань, В. Л. Дунин-Барковский, А. Н. Кирдин и др. — Новосибирск: Наука. Сибирское предприятие РАН, 1998. — 296 с.

53. Терехов С.А. Лекции по теории и приложениям искусственных нейронных сетей / С.А. Терехов // Лаборатотория Искусственных Нейронных Сетей НТО-2 / Снежинск: ВНИИТФ. 1998.

54. Уссермен Ф. Нейрокомпьютерная техника. / Ф. Уссермен, пер. на русский язык Ю. А. Зуев, В. А. Точенов М.: Мир, 1992.

55. Фаронов В.В. Delphi. Программирование на языке высокого уровня / В.В. Фаронов С.Пб.:Питер, 2003. - 640 с.

56. Фролов В. Введение в технологию CUDA / В. Фролов // Компьютерная графика и мультимедиа Электронный ресурс. Электрон, журн. - 2008. - Режим доступа: http://cgm.computergraphics.ru/

57. Хватов Б.Н. Гибкие производственные системы. Расчет и проектирование : учеб. пособие / Б.Н. Хватов. Тамбов : Изд-во Тамб.гос. техн. университета, 2007. - 112 с.

58. Хилл Б. Полный справочник по Cisco / Брайан Хилл М.: Вильяме, 2006. - 1088 с.

59. Hylton Т. Systems of Neuromorphic Adaptive Plastic Scalable Electronics / Dr. Todd Hylton // DARPA Электронный ресурс. 2010. - Режим доступа: http://www.darpa.mil/

60. Information on DARPA's SyNAPSE project / National Science Foundation // NEURDON Электронный ресурс. 2009. - Режим доступа: http://www.neurdon.com/

61. Snider G. Cortical computing with memristive nanodevices / Greg Snider // Hewlett-Packard Laboratorie. Oak Ridge: IOP Publishing - 2008. - Sci-DAC Review 10: 58-65

62. Часть 1. Техническое задание

63. Общие сведения о программе11.1 Наименование программы и ее условное обозначение

64. Программа «Оптимизация трафика в КНС (коммутаторной нейронной сети)», именуемая в дальнейшем программа.11.2 Требования комплектности и готовности программы для внедрения

65. Программы распространяется свободно, со всей имеющейся документацией и исходным кодом11.4 Наименование исполнителя и заказчика программы Исполнитель: Степанов С.Ю.

66. Назначение и цели создания программы

67. Программа предназначена для группирования нейронов в группы по критерию минимизации связей между группами. Целью создания программы является получение экспериментального подтверждения работы разработанного метода и отладка работы алгоритма.

68. Требования к разрабатываемой программе13.1 Требования к структуре программы

69. Программа должна реализовывать координатный метод группирования нейронной сети, описанный в тексте работы.13.2 Требования к режимам функционирования программы

70. Интерфейс программы должен быть выполнен на интуитивно понятном уровне и доступен в освоении непрофессионально подготовленному пользователю.13.3 Требование квалификации персонала для эксплуатации программы

71. В состав обслуживающего персонала программы должны входить:1. Оператор ЭВМ2. Программист

72. Для разработки программы был выбран продукт компании BORLAND SOFTWARE CORPORATION «DELPHI 7 ENTERPRISE», который является высокопродуктивным инструментом для создания программ.13.4.2 Microsoft Windows

73. Для эксплуатации программы может быть использована ПЭВМ, работающая под управлением операционных систем Windows 95, Windows98/98SE, Windows ME,Windows'2000, Windows XP.13.5 Требования к техническим и программным средствам

74. Рекомендуемые параметры системы:

75. Операционная система: Windows ХР1. Архитектура: х86-64

76. Частота процессора: не менее 2400 МГц

77. Объем оперативной памяти: не менее 1536 Мб1. SVGA видеокарта1. Клавиатура1. Манипулятор мышь1. Монитор: 17", цветной13.6 Функции персонала, обеспечивающего работоспособность программы

78. Обеспечение функционирования программы должно осуществляться следующим персоналом:1. Оператор ЭВМ2. Программист

79. Функцией оператора ЭВМ является проведение экспериментов по группированию нейронных сетей. Функцией программиста является внесение изменений в исходный код программы, при необходимости.

80. Мероприятия по подготовке к внедрению программы

81. Для запуска программы необходимо, чтобы ПЭВМ работала под управлением операционной системы семейства Windows и удовлетворяла минимальным аппаратным требованиям.

82. Часть 2. Руководство разработчика21 Этап анализа

83. Рис. 1. Алгоритм группирования Для группирования объектов на плоскости используется алгоритм, представленный на (рис 1).

84. Для пошагового перемещения объектов на плоскости согласно заданию используется алгоритм, показанный на (Рис 2).

85. Рис. 2 Алгоритм шага группирования22.2 Проектирование интерфейса пользователя

86. Все элементы управления находятся в одном окне для обеспечения более удобного интерфейса. Каждой кнопке присвоено название, которое непосредственно указывает на ее назначение.

87. Макет интерфейса пользователя представлен на (рис 3).1. Г" Показать связи1. Загрузить структуругруппироватьзагрузить группытекущая группа51. Размер коммутатора О1. Связи /2. до1. Связи (/2) после

88. Рис. 3 Макет интерфейса пользователя23 Этап реализации23.1 Описание особенностей выбранного языка программирования

89. Delphi комбинация нескольких важнейших технологий:

90. Компилятор в машинный код, встроенный в среду программирования, обеспечивающий высокую производительность, необходимую для построения разнообразных программных приложений.

91. Для создания интерфейса из палитры компонентов используются следующие компоненты, указанные на (рис

92. Рис. 4. Интерфейс пользователя23.3 Листинг программыunit UnitMainO;interfaceuses

93. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls.Math;type

94. TCelll = class(TPanel) privatepublic numberX: integer; numberY : integer; end;type

95. FB: integer; //рассчет размера квадратаamarked : array 1.PLO. of BOOL; //массив использованых позиций beginrandomize; //1. FB:=Ceil( sqrt(total));if FB*FB < total then FB:=FB+1;zoom:=l;ic:=l;

96. Задание положения! процедура рандомайзингаfor iy:=l to FB dobeginfor ix:=l to FB do beginversXic.:=ix*50; versY[ic]:=iy*50; ic:=ic+l; //* end;end; //конец задания положения

97. SetLength(deltaX,total+l); SetLength(deltaY,total+1); a:=strtofloat(Forml .Edita.Text); b:=strtofloat(Forml .Editb.Text); c:=strtoint(Forml .Editc.Text); for ic:= 1 to total do //очистка begindeltaXic.:=0; deltaY[ic]:=0; end;for ic:=l to total do begin

98. MMM1 for ix:=l to total do begin Fp:=0; Fo:=0; Fres:=0;if Vwireic.[ix]>0 then begin

99. Fp:=a* Vwireic. [ix]; // Fp:=a; end;r:=sqrt( (versXic.-versx[ix])*(versX[ic]-versx[ix]) + (versY[ic]-versY[ix])*(versY[ic]-versY[ix])); if (r>=c) and (K250) then begin1. Fo:=b/(r); //r* 2

100. SetLength(marked,total+1);

101. FileStream :=TFileStream.Create(SaveDialogmark.FileName, fmCreate or fmOpenWrite or fmShareDenyNone); Writer := TWriter.Create(FileStream,$FF); Writer. WriteListBegin;

102. Writer.writeinteger(ig); //будет переменная totalfor ic:= 1 to ig dobeginfor ix:=l to ig do begin

103. Writer. WriteSingle(remadearrayic.[ix]); end; end;foric:=l toigdo //количества элементов begin

104. Writer. WriteSingle(remadearray0.[ic]); end; II*

105. Writer.writeinteger(total); //общее количество for ic:=l to total do begin

106. Writer. writeinteger(markedic.); end;запись основного массива связейfor ic:=l to total dobeginfor ix:=l to total do begin

107. Writer. writesingle(V wireic.[ix]); end; end;

108. Forml .Edit3 .Text:=inttostr(links); end;end;procedure TForml.ButtonLoadClick(Sender: TObject); var ij ¡integer;

109. FileStream: TFileStream; Reader: TReader; beginif OpenDialogl.Execute thenbegin

110. FileStream:=TFileStream.Create(OpenDialogl .FileName, fmOpenRead); Reader := TReader.Create(FileStream, $FF); Reader.ReadListBegin;total:=Reader.readinteger; for i:=l to total do beginfor j:=l to total do begin

111. Vwirefi. j] :=Reader.ReadSingle; end; end;

112. Reader.ReadListEnd; Reader.Destroy; FileStream.Destroy; end;for i:=l to total do begin

113. Vwire1.i.:=l; //количество нейронов, приписаных элементу end;if total>0 then begin

114. Vwire1.|j.:=AGPi][j]; end; end; end;if cur>0 then begin ic:=0; ix:=0;total:=ceil(AGPcur.[cur]); for i:=l to elements do beginif metka1.=cur then begin ic:=ic+l;for j:=l to elements do beginif metkaj.=cur then begin ix:=ix+l;

115. Vwireic. [ix] :=VRE1. [j]; end; end; ix:=0; end; end; end; end;procedure TForml.ButtonLzspClick(Sender: TObject); var i,j-.integer;

116. FileStream: TFileStream; Reader: TReader; beginif OpenDialog2.Execute then begin

117. FileStream:=TFileStream.Create(OpenDialog2.FileName, fmOpenRead); Reader := TReader.Create(FileStream, $FF); Reader.ReadListBegin;grp:=Reader.ReadInteger; SetLength(AGP,grp+l ,grp+l); for i:=l to grp do beginfor j:-l to grp do begin

118. AGP1.j.:=Reader.ReadSingle; end; end;for i:= 1 to grp do begin

119. VRE1.j.:=Reader.ReadSingle; end; end;

120. Reader.ReadListEnd; Reader.Destroy; FileStream.Destroy; end;if (grp>0) and (elements>0) then begin

121. Forml.ButtonGenerate.Enabled:=True; Forml .EditGROUP.Text:='0';

122. Forml .Use; //задать основной массив связей для рассчетов Forml .PlaceField;

123. Forml .ButtonNgp.Enabled:=True; end; end;procedure TForml.ButtonPgpClick(Sender: TObject); begin

124. Forml .EditGROUP.Text:=inttostr(strtoint(Forml .EditGROUP.Text)-1); Forml .ButtonNgp.Enabled:=True; if Forml.EditGROUP.Text='0' then begin

125. Forml .ButtonPgp.EnabIed:=False; end;

126. Forml.Use; Forml .PlaceField;end; //*#***procedure TForml.ButtonNgpClick(Sender: TObject); begin

127. Forml.EditGROUP.Text:=inttostr(strtoint(Forml.EditGROUP.Text)+l); Forml .ButtonPgp.Enabled:=True; if strtoint(Forml .EditGROUP.Text)>=grp then begin

128. Forml.EditGROUP.Text:=inttostr(grp); Forml.ButtonNgp.Enabled:=False; end;

129. Forml.Use; Form 1 .PlaceField; end;end. //конец программы