НЕЙРОСЕТЕВЫЕ МОДЕЛИ И ИХ ИСПОЛЬЗОВАНИЕ ПРИ РЕШЕНИИ ЗАДАЧ ТЕХНИЧЕСКОЙ ДИАГНОСТИКИ В УЧЕБНОМ ПРОЦЕССЕ
Т.И. Горева, С.Ю. Папшева, Г.А. Пюкке (КамчатГТУ)
Рассмотрен вопрос о применении нейротехнологий для решения задач диагностики судовых электрических средств автоматизации (СЭСА), идентификации моделей, кластеризации данных, распознавания образов. Построен алгоритм выполнения процедуры выбора структуры нейросети с целью оптимизации количества нейронов и минимизации аппаратных затрат.
Applications of neuro-technologies for diagnostics of ship’s electric facilities of automation (SEFA), identication of models, clustering of database and image recognition questions are considered in the article. Execution algorithm of procedure for choosing the structure of neuron network is build with the purpose of optimatization of neurons amount and minimization of hardware overheads.
Многие нелинейные задачи не поддаются строгой формализации традиционными математическими методами. В таких условиях, когда решение задачи аналитически в общем виде невозможно, оправдан нейросетевой подход, позволяющий обеспечить достаточно высокое качество выполнения задачи.
В работе [1] и др., касающихся аппроксимации нелинейных функций, заложен математический базис нейросетевой теории, определяющий универсальные аппроксимирующие свойства нейронных сетей. В большинстве случаев аналитические модели диагностирования - это нелинейные соотношения, затрудняющие формирование модели объекта диагностирования по моделям составляющих компонент. Формально высказывание об универсальных аппроксимационных свойствах нелинейности представляется в виде
q=1
,=1
и утверждает, что с помощью линейных операций и каскадного соединения можно из произвольных нелинейных элементов получить любой требуемый результат с заранее заданной точностью, где hq - непрерывная функция; Фq (x,) - функция, зависящая от F.
В работе [1] в качестве процедуры обучения многослойного перцептрона приведен алгоритм обратного распространения (back propagation), обеспечивающий решение задачи статистической классификации и распознавания. В процессе обучения на вход нейронной сети (НС) поступают данные обучающей выборки при корректировке весовых коэффициентов синаптических связей с целью получения наиболее адекватного сигнала на выходе нейронной сети.
При использовании алгоритма обратного распространения сигнал ошибки на выходе НС распространяется в обратном направлении с последующей корректировкой синаптических весов нейронной сети для достижения минимальной выходной погрешности. Обученная НС обладает способностью обобщения, т. е. имеет возможность давать статистически корректный ответ на входные сигналы, принадлежащие классу обучающих данных, но не использующиеся ни при обучении, ни при тестировании.
Для решения задач аппроксимации нелинейностей важны методики, разрешающие проблемы принятия решений в условиях неполных данных с учетом постоянно изменяющихся условий окружающей среды. Этим методикам отвечают возможности нейротехнологий. Нейронные сети не требуют традиционного программирования: информация обучения НС накапливается в весах, а не в программах. Это делает их устойчивыми к флуктуациям входных воздействий и обеспечивает устойчивость работоспособности сети при выходе из строя отдельных ее компонент.
На возникший дефект сеть реагирует только изменением качества функционирования при сохранении общей работоспособности (это роднит ее с высокоорганизованными биологическими системами). Изначальными процедурами построения однонаправленной сети являются задание топологии и правил обучения. Топология выбирается исходя из требуемой точности идентификации, содержания задачи, количества параметров процесса, размерности вектора входных данных. Настройка сети - это многоходовой итерационный процесс, при котором периодически анализируются результаты и регулируются параметры: количество ассоциативных слоев, количество нейронов в слое, выбор функции активации.
Увеличение количества слоев позволяет выявить более тонкие статистические закономерности. Но размерность сети должна соответствовать размерности данных обучающей выборки.
В противном случае способность сети к обучению будет снижаться или, наоборот, будет утрачена способность сети определять основные параметры отображения.
Структура НС прямого распространения приведена на рисунке 1.
Связи нейронов входного слоя с нейронами первого ассоциативного слоя являются выборочными и в общем случае с фиксированными значениями веса.
Х1 Х2 Х3 --------- Х
£
І = 1
і = 2
І = N
Вектор входных данных
Входной слой
Выборочные связи, фиксированные веса
Рис. 1. Структура НС прямого распространения: у/ - выход і-го нейрона]-го слоя; ] - номер слоя; І - номер нейрона; п - количество входных нейронов
Веса синаптических связей образуют матрицу весов связей
5 =
Связи между нейронами ассоциативных слоев (включая выходной) являются всеобъемлющими с подстройкой весов синаптических связей на обучающей стадии. Каждый выходной сигналу-го слоя подается на вход всех нейронов (у + 1)-го слоя. Для выхода /-го нейрона (у + 1)-го слоя можно записать:
W122 ... W1N 2
W12 ... W1N 3
< < ... W1NL-1
1 w^2+1 ... wLNL
і = 1, N
где у/1 - выход І-го нейрона (] + 1)-го слоя; wг■k]+1 - вес связи к-го нейрона (] + 1)-го слоя с і-м
нейроном]-го слоя; wг■o]+1 - величина внешнего смещения. Результат адаптивного суммирования является аргументом функции активации, посредством которой выполняется преобразование входных воздействий в выходной сигнал с настраиваемыми характеристиками. Настройка сети предусматривает процедуру регулирования весовых коэффициентов входов нейронов и
з
к=1
приведение к нулю порога аргумента функции активации. На основе анализа задачи подбирается соответствующая нейросетевая модель.
Для обучения НС с помощью алгоритма обратного распространения минимизируется общая ошибка выхода. Корректируются величины весовых коэффициентов каждого участвующего в обучении нейрона. Обучение перцептрона состоит из тактов и эпох.
Каждый такт обучения 5-й эпохе соответствует одновременной подаче на вход сети сигнала входа эмпирической выборки и сравнении сигнала выхода эмпирической выборки с выходным сигналом НС. Если объем выборки М, то в каждом такте обучения перцептрон взаимодействует с одной из М пар векторов «вход - выход». После реализации всего объема выборки данных «вход -выход» 5-я эпоха обучения заканчивается и оценивается значение суммарной выходной среднеквадратической ошибки Е5 перцептрона с матрицей весовых коэффициентов £,5
м
Е5 = £ || ук- || /м,
к=1
где У* - истинный вектор обучающей выборки; Ук* - результат нейросетевой обработки выходного сигнала в 5-й эпохе. Подстройка матрицы весов ^ с помощью минимизации среднеквадратической ошибки Е5 выполняется с помощью итерирования по эпохам обучения в соответствии с алгоритмом обратного распространения ошибки
£5 + 1 = - Ц(5Е5 / д£б) + у(^5 - ^5 - 1),
где ц, V - параметры алгоритма, определяющие скорость и устойчивость итерационного процесса обучения. Величина градиента (дЕ5 / д£,5) при нахождении глобального минимума
гиперповерхности ошибки Е5 определяет направление спуска (метод градиентного спуска) на пути к глобальному минимуму, результатом которого будут новые очередные значения коэффициентов матрицы £5 + 1.
Вычисление значений компонент матрицы весов при итерировании по эпохам выполняется в соответствии с выражением м>^(т + 1) = м>^(ш) + Д^/, где Джк - изменение веса на (т + 1)-м шаге: Дмк = - а(йв / dwik), где а - скорость обучения. Выражение новых значений весов на (т + 1)-м шаге для нейронов выходного слоя: Дwik = аД/" ук1 - 1, где Д/" = (у," - у"*)ф'(а1Ь) - локальная ошибка.
Для ассоциативного слояр имеет место соотношение:
Дw/ = аДР укр - 1,
О
где Д,р = ф'(агр) £ АкР+^кк+1 , где о = Ы'р+1 - количество нейронов (р + 1)-слоя, связанных с /-м
к=1
нейроном р-го слоя.
Рассмотрим задачу построения и обучения нейросети для выполнения процедур кластеризации и идентификации при оценке показателей диагностирования методом исключения варьируемого параметра [2]. Алгоритм включает выполнение процедуры обоснования выбора структуры нейросети с целью оптимизации количества нейронов и минимизации аппаратных затрат на основе метода логического анализа диагностической модели и совокупности существующих типов сетей с подбором необходимого количества элементов, что позволяет получить нейросеть относительно небольшой размерности.
Сначала выбирается структура нейросети, руководствуясь заданными требованиями диагностической модели (1):
*1 = ^) К2 = Ц^) К = Ц(Кг) К = ^2) к2 = ды *1 = ЦК)
К, = ^ (р ) К, = Б (р ) К, = " (К,),
1 т^с>т' 2 т^с>т' 1 тV 2^’
где К1, К2 - коэффициенты передачи выбранных каналов прохождения тестового сигнала объекта диагностирования; р1, рт - параметры структурных единиц объекта диагностирования.
Сеть должна имеет два входа, на которые подаются значения функций передачи каналов прохождения тестового сигнала, наблюдаемых на ОД (слой I). Сеть имеет четыре выхода, соответствующие четырем состояниям (слой К): р - объект работоспособен, д - в ОД имеет место одиночный дефект, кд - в ОД имеют место кратные дефекты, нс - объект находится в
неработоспособном состоянии. Имеется один внутренний слой нейронов 3. В качестве функции возбуждения внутреннего Р](х) и выходного слоя ^(х) выбраны пороговые функции (рис. 2).
кд
Обучающие выборки К1 и К2 формируются на основе наблюдений за состоянием объекта диагностирования. Локализация кратного дефекта выполняется на ОД при замене исправного компонента на неисправный. Полученные значения ошибки обучения составили не более 10%. Проведенные эксперименты и исследования подтвердили целесообразность использования нейросетей для решения задач диагностики. Это дает возможность внедрения новейших компьютерных технологий в производство диагностических комплексов, применяемых при обслуживании технических объектов.
Оценку показателей диагностирования методом исключения варьируемого параметра можно решить как задачи кластеризации и классификации областей состояний объекта диагностирования. Как показывают расчеты, для решения задач кластеризации целесообразно использовать итеративно-градиентный алгоритм обучения НС back propagation (обратного распространения), используемый нами в дальнейшем для минимизации среднеквадратического отклонения текущих выходных значений сигнала от устанавливаемых в многослойной нейронной сети. Этапы кластеризации для НС с алгоритмом обратного распространения, при наличии обучающей выборки, включают первичное формирование кластеров путем попарного сравнения наиболее различающихся входных сигналов. Обучающая выборка строится на основе детерминированной модели при известных интервалах допустимых изменений диагностируемых параметров. Мерой различия для бинарных сигналов может служить расстояние Хемминга, для других типов сигналов - евклидово расстояние. Если входов два, то считают, что первый сигнал принадлежит первому классу (кластеру), второй - второму. При этом строится обучающая выборка, проводится обучение сети.
Случайным образом выбирается один из оставшихся входных сигналов, который вводится в НС. Если среднеквадратичное отклонение текущего выхода от одного из известных выходных сигналов обучающей выборки меньше заданного порогового значения, то входной сигнал считается принадлежащим классу соответствующего примера. В противном случае считается, что входной сигнал принадлежит новому классу. Строится обучающая выборка из трех примеров, и по ней выполняется обучение, и т. д. Аналогичные действия повторяются до тех пор, пока не закончатся все сочетания компонент вектора входных величин.
На втором этапе объединения для каждого сформированного на первом этапе кластера строится «центральный», или «эталонный», образ, каждый элемент которого есть среднее арифметическое соответствующих элементов всех примеров данного класса. Далее с помощью меры Хемминга или Евклида определяется расстояние между парами «центральных» образов. Если расстояние меньше некоторого порогового значения, то два класса объединяются в один.
р
д
нс
Соответствующим образом формируется новая обучающая выборка, по которой проводится обучение НС. Эту операцию повторяют до тех пор, пока не останется ни одной пары классов, расстояние между «центральными» образами которых меньше порогового значения.
Анализируя возможность программной реализации этого алгоритма на языке Ма1;ЬаЬ, можно выбрать сеть Кохонена.
Алгоритм обучения такой сети (рис. 3) предусматривает
самообучение по правилу «победитель забирает все» и обеспечивает решение задачи автоматической классификации, т. е. отнесения предъявленного вектора входов к одному из классов. Итоговым результатом обучения являются векторы весов, показывающие на центры кластеров (центры
группирования) входных образов.
При настройке сети все векторы весов должны быть нормализованы: 1111 = 1, (/ = 1, 2, ..., т): + п(х - ^г), где
индекс г обозначает нейрон-победитель, соответствующий вектору весов ^г, который ближе всех расположен к (текущему) входному вектору X, П - коэффициент скорости обучения. После выявления нейрона-победителя его выход устанавливается равным единице (у остальных нейронов устанавливаются нулевые выходы), а веса корректируются так, чтобы уменьшить квадрат величины рассогласования ||х - ^г||2. Коррекция весов у других нейронов не производится. Итоговым результатом коррекции весов являются векторы весов, показывающие на центры кластеров входных образов. Для обучения сети не требуется значения целевых векторов, так как сеть обучается без учителя и в процессе обучения классифицирует входные векторы в группы схожих. Коэффициент скорости обучения п обычно полагается равным 0,7 и может затем постепенно уменьшаться в процессе обучения. Это позволяет делать большие начальные шаги для быстрого грубого обучения и меньшие шаги при подходе к окончательной величине.
Сеть является предельно простой, но вместе с тем достаточно эффективной. Слой Кохонена часто применяется в составе других сетей в силу своей самообучаемости, и хотя поставленная задача имеет целевые векторы использование сети Кохонена, может открыть новые возможности при решении задач диагностики. Рассмотрим тестирование сети Кохонена в среде Ма1ЬаЬ для примера оценки работоспособности объекта.
Для обучения нейросети требуется построение входного вектора Р и выходного вектора Т в качестве эталонной обучающей последовательности. Рассмотрим структуры и содержание этих векторов. Обучение НС будет производиться на примере диагностической изоварной карты электронного стабилизатора напряжения переменного тока [2], поэтому структура и содержание компонент вектора Р следующие: две строки, соответствующие двум координатам изоварной карты К1, К2, и N столбцов, задающих объем обучающей выборки. Все состояния объекта диагностирования можно разбить на следующие области: работоспособности, одиночных дефектов, кратных дефектов; неработоспособных состояний.
Сеть, воспринимая входной вектор как точку с двумя координатами, должна определить, к какой области он относится, и дать заключение о состоянии объекта, т. е. выход сети имеет четыре варианта, соответствующие каждой из областей состояний. Структура вектора Т зависит от кодирования состояний объекта диагностирования. Если принадлежность одной из областей обозначить логической единицей, а непринадлежность - нулем, тогда сеть должна иметь следующие выходы:
- Т1 = (1; 0; 0; 0) - работоспособное состояние (Г1);
- Т2 = (0; 1; 0; 0) - дефект одного элемента (Т2);
- Т3 = (0; 0; 1; 0) - дефект нескольких элементов (Т3);
- Т4 = (0; 0; 0; 1) - недопустимое состояние (Т4) (выход из строя всех элементов).
*
Хп
Рис. 3. Структура сети Кохонена
Векторы Ті, Т2, Т3, Т4 представлены в виде векторов-столбцов. Количество столбцов вектора Т зададим равным N - общему объему обучающей выборки. Тогда каждой из четырех строк вектора Т ставится в соответствие состояние ОД: Ti, Т2, Т3, Т4. Чтобы связать выходные векторы с состояниями объекта, необходимо построить конфигурацию соответствующих областей по координатам изоварной карты Ki, К2.
На рис. 4 представлена структура областей состояний ОД, которая соответствует реальным картам изовар. Если рассматривать карту изовар как прямоугольную систему координат для двух переменных, то границы областей можно представить в полярной системе координат, тем самым связав переменные. Пусть координаты рабочей точки РТ (0,5; 0,5) являются центром полярной системы координат, p - расстояние, ф - угол поворота. Тогда связь между декартовыми координатами произвольной точки плоскости Ki, К2 и введенными параметрами определится соотношениями: Ki = p cos ф + 0,5; К2 = p sin ф + 0,5. Изменяя угол в пределах 0 < ф < 2п и меняя параметр p в пределах плоскости Ki, К2, т. е. в пределах 0 < p < 0,5, можно получить координаты любой из точек областей. Границы областей состояний можно определить с помощью параметра p следующим образом:
- p ~ 0,05 - граница области работоспособности;
- p ~ 0,05 и p ~ 0,25 - границы области однократных дефектов;
- p ~ 0,25 и p ~ 0,45 - границы области многократных дефектов;
- p ~ 0,45 и p ~ 0,475 - границы области недопустимых состояний.
Для дополнительного качества обучения кроме включения координат границ областей состояний можно также представить во входном векторе последовательности точек, принадлежащих разным областям, и разграничить совпадающие границы областей. Такое построение увеличит объем обучающей последовательности с 605 до 759 обучающих пар, но тем самым увеличит и точность отнесения входных векторов желаемым областям состояний. Полученный объем в отношении к нейронным сетям, решающим задачи классификации и кластеризации, не является большим и существенно не повлияет на скорость функционирования сети, в частности вероятностной НС. При ограниченных аппаратных возможностях реализации сети можно опустить рассмотренную дополнительную составляющую обучающей последовательности и использовать только координаты областей состояний. Программа построения разрабатываемой сети будет реализовываться в среде MatLab, применяющейся при решении математических задач. Поэтому выбор структуры нейросети можно выполнять исходя из возможностей среды MatLab
и ее специализированного пакета Neural Network Toolbox.
Пакет Neural Network Toolbox содержит средства для проектирования, моделирования, обучения и использования множества известных парадигм аппарата искусственных НС: от
базовых моделей персептрона до самых современных ассоциативных и самоорганизующихся сетей. Для каждого типа архитектуры и обучающего алгоритма НС имеются функции инициализации, обучения, адаптации, создания и моделирования.
В состав пакета Neural Networks Toolbox входит 150 различных функций, образуя собой своеобразный макроязык программирования, который позволяет создавать, обучать и использовать самый широкий класс нейросетей. Данные функции по своему назначению делятся на ряд групп: функции активации и связанные с ними функции обучения нейронных сетей. Функции настройки слоев нейронов являются вспомогательными при работе с некоторыми функциями обучения НС, а также используются при настройках однослойных нейросетевых структур (персептронов, слоев Кохонена и т. п.). Функции одномерной оптимизации можно рассматривать как вспомогательные для функций обучения.
Для многих НС этапом, предваряющим процедуру их обучения, является инициализация, т. е. задание некоторых, обычно выбираемых случайным образом, весов и смещений сети. Функции преобразования входов сети преобразуют значения входов с использованием операций умножения и суммирования. Функции весов и расстояний используют при создании самоорганизующихся карт. К функциям использования нейронных сетей относятся:
- функция, моделирующая работу НС;
- функция инициализации НС;
- функция, осуществляющая обучение НС;
- функция информации о структуре и свойствах НС.
Пакет Neural Networks Toolbox содержит ряд блоков, которые могут быть использованы для построения НС (в виде схем) в среде Simulink, либо могут применяться вместе со специальной функцией gensim для создания модели сети по существующей программе на нейрочипе, нецелесообразной вследствие высокой их стоимости и сравнительно небольшими требованиями, предъявляемыми нейросетью к микросхеме, так как исходная структура сети содержит всего два слоя и оперирует с двумя входами. Одним из вариантов аппаратной реализации является применение микроконтроллера фирмы Analog Devices, основное преимущество которого в решаемой задаче состоит в низкой стоимости.
При решении сложных, плохо формализуемых задач диагностики эффективность нейросетевого подхода проявляется в полной мере и может быть успешно использована для решения задач диагностики судовых электрических средств автоматизации (СЭСА). Выполняются задачи идентификации моделей, кластеризации данных, распознавания образов. При диагностировании судовых электрических средств автоматизации технические состояния структурных единиц и элементов СЭСА можно принять за распознаваемые образы, а входной набор данных представить массивами значений основных диагностических признаков. Анализ состояний ОД, отображенных в пространстве основных диагностических признаков, выполняется при разбиении плоскости К1, К2 на подобласти состояний ОД. При этом группируются входные данные по критерию близости. Сеть выполняет кластеризацию данных, которая позволяет построить эффективный анализ состояния ОД при выполнении локализации дефектов в схемах СЭСА. Задачу диагностирования СЭСА можно свести к задаче наблюдения за величинами диагностических признаков выбранных каналов диагностирования.
При использовании нейросетевых методов существуют различные способы выделения областей. Выбор наиболее оптимальных из них, обеспечивающих сходимости построенных алгоритмов, является первостепенной задачей, решаемой при нейросетевом подходе. В настоящее время применяются различные способы реализации запоминания областей. Наиболее употребляемые из них - это выделение областей гиперплоскостями и покрытие областей гипершарами. Для запоминания одной из ограничивающих область гиперплоскости достаточно сохранения
(n + 1) значения, где n - размерность пространства. Соответственно для запоминания одного гипершара также требуется (п + 1) значение: координаты центра и радиус.
В нейронных сетях для запоминания каждой гиперплоскости или гипершара используется отдельный элементарный вычислитель, называемый нейроном, а для запоминания всех гиперплоскостей или гипершаров используется объединение составляющих нейронов в параллельную структуру - нейросеть. Именно параллельная согласованная работа всех нейронов обеспечивает быстрое решение задачи о принадлежности точки n-мерного пространства выделяемой при создании сети области.
Выберем для решения задач диагностики однонаправленные двухслойные сети, дающие
хорошие результаты сходимости и точности решений. Задача формирования обучающей выборки, определение ее объема решается исходя из конкретного условия поставленной задачи. Выберем множество пар входных и выходных векторов {Xk, Yk}, k = 1, N, где N - размер обучающей выборки. НС считаем однородной с последовательными связями и сигмоидальными передаточными функциями. Для определения количества нейронов, необходимого числа синаптических связей и их весов Lw используется соотношение
MN/(1 + log2N) < Lw <M[(N/M) + 1](n + M + 1) + M,
где М = 2m - размерность входного сигнала; m - количество двухполюсных компонент схемы замещения ОД; n - размерность входного сигнала. При решении задач диагностики методом исключения варьируемого параметра пространство наблюдений состоит из двух диагностических признаков, т. е. n = 2.
Для определения количества синаптических связей при рассмотрении схемы, содержащей 20 составляющих компонент, зададимся следующими параметрами: N = 512; n = 2; М= 106. Тогда получим: 2 • 105 < Lw < 1012. Количество нейронов определим из соотношения: L = Lw / (n + M), тогда L = 100. Построение такой сети реально. Наиболее эффективным в данном случае является алгоритм обратного распространения (back propagation), и если функция активации нейрона дважды дифференцируема, то согласно теореме «о полноте» любая непрерывная функция на замкнутом ограниченном множестве может быть равномерно приближена функциями, вычисляемыми нейронными сетями.
Рассмотрим двухслойную сеть с несколькими нейронами скрытого слоя (рис. 5). Построим алгоритм обучения данной нейросети.
Специфика этого алгоритма определяет круг задач диагностирования судовых ЭСА. Выход сети
описывается выражением
Ok = 1 / (1 + exp (-wTok)),
где w - вектор весов
k
выходного нейрона; o -вектор выходов нейронов скрытого слоя
с элементами:
где wi - вектор весов, связанных с i-м скрытым нейроном, i = 1, L.
Градиантная корректировка весов выполняется на основе минимизации квадратичной функции ошибки посредством следующих соотношений:
W: = W- n[5^k(W, w)/dW]; w, = W- n[dEk(W, w)/SW,-],
где n = const - коэффициент скорости обучения (0 < n < 1).
Тогда для сигмоидальной функции активации получим:
dEk(W, w) / dW = 0,5d/dW[yk - 1 / (1 + exp(-wT ok))]2 = -(yk - Ok)Ok(1 - Ok)ok.
Подставляя в исходное выражение, получим в скалярной форме:
W : = W + nSko!k,
где 5k = (yk - Ok)Ok(1 - Ok).
Аналогично для второго выражения в скалярной форме получим:
Wj = Wj + n5kW-ok(1 - ok)xk,
где i = 1, L; j = 1, n. Алгоритм обучения нейросети, представленный на рис. 6, используется для построения процедуры оценки состояния объектов судовых ЭСА. Наиболее употребляемым
Рис. 5. Нейронная сеть с корректировкой весов
ok = 1 / (1 + exp(-w i xk)),
способом запоминание областей является способ выделения областей гиперплоскостями.
Рис. 6. Алгоритм обучения нейросети
2
3
4
5
6
7
Для запоминания отдельной гиперплоскости используется нейрон. Совокупность гиперплоскостей представляется объединением нейронов в нейросеть, выполняющую параллельную согласованную работу всех нейронов, что обеспечивает оперативное решение задачи идентификации точки области, выделяемой при построении сети. Каждый нейрон / задает значениями весов своих входов уравнение гиперплоскости:
п( / )
а, = УЖ X = 0,
■> / -< / / ’
I=1
где п(/) - количество входов нейрона/; а, - величина порога функции активации,/ е {1, 2, ..., Щ, согласованную работу всех нейронов, что обеспечивает оперативное решение задачи об идентификации точки области, выделяемой при построении сети. Каждый нейрон / задает значениями весов своих входов уравнение гиперплоскости:
«(j)
a, = YWX = 0,
J ' J J J ’
i=1
где n(J) - количество входов нейрона j; aj - величина порога функции активации, J є {1, 2, ..., N}, где N - количество нейронов. Двухуровневая НС способна аппроксимировать любую непрерывную функцию, определенную на ограниченном множестве {x1, x«}, с любой заданной точностью є > 0:
N «(j')
fix^ ., x«) = Yv (i/(i+exp(-YWjxj ))ь
i=1 /=1
где N - количество нейронов первого слоя; Wij - вес j-го входа i-го нейрона первого слоя с
сигмоидальной функцией активации, i = 1, N; j = 1, «. В двумерном пространстве основных
диагностических признаков можно выполнить разбиение изоварной картины по областям с реализацией распределенного коллективного запоминания нейронами при обучении. При этом выделение области работоспособности и областей одиночных и кратных дефектов наиболее эффективно проводится гиперплоскостями. Анализ изоварной картины мостового выпрямителя показал возможность использования нейросети для автоматизации диагностических процедур.
Обучения НС выполняется на основе построения входного вектора Рвх (две строки, соответствующие двум координатам К1, К2 пространства основных диагностических признаков, и N столбцов, задающих объем обучающей выборки) и выходного вектора Твых (в качестве эталонной обучающей последовательности).
Выполним кодировку состояния ОД следующим образом: каждой строке вектора Твых поставим в соответствие состояние ОД первой строке вектора Твых - работоспособное состояние ОД (если ОД работоспособен, то значение компоненты вектора Твых(1,1 : N) = 1, в противном случае 0; второй строке вектора Твых - дефект одного или нескольких элементов ОД (если работоспособность потеряна, то значение компоненты вектора Твых(2,1 : N) = 1, в противном случае 0); третьей строке вектора Твых - выход из строя всех элементов ОД (если недопустимое состояние, то Твых(3,1 : N) = 1, в противном случае 0). Количество столбцов вектора Твых зададим равным N - общему объему обучающей выборки.
При кодировании состояний ОД по координатам пространства основных диагностических признаков (К1, К2) строится конфигурация соответствующих областей, которая соответствует реальным картам изовар, представленным в работе [2]. На плоскости К1, К2 введем полярную систему координат с центром в точке (0,5; 0,5) : К1 = R0cos Fi + 0,5; К2 = R0 sin Fi + 0,5. Изменяя R0 и Fi, переберем все точки пространства диагностирования и построим векторы обучающей последовательности Р и Т. Одновременно, задав точки тестирования внутри рассматриваемых областей, дадим оценку качества обучения. В работе [2] показано, что для решения задач кластеризации, выделения и классификации областей состояний ОД на плоскости изоварных характеристик наиболее эффективно использовать сети с радиусными базисными функциями. В пакете Neural Networks Toolbox их три - newrbe, newpnn и negrnn, отличающихся структурой и видом функции активации нейронов. Выбор нейросети можно осуществить, создав алгоритм и программу тестового опробования в соответствии с изложенной методикой.
Тестовая обучающая последовательность построена на основе кластеризации, т. е. разбиении пространства диагностических признаков К1, К2 на области состояний ОД. Для выбранной сети Кохонена критерий подстройки весов выражается соотношением jj x - wr jj = min jj x - wi jj, где r -нейрон-победитель, соответствующий вектору весов wr, jj wi jj = 1, i = 1, m. На выходе нейрона-победителя устанавливается 1. При этом на выходе остальных нейронов устанавливается 0. Веса входов корректируются из расчета минимума квадрата рассогласования: min{jj x - wr jj2}.
Согласно градиентному методу будем иметь: wiTwi = jj wi jj2 = 1, {jj x - wr jj2 = xTx - 2 wiTx + 1;
T T 2 2
wr = max wi x; wr : = wr - n(djj x - wr jj / dwr); djj x - wr jj / dwr = -2(x - wr). Тогда получим выражение для корректировки: wr : = wr + 2n(x - wr). На основании полученных соотношений построим алгоритм Кохонена (рис. 7).
Рис. 7. Алгоритм Кохонена
3
4
5
б
7
8
Сначала задаются нормализованные по длине случайные векторы. Далее начинается цикл обучения с ввода очередного вектора входов: выявляется нейрон-победитель и выполняется корректировка вектора его весов; задается единичный выход и выполняется нормализация полученного вектора; задаются значения для остальных нейронов и выполняется проверка правила останова. Алгоритм заканчивается, если условия останова выполняются, в противном случае все повторяется со второго шага. В результате выполнения процедуры коррекций получаются векторы весов и центры кластеров входных образов.
После кластеризации предъявленных векторов входов выполняется выделение центров кластеров входов. После кластеризации состояний на примере мостового выпрямителя при наблюдениях по методу исключения варьируемого параметра можно решить задачу автоматического выделения центров кластеров. Ниже приведена программа выделения центров и опроса сети:
clusters = 12; ’Задание параметров для моделирования исходных данных’ points = 10; std_dev = 0.01;
Х = [0 1;0 1];’Задание пространства положения центров кластеров’
P = nngenc(X, clusters, points, std_dev); ’Моделирование исходных данных’ h = news([0 1;0 1],64,1);’Создание слоя Кохонена’ h.trainParam.epochs = 500; ’Задание количества циклов обучения’ h = init(h); ’Инициализация сети’ h = train(h,P); ’Обучение сети’ w = h.IW{1};
plot(P(1,:),P(2,:),'+); ’Вывод исходных данных’
hold on; plot(W (1,:),W(2,:),'o');’Вывод центров заданных кластеров’
xlabel('p(1)');
ylabel('p(2)');
p = [0.55; 0.2]; ’задание вектора предъявления D’ y = sim(h,p);’Опрос сети’ у = (5,1) 1 Результаты опроса сети'
На рис. 8 представлено
пространство основных диагностических признаков и области состояний электронного стабилизатора, выделенные в результате анализа вектора условных вероятностей, а также детерминированная изоварная картина.
После обучения и опроса нейросети предъявленный вектор (см. рис. 8; точка Б) отнесен к кластеру К5, соответствующему короткому замыканию 4-го элемента.
Таким образом, при решении основных задач диагностики по локализации дефектов и определении предотказных состояний судовых ЭСА методом исключения варьируемого параметра могут быть использованы нейросетевые процедуры, включенные в общий алгоритм создания нейросети, в составе программно-аппаратного комплекса диагностирования. На рис. 9 приведен алгоритм формирования НС при решении комплексной задачи диагностирования судовых ЭСА. Сначала строится регулярная модель на основе метода исключения варьируемого параметра ранее описанным способом: составляется эквивалентная схема замещения объекта диагностирования, определяются допустимые границы варьирования составляющих компонент. На основе введенных критериев выбираются два канала диагностирования.
Рис. 9. Алгоритм построения нейросети для решения задач диагностики
После этого выполняется операция кластеризации пространства основных диагностических признаков (пространство доступных измерений) на основе нейросети Кохонена, затем выполняется снятие диагностической информации непосредственно на объекте диагностирования (измеряются основные диагностические признаки К1, К2); производится обучение нейросети с радиальными базисными функциями; выполняется оценка работоспособности ОД, локализация предотказных состояний и поиск возникших отказов.
Разработанный метод исключения варьируемого параметра позволяет в целом решать задачи диагностики. Однако для объектов диагностирования средней и высокой размерности полученные регулярные модели не всегда дают хорошие результаты по точности и однозначности идентификации. Для цепей средней и большой размерности эта задача была решена в вероятностной постановке.
С целью опробования вероятностных моделей были поставлены диагностические эксперименты с нейросетью на выходе. Это дало возможность повысить адекватность полученных моделей и приблизить алгоритмическое описание процессов в схемах судовых ЭСА к реальным условиям, что повысило достоверность диагностирования.
Литература
1. Нейроинформатика / А.Н. Горбань, В.Л. Дунин-Барковский, А.Н. Кардин и др. -Новосибирск: Наука, 1998. - 295 с.
2. Пюкке Г.А., Кузнецов С.Е., Портнягин Н.Н. Диагностирование электрических цепей методом изовар / Изв. вузов. Электромеханика. - 1998. - №1. - С. 35-40.