Библиографическое описание:

Кащеев Д. А. Использование разработанного алгоритма фрагментации нейронной сети для оптимизации большой нейронной сети на примере коммутаторной сети в подсистеме диагностики ЧПУ // Молодой ученый. — 2013. — №6. — С. 60-63.

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

Коммутаторная нейронная сеть — новая технология построения нейронных сетей, позволяющая создавать большие искусственные нейронные сети для задач управления сложными техническими объектами и обработки информации [1]. Коммутаторная нейронная сеть — устройство, относящееся к вычислительной технике, предназначенное для создания систем с искусственным интеллектом. Основным отличием от известных нейронных сетей является наличие двух типов элементов: нейрона и коммутатора. Коммутаторная нейронная сеть позволяет создавать нейронные сети любой архитектуры и практически любого объема, что позволяет реализовать систему искусственного интеллекта, соизмеримого с человеческим.

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

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

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

Рис. 1. Состав коммутаторной нейронной сети

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

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

Формализуем алгоритм фрагментации коммутаторной нейронной сети.

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

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

3.1. Для каждой пары нейронов i и k провести следующие действия;

3.1.1        Найти расстояние S(i,к) между соответствующими объектами на плоскости;

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

3.1.3        Рассчитать ?х(i,k)и ?х(k,i) — перемещение каждого объекта из пары;

3.1.4        Рассчитать ?y(i,k)и ?y(k,i) — перемещение каждого объекта из пары;

3.2. Переместить каждый объект на плоскости в соответствии с рассчитанными ?х(i)и ?y(i).

3.3. Найти максимальные значение перемещений по осям x и y.

3.4. Определить, пришла ли система из объектов на плоскости в состояние покоя, сравнив максимальные значения перемещений объектов ?х(i)и ?y(i) с заданными минимальными величинами ?хтiп(i) и ?yтiп(i),

4.         Повторить п. 3 i раз, до тех пор, пока система не придет в состояние равновесия;

5.         Используя коэффициент группирования С, объединить множество объектов на плоскости в группы, согласно расстоянию между парами объектов;

6.         Присвоить группы коммутаторам первого уровня коммутаторной нейронной сети.

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

Трудоемкость рассматриваемого алгоритма фрагментации в первую очередь зависит от количества входных переменных (количества нейронов), которые следует обрабатывать. Следовательно, для оценки трудоемкости алгоритмов фрагментации коммутаторной нейронной сети можно использовать асимптотический метод анализа [2]. Оценка функции трудоёмкости, называемая сложностью алгоритма, позволяет определить, как быстро растет трудоёмкость алгоритма с увеличением объема данных.

Запись вида f(п) = 0(g(п)) означает, что функция f(п) возрастает медленнее чем функция g(п) при с = с1 и п = N, где c1 и N могут быть сколь угодно большими числами, т. е. при с = c1 ип>=N, cg(n) >=f(п).

Определим вычислительную трудоемкость разработанного алгоритма и сравним с вычислительной трудоемкостью алгоритма полного перебора [3].

Трудоемкость разработанного алгоритма фрагментации: f(п)= 0(т)(0(п2)+0(п)+0(п)) = 0(т(п2+п)).

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

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

1. Для п! возможных комбинаций расположения нейронов:

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

1.2     определить наиболее оптимальный вариант из п! комбинаций.

Трудоемкость алгоритма перебора:f(п)= 0(п! п2).

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

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

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

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

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

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

Сначала для каждого дефекта станка подбирается информативный параметр и датчик для его измерения.

Дефекты могут быть в следующих системах:

1)     дефекты механики:

-        станины, стойки, суппорты, каретки, траверсы, колонны, ползуны, столы;

-        шпиндельные узлы, кривошипные и приводные валы;

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

-        системы охлаждения, смазки;

-        прочие детали и узлы.

2)      дефекты электрики:

-        двигатели привода, генераторы;

-        электрошкафы, ниши с электроаппаратурой;

-        прочие элементы системы.

3)      дефекты гидравлики (пневматики):

-        гидроцилиндры (пневмоцилиндры), гидромоторы;

-        гидронасосы;

-        регулирующая аппаратура.

4)      дефекты системы ЧПУ, дефекты оснастки.

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

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

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

Таблица 1

Коли­чество нейронов

Коли­чество связей

Коли­чество групп

Количество линий передачи данных без группирования

Количество линий передачи данных после группирования

Эффективность (сокращение количества связей в процентах, %)

1

1000

45932

34

85201

84778

0,49890199

2

1000

45657

38

84697

84270

0,50670464

3

1000

45864

41

85032

84507

0,621250311

4

1000

90908

41

169427

169160

0,157838733

5

1000

90946

13

169665

169460

0,120972501

6

5000

1128946

50

2088895

2078996

0,476143292

8

5000

229496

20

415438

414705

0,176752149

9

9500

821949

202

1550650

1549526

0,072538312

10

100

541

33

868

812

6,896551724

Данные результаты показывают, что разработанный алгоритм можно применять даже для оптимизации полносвязных нейронных сетей большого размера. По результатам группирования видно, что чем больше нейронная сеть приближена к полносвязной, а именно: каждый нейрон сети имеет большое количество связей при равномерном распределении значений весовых коэффициентов всей сети, тем меньше эффективность алгоритма. Если сравнить результаты группирования нейронных сетей с номерами 9 и 10 можно заметить, что у каждого нейрона сети № 9 около 86 связей с другими нейронами, а у нейронной сети № 10 порядка 5. таким образом в образце № 10 больше прослеживается изолированность отдельных групп нейронов, соединенных наибольшим числом связей. В результате эффективность сокращения линий передачи данных между нейронами сети № 10 выше. Это доказывает, что алгоритм действительно позволяет выделять фрагменты нейронной сети, выполняющие отдельные задачи.

Выводы.

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

Литература:

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

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

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

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

Обсуждение

Социальные комментарии Cackle