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

advertisement
Классификация потока сообщений об ошибках в промышленной
программной системе с помощью гибридной модификации сети ВангаМенделя
Пудикова
Екатерина
katherinmail@gmai
l.com
Солдатова Ольга
opsoldatova@yandex.
ru
В статье описывается гибридная модификация
нейронной нечёткой продукционной сети ВангаМенделя с несколькими выходами, используемая
для решения задачи классификации потока
сообщений в промышленной программной
системе. Описан алгоритм обучения данной сети и
исследована эффективность работы первого
модуля гибридной сети для решения задачи
кластеризации потока входных сообщений.
ошибки в системе она больше не воспроизводится.
Это означает, что поток сообщений постоянно
изменяется и число повторяющихся сообщений
незначительно по сравнению с объемом
анализируемого потока [5].
Таким образом, можно поставить следующую
задачу: требуется построить систему, способную
классифицировать входной изменяющийся поток
данных
в
соответствии
с
заранее
предопределенными классами, необходимыми
системе, использующей данный классификатор.
1. Введение
2. Выбор модели классификатора
Аннотация
Современные промышленные программные
комплексы это не просто приложения, написанные
узкой группой людей, это многомодульные
архитектуры,
разрабатываемые
в
течение
длительного
периода
времени
и
порой
независящими друг от друга командами
разработчиков. Результатом построения такого
решения является в идеале бесшовная интеграция
программных компонентов, но в реальности
получается программное решение, в процессе
эксплуатации которого выявляются ситуации
ошибочного поведения, свидетельствующие о
необходимости
доработки
решения
или
неправомочном использовании системы. Каждое
событие, свидетельствующее о вне сценарном
поведении,
генерирует
сообщение,
регистрируемое
внутренней
системой
мониторинга. Впоследствии такое сообщение
должно быть классифицировано для выбора
автоматического
сценария
разрешения
возникшего сбоя, либо делегирования решения
проблемы квалифицированной группе экспертов.
При этом в рамках процесса разработки комплекса
считается, что после успешного разрешения
380
Исследуемый
поток
событий
обладает
следующими свойствами:
1) Все сообщения написаны на естественном
языке – английском, таким образом, чтобы
эксперт мог выявить краткий семантический
смысл сообщения;
2) Все сообщения имеют фиксированную длину,
в связи с чем, могут быть сокращены в
произвольном месте;
3) Сообщения могут содержать как заранее
подготовленную экспертами информацию, так
и сгенерированные автоматически сообщения;
4) Элементы потока практически не повторяются
и изменяются во времени, в некоторых случаях
сообщения могут иметь зависимость от
времени их генерации (в системе наступают
события,
возникающие
при
работе
компонентов,
функционирующих
по
расписанию);
5) Содержимое сообщений для различных
классов может в значительной степени
совпадать, но при этом, в них могут
содержаться сигнальные слова, указывающие
на класс события.
Чтобы проанализировать поток данных,
обладающий
вышеуказанными
свойствами
недостаточно
разработать
систему
с
фиксированным алгоритмом классификации, так
как содержимое сообщений постоянно изменяется,
хотя в целом семантика сообщения остается
неизменной. Более того, невозможно заранее
сформировать словарь базовых терминов, на
который
бы
могла
опираться
система
классификации, так как формирование такого
словаря по трудоемкости сравнимо с процедурой
написания статического классификатора. Таким
образом, система должна самостоятельно уметь
накапливать опыт и на его основе выполнять
классификацию.
Подобным
свойствам
на
сегодняшний день отвечают нейросетевые
архитектуры классификаторов.
При этом выбранная сетевая архитектура
должна обладать следующими свойствами:
1) Сравнительно высокая скорость обучения.
2) Высокая скорость отклика: формирование
сигнала на одноядерном процессоре с частотой
3Ггц <= 0.5с.
3) Способность
к
классификации
сильно
пересекающихся классов.
Вышеуказанным свойствам лучше всего
соответствуют нейронечеткие сети.
В качестве базовой модели, хорошо себя
зарекомендовавшей
для
решения
задач
классификации нечетких множеств данных, мы
выбрали сеть Ванга-Менделя [1], [2].
3.
Формирование
множества
обучающего
В качестве примеров и соответствующих им
определенными
группой
экспертов
семантическими
классами,
были
выбраны
сообщения,
сгенерированные
реальным
действующим промышленным программным
фреймворком. Поток составлял 1000 записей. В
качестве обучающего множества были отобраны
первые 200 элементов потока. Все отобранные
элементы были проверены на семантическую
полноту так, чтобы на основе содержимого
сообщения
можно
было
сделать
четкое
предположение о том, к какому именно классу
можно отнести тот или иной элемент. Неполные
или неопределённые сообщения были исключены
из обучающего множества.
Был проведен эксперимент с участием трёх
человек не знакомых ни с предметной областью,
описание которой встречается в сообщениях.
Целью эксперимента было:
 показать, что на основе отобранного
множества данных экспериментатор может
научиться
правильно
классифицировать
сообщения;
381

выявить стратегию обучения, приводящую к
наискорейшей
минимизации
числа
некорректных классификаций;
 наблюдение за стратегией анализа данных и
процессом построения классификационных
правил.
По условию эксперимента каждый человек
должен считывать очередное сообщение и сделать
предположение о том, к какому именно классу оно
относится.
Экспериментатору
предлагалось
различное число примеров, после которых
результаты классификации сравнивались с
реальными классами сообщений. На каждой
итерации классификации экспериментатор вслух
произносил правило, по которому он выполнял
классификацию сообщения. После итерации
анализа
ошибок,
экспериментатор
реструктуризировал правила, на основе которого
он выполнял классификацию.
Проведенный в таких условиях эксперимент
показал, что:
 На основе выбранного набора примеров
экспериментаторы
могут
эффективно
обучаться и в дальнейшем корректно
классифицировать прочие элементы потока.
 Для наискорейшего получения корректного
правила
классификации
экспериментатор
должен сравнивать ответ с эталоном либо сразу
же, либо через 2-3 итерации, большее число
шагов осложняет процесс формирование
правил.
 Для увеличения скорости формирования
корректных правил вывода экспериментатору
следует сначала подавать сообщения с
наиболее четкими сигнатурами, которые легко
классифицируются, и лишь потом подавать все
более и более нечеткие примеры.
 Экспериментатор
сначала
строит
статистически
обусловленное
правило
классификации,
например,
на
основе
повторяющихся закономерностей, а затем
формирует семантическое правило, на основе
смысла, который извлекает из предъявленных
сообщений. При этом если какой-либо класс
представлен повторяющимися сообщениями
одного
типа,
то
семантическое
и
статистическое правила совпадают.
 Экспериментатор всегда пытается первым
применить семантическое правило, и если оно
не принесло четких результатов, то тогда
обращается к статистическому правилу.
 Неполные семантические правила в процессе
обучения претерпевали реструктуризацию или
уточнение.
В основу выбранной модели классификации
легли результаты наблюдений, полученные в ходе
данного эксперимента.
4.
Гибридная
модификация
нейронечеткого классификатора ВангаМенделя
Результатом
эксперимента
послужило
наблюдение того, что в целом, для человека,
незнакомого с предметной областью, слова,
встречающиеся в сообщениях, зачастую не несут
никакого семантического смысла и в процессе
обучения экспериментатор самостоятельно учится
извлекать смысл из слов сообщения. Более того,
итоговый
смысл
всего
сообщения
для
экспериментатора может означать конечный
класс, с которым ассоциировано данное
сообщение. Из этого следует, что семантический
смысл того или иного сообщения, можно
интерпретировать как класс, к которому было
отнесено это сообщение.
В
изменяющихся
сообщениях
должен
содержаться
семантический
инвариант,
постоянный для всего потока в целом. Эти классыинварианты необходимо выявить и сохранить в
структуре сети. Следствием этого тезиса стала
следующая
структура
нечеткой
сети,
представленная на рисунке 1.
Сеть
состоит
из
двух
модулей,
представляющих
собой
многовыходовую
модификацию сети Ванга- Менделя. Особенность
первого модуля состоит в том, что число
выходных нейронов в слое деффузификации на
начальный момент времени не определено и
должно сформироваться в процессе обучения.
Этот модуль является самоорганизующимся
модулем, выходные нейроны которого на основе
предпосылок правил слоя фуззификации должны
описать
входное
пространство
данных
наименьшим числом выходных нейронов. Второй
модуль содержит фиксированное множество
382
заранее определенных выходных классов, которые
для данной задачи называются: NC Defect, Other
Defect, Manual Task, Info Task and Auto Task.
5. Описание алгоритма обучения
гибридного
нейронечеткого
классификатора Ванга-Менделя
В процессе обучения на вход сети подается
последовательность сообщений, представленных в
числовой форме. Каждое слово закодировано с
помощью специальной хэш-функции в число от 0
до 1. Применяемая хэш-функция выбрана таким
образом, чтобы она не давала коллизий и, чтобы
отображение
в
числовое
пространство
однокоренных слов давало близкие числовые
значения.
Алгоритм вычисления следующий:
1) Из всего множества слов сообщений
выбирается наиболее длинное и сохраняется
как эталон. Это слово кодируется в числовое
представление с помощью кодировки UTF32.
2) Кодируемое слово сообщения получает
числовое значение с помощью кодировки
UTF32.
3) Код этого слова сравнивается с выбранным
эталоном. Разница между закодированными
словами рассчитывается как евклидово
расстояние
4) Полученное
евклидово
расстояние
принимается как код данного слова.
5) Выбирается максимальное значение кода и на
все полученные коды нормируется на его
величину.
Процесс обучения сети состоит из четырех фаз.
Первая фаза - обучение с кластеризацией слоя
фуззификации первого модуля сначала с помощью
адаптивного алгоритма обучения сети Ванга-
Менделя, чтобы определить число нечетких
классов во входном обучающем множестве [3]. В
результате применения этого алгоритма из
входного множества, состоящего из 200 примеров,
удалось выделить 101 правило нечеткого вывода.
Затем значения центов cij
функции Гаусса,
использующейся
в
качестве
функции
фуззификации, уточнялись с помощью алгоритма
нечеткой самоорганизации C-means [3].
Вторая фаза обучения заключалась в
определении
числа
четких
классов,
присутствующих в исследуемом обучающем
множестве. При этом задача заключалась в том,
чтобы минимальным числом четких классов
описать входное множество. Для этого сеть была
модифицирована так, что выходной сигнал
каждого нейрона вычислялся в соответствии с
выражением 1.
∑
(1)
∑
Где
– сигнал, сгенерированный текущим
нейроном.
β – это степень доверия текущего нейрона
деффузификации к выходным сигналам соседей.
Этот параметр определяет, какую максимальную
долю от выходного сигнала может составлять
суммарный выходной сигнал соседей. Параметр αij
– здесь элементы матрицы весов связей выходных
нейронов. В данном алгоритме самоорганизации
считается, что текущий нейрон может быть связан
с
половиной
всех
выходных
нейронов,
формирующихся в процессе самоорганизации,
которые являются ближайшими топологическими
соседями текущего нейрона.
– это выходные
сигналы нейронов-соседей.
Применялся
следующий
алгоритм
самоорганизации:
1) Создается первый нейрон деффузификации,
веса которого инициализируются случайным
образом из диапазона [0,0.05].
2) Последовательно подаются входные данные.
Если нейрон генерирует сигнал ниже порога
узнавания, то создаётся новый нейрон. В
качестве порога узнавания использовалось
эмпирически выбранное число от 0 до 1,
соответствующее минимальному уровню
сигнала, который бы сгенерировал нейрон
деффузификации при распознавании входного
сигнала. В данной работе уровень узнавания
выбран равным 0.2. Новый нейрон должен
соответствовать гипотезе о классе, поэтому он
обучается на текущем примере до тех пор,
пока не преодолеет порог узнавания.
3) В каждой последующей итерации обучения
применяется подход WTA [4], то есть только
тот нейрон модифицирует свои параметры,
который сгенерировал наибольший сигнал.
При этом, если максимальный сигнал
383
оказывается ниже порога узнавания, значит
входной сигнал не принадлежит ни к одному
из текущих классов и снова создаётся новый
нейрон. Иначе корректируются веса текущего
нейрона с помощью алгоритма обратного
распространения ошибки сформулированного
для данной модификации сети ВангаМенделя.
Веса
модифицирются
в
соответствии с выражениями (2) и (3).
(
(
)
∏
∑
∏
)
(2)
(3)
∑
Здесь
расчёте
и
– коэффициенты обучения при
соответственно.
– итоговые выходные сигналы нейронов
слоя деффузфикации на n итерации.
–
функция принадлежности, использованная в слое
фуззификации. β – это степень доверия текущего
нейрона деффузификации к выходным сигналам
соседей.
- число элементов входного вектора.
число
функций
фуззификации
в
фуззификационном слое.
– выходные
сигналы нейронов-соседей.
Результатом применения данного алгоритма
стала кластеризация 46 четких классов. Ниже в
таблице 1 приведены примеры полученных
кластеров с номерами 36, 2 и 14.
Таблица 1. Результаты кластеризации
первого модуля дефуззификации
Номер
Класс
№ класса
примера эксперта
87 Other Defect
199 Other Defect
2
1 Manual Task
34 NC Defect
37 Manual Task
54 Manual Task
57 Manual Task
94 Manual Task
100 Manual Task
125 NC Defect
181 Manual Task
183 Manual Task
186 Manual Task
187 Manual Task
14
21 NC Defect
22 Info Task
101 Manual Task
105 Manual Task
119 Other Defect
130 Manual Task
162 NC Defect
36
Содержание сообщения
[BSS_T] Error invoking web
[BGC_T] Error invoking web
[SC&A_T] Nack status has
[EMPTY DESCR] Error in
[LDAP_T] HSS return non
Perform voice and data VC
Perform voice and data VC
[BGC_B] Reject reason: EXEC
[EMPTY DESCR] Review a new
[SC&A_B] Unable to map
[BGC_B] Reject reason: EXEC
[BGC_B] Reject reason: EXEC
[BGC_B] Reject reason: EXEC
[BGC_B] Reject reason:
[BGC_B] Error while validating
<p> Code: BIZ-FNP- </p>
[BGC_B] Review a new BGC
[BGC_B] Reject reason: SNA
[BGC_B] Reject reason: Format
[BGC_B] Reject reason: Another
[BGC_T] Unknown technical
В данной таблице содержится только
начальная часть сообщений, использованных при
обучении. Из таблицы видно, что класс 36
распознает только сообщения содержащие
выражения: Error invoking web service. Класс 2
распознает в основном сообщения manual tasks,
число слов в которых приблизительно 8 и
содержат ключи: [EMPTY DESCR], [SC&A],
Perform voice and data VC provisioning, [BGC_B]
Reject reason. Класс 14 также оказался
чувствительным к сообщениям содержащим ключ
[BGC_B] Reject reason, но в отличии от класса 2,
эти сообщения длиной около 12 слов. Таким
образом видно, что для данного алгоритма
кластеризации длина смысловой части сообщения
оказалась важна. Но при этом эти классы между
собой не конкурируют и при дальнейшем
использовании дают четкие результаты. Так же из
таблицы видно, что в класс могут вмешиваться и
лишние сообщения, например класс 2 распознал
сообщение «[LDAP_T] HSS return non "registered",
status is unregistered», хотя аналогов ему нет. Этот
эффект
можно минимизировать с помощью
дальнейшего
обучения
обратным
распространением ошибки с учетом выходных
классов, определенных экспертами.
Третья фаза обучения сети заключается в
формировании нечетких правил импликации в
слое деффузификации второго модуля. Алгоритм
обучения этого слоя идентичен алгоритму первой
фазы.
Последняя четвертая фаза состоит в настройке
свободных параметров второго модуля методом
обратного
распространения
ошибки
в
соответствии с алгоритмом описанном в [3].
6. Заключение
В ходе данной работы была разработана
модель гибридной модификации нейронечеткого
классификатора Ванга-Менделя, содержащая
модуль
самоорганизации,
соответствующий
набору классов-синонимов. Был разработан
алгоритм конкурентного обучения для слоя
деффузификации.
Получены
результаты
кластеризации
сообщений
при
помощи
описанного алгоритма.
Список источников
[1] Новак В., Парфильева И., Мочкорж И.
Математические принципы нечеткой логики.
[Текст]. – М: ФИЗМАТЛИТ, 2006. – 253с.
[2] Борисов В.В., Круглов В.В., Федулов А.С. Нечеткие
модели и сети.[Текст] – М.: Горячая линия –
Телеком, 2007. – 284 с.: ил.
[3] Оссовский С. Нейронные сети для обработки
информации [Текст] / Пер. с пол. И.Д. Рудинского. –
М.: Финансы и статистика, 2002. – 344 с.: ил.
[4] S. Hykin, Neural Networks: A Comprehensive
Foundation, Prentice Hall International, 1999.
[5] M. Stonebraker, U. Çetintemel, S. Zdonik, The 8
Requirements of Real-Time Stream Processing,
SIGMOD Record, Vol. 34, No. 4, Dec. 2005.
384
Download