Особенности внутреннего представления и визуализации извлекаемой из данных информации с использованием модульной нейронной сети BP-SOM
Гридин В.Н., Солодовников В.И.
Центр информационных технологий в проектировании РАН
Аннотация
В статье рассматриваются вопросы структурирования, обобщения и визуализации внутреннего представления информации нейросетью с использованием модульных сетей типа BP-SOM. Данная нейросетевая парадигма является комбинацией традиционной архитектуры сети прямого распространения, такой как многослойный персептрон с алгоритмом обучения back-propagation (BP), и самоорганизующихся карт Кохонена (SOM). Приводится описание архитектуры, принципов построения и обучения модульной нейронной сети. Отмечается влияние SOM слоя на структурирование извлекаемой из данных информации, при котором активация нейронов скрытого слоя при обработке векторов одного и того же класса будет становиться все более схожей. Особое внимание уделяется решению проблемы извлечения правил из обученной нейронной сети.
1 Введение
Зачастую использование нейросетевого подхода в задачах «интеллектуального» анализа данных сопряжено с проблемой интерпретации полученного результата и его предпосылок, что особенно явно проявляется для сетей класса многослойный персептрон. Нейросеть, по сути, выступает «черным ящиком», на вход которого подаются исходные данные и на выходе получается некоторый результат, однако обоснования, почему было принято именно такое решение, не предоставляется. Правила содержатся в весовых коэффициентах, функциях активации и связях между нейронами, но обычно их структура слишком сложна для восприятия. Более того, в многослойной сети, эти параметры могут представлять собой нелинейные, немонотонные отношения между входными и целевыми значениями [Ежов, Шумский, 1998]. Таким образом, как правило, не представляется возможным отделить влияние определенного признака на целевое значение, т.к. этот эффект опосредован значениями других параметров. Также возможно возникновение сложностей с использованием алгоритма обучения back-propagation, как с локальными экстремумами функции ошибки, так и при решении некоторого класса задач. Во многом решению такого рода проблем может служить использование модульных сетей типа BP-SOM.
2 Архитектура сети
Основная идея состоит в том, чтобы повысить схожесть реакции скрытых элементов на примеры из выборки, принадлежащие к одному классу. Для этого традиционная архитектура сети прямого распространения [Ежов, Шумский, 1998], в частности многослойного персептрона (BP), сочетается с самоорганизующимися картами Кохонена (SOM) [Kohonen, 1989], где каждому скрытому слою персептрона ставится в соответствие некоторая самоорганизующаяся карта. Структура такой сети представлена на рисунке 1.
Входной слой Скрытый слой Выходной слой
Рис. 1. Модульная нейронная сеть (ВР^ОМ) с одним скрытым слоем.
В качестве входных значений нейроны карты Кохонена получают вектор выходные значения соответствующего скрытого слоя многослойного персептрона. Важная особенность алгоритма SOM заключается в том, что все нейроны кластерного слоя (ядра классов) упорядочены в некоторую структуру. Обычно используются двумерные сетки (карты). Данная методика позволяет ввести меру взаимодействия между нейронами кластерного слоя не в пространстве входных признаков, а на используемой карте. Величина этого взаимодействия определяется
расстоянием между нейронами на карте и используется для того, что бы в ходе обучения модифицировать не только нейрон-победитель, но и его соседей, но в меньшей степени (рисунок 2 слева). При использовании этого алгоритма вектора, схожие в исходном пространстве, оказываются рядом и на полученной карте.
Рис. 2. Расстояние между нейронами в квадратной двумерной карте SOM и вариант раскраски
некоторой карты.
В результате дополнительные связи в пространстве отображения результата позволяют использовать сеть Кохонена, как для решения задач распознавания и определения близости кластеров в данных, так и для визуализации многомерного пространства (Рисунок 2 справа). Раскраска обученной карты может осуществляться:
• в соответствии с расстояниями между векторами весовых коэффициентов нейронов кластерного слоя;
• в зависимости от значений некоторой компоненты вектора обучающей выборки;
• в зависимости от числа примеров отнесенных к соответствующему нейрону карты;
• в соответствии с известными значениями классов.
3 Алгоритм обучения
Алгоритм обучения ВР-SOM во многом является комбинацией алгоритмов, характерных для обучения ее составных частей [Weijters, 1995]. Сначала исходный вектор обучающей выборки подается на вход сети и осуществляется его прямое прохождение. При этом результат активации нейронов каждого промежуточного слоя используется как вектор входных величин соответствующей ему карты. Обучение SOM составляющих осуществляется обычным для них способом и обеспечивает их самоорганизацию. В дальнейшем эта самоорганизация используется для учета классов, метки которых присваиваются каждому элементу карты Кохонена. Для этого происходит подсчет, сколько раз SOM-нейрон стал победителем и какому классу принадлежал исходный вектор обучающей выборки. Победителем выбирается тот нейрон карты, который был самым близким с точки зрения евклидовой меры расстояния к вектору выходных значений нейронов промежуточного слоя. Наиболее часто встречающийся класс принимается в качестве метки. Надежность метки рассчитывается исходя из соотношения количества появлений класса метки к общему числу побед нейрона, т.е. например, если SOM-нейрон стал 4 раза победителем для класса А и 2 раза для класса В, то меткой будет выбран класс А с достоверностью 4/6. Общая достоверность самоорганизующейся карты равна средневзвешенной достоверности по всем элементам карты. Также использование SOM позволяет визуализировать данные и отобразить области для различных классов (Рис. 1).
Обучение составной части, относящейся к многослойному персептрону, осуществляется алгоритмом во многом сходном с алгоритмом обратного распространения ошибки (Backpropagation, BP), минимизирующим суммарную квадратичную ошибку:
ВРЕггог - У. )2,
где индекс . пробегает все выходы многослойной сети, dj - желаемый выход нейрона ., у. -
текущий выход нейрона . последнего слоя. Данная ошибка передается по сети в обратную сторону от выходного к скрытым слоям. Для элементов скрытых слоев вводится дополнительная
составляющая ошибки SOMError, основанная на информации о принадлежности входного вектора к тому или иному классу с учетом данных самоорганизующейся карты. Таким образом, в
SOM, которая соответствует текущему скрытому слою, осуществляется поиск элемента Vsom , который с одной стороны наиболее близок, с точки зрения евклидова расстояния, к выходному вектору скрытого слоя Vhidden, а с другой имеет ту же метку класса, что и входной вектор.
Расстояние между найденным Vsom и вектором Vhidden принимается за значение ошибки
SOMError и учитывается для всех нейронов скрытого слоя. Если элемент Vsom не был найден, то значение ошибки SOMError принимается равной 0. Таким образом, общая ошибка для нейронов скрытого слоя принимает вид:
BP _ SOMError = (1 -а) • BPError + r-а- SOMError,
где BPError - ошибка персептрона (алгоритм обратного распространения); SOMError - ошибка нейрона победителя сети Кохонена; г - коэффициент достоверности нейрона победителя сети Кохонена; а - коэффициент влияния ошибки сети Кохонена (если взять 0, то обычный BP).
Результаты самоорганизации карт Кохонена используются при изменении весовых коэффициентов в процессе обучения сети, что обеспечивает эффект, при котором активация нейронов скрытого слоя при обработке векторов одного и того же класса будет становиться все более схожей [Weijters, Bosch, Herik, 1998]. Так на рисунке 3 представлены карты SOM размерности 7 на 7 характеризующие реакцию нейронов скрытого слоя BP-SOM сетей, обученных решать задачу классификации для двух классов.
Рис. 3. Раскраска самоорганизующихся карт Кохонена скрытого слоя в зависимости от использованного алгоритма обучения.
Карта слева соответствует алгоритму обратного распространения ошибки (ВР), справа - с учетом влияния карты Кохонена, т.е. ВР^ОМ обучение. Здесь белые ячейки представляют класс 1, а черные класс 2. В свою очередь размер закрашенной области ячейки определяет достоверность результата. Так полностью белые или полностью черные ячейки характеризуют достоверность 100%.
Тем самым обеспечивается структурирование и визуализация извлекаемой из данных информации, что позволяет отобразить области для различных классов, способно улучшить восприятие изучаемого явления и помочь в процессе выбора архитектуры сети. Так для оценки количества нейронов скрытого слоя можно сформулировать следующий набор условий:
• если на карте SOM можно явно выделить отдельные области различных классов и присутствуют нейроны, которые никогда не становятся победителями, либо таких побед меньше некоторого выбранного уровня, то в этом случае количество нейронов слишком большое и его необходимо уменьшить;
• если невозможно выделить области отдельных классов, значит, нейронов недостаточно и их число следует увеличить.
Более того, данный подход способен упростить извлечение правил из уже обученной нейронной сети и обеспечить предоставления результата в виде иерархической, последовательной структуры правил типа «если-то».
4 Извлечение правил
Можно выделить два подхода к извлечению правил из многослойных нейронных сетей. Первый подход заключается в извлечении локальных правил, разделяя многослойную сеть на совокупность однослойных сетей. Каждое извлекаемое локальное правило характеризует отдельный скрытый или выходной нейрон с учетом элементов, которые имеют с ним взвешенные
соединения. Затем правила объединяются в набор, который определяет поведение всей сети в целом. К представителям данного подхода может быть отнесен алгоритм NeuroRule [Ежов, Шумский, 1998], осуществляющий прореживание сети и выявление наиболее значимых признаков. Однако он устанавливает довольно жесткие ограничения на архитектуру, число элементов, связей и вид функций активации.
Альтернативным подходом является извлечение набора глобальных правил, которые характеризуют классы на выходе непосредственно через значения входных параметров. К таковым можно отнести алгоритмы типа TREPAN, которые позволяют извлекать структурированные знания в виде деревьев решений не только из чрезвычайно упрощенных нейронных сетей, но и из произвольных классификаторов [Гридин, Солодовников, Евдокимов, Филиппков, 2013]. Эти методы применимы и к модульной нейронной сети BP-SOM, т.к. в ее основе лежит архитектура многослойного персептрона, но это будет означать, что мы откажемся от рассмотрения компонента, относящегося к самоорганизующимся картам Кохонена, в то время, как они способны привнести дополнительную информацию.
В качестве примера рассмотрим небольшую тестовую BP-SOM сеть, которая будет обучена решать задачу классификации, определенную следующей логической функцией [Eggermont, 1998]:
F (x
0 , x1, x2 ) — (x
0 Л x1 Л x2 ) V (x0 Л x1 Л x2) V (x0 Л x1 Л x2)
Данная функция принимает значение True (класс 1) в том случае, когда только один из аргументов True, в противном случае значение функции равняется False (класс 0). Для реализации можно воспользоваться двухслойной нейросетью, состоящей из трех входных элементов, трех нейронов в промежуточном слое и двух нейронов в результирующем выходном слое. Размерность карты Кохонена для промежуточного слоя составляет 3 на 3 (рисунок 4).
Карта Кохонена
Метки классов Достоверность
Рис. 4. Карта Кохонена, метки классов и достоверность.
После обучения четыре элемента карты Кохонена приобрели метки классов с достоверностью 1, а 5 элементов остались без метки, и их достоверность равнялась 0 (рис.4).
Одним из методов извлечения правил из такой нейронной сети может служить алгоритм, предназначенный для задач классификации с дискретными входами и состоящий из следующих двух шагов [Weijters, Bosch, Herik, 1998; Eggermont, 1998]:
1. Выполняется поиск в обучающем множестве таких групп примеров, которые возможно объединить в отдельные подмножества, каждое из которых связано с одним элементом карты Кохонена (таблица 1).
2. Затем осуществляется изучение каждого подмножества на предмет выявления значений входов, которые имеют неизменное значение в подгруппе. Например, в подгруппе,
связанной с элементом ^ все атрибуты Х0, X! и Х2 имеют неизменное значение 0, а для элемента ^ значение 1 соответственно.
Табл. 1. Разбиение обучающего множества на группы с привязкой к определенному _SOM элементу.
SOM элемент Класс Атрибуты
x0 X2
ki 0 0 0 0
k3 0 1 1 1
k-y 1 0 0 1
0 1 0
1 0 0
kg 0 0 1 1
1 0 1
1 1 0
Таким образом, из таблицы 1 можно выделить следующие два правила:
• ЕСЛИ (Х0 = 0 л Х1 = 0 л Х2 = 0) ТО ( Класс = 0 );
• ЕСЛИ (х0 = 1 л х1 = 1 л х2 = 1) ТО ( Класс = 0 ).
Однако для элементов ^ и £9 выделение правил данным способом будет проблематично.
Конечно, их можно составить, как дизъюнкцию всех возможных вариантов для каждого SOM-элемента, но такие правила будут сложны в восприятии.
Дополнительной доступной информацией является сумма значений атрибутов каждого примера обучающего множества. Несложно заметить, что каждый SOM-элемент отвечает за некоторое определенное значение полученной суммы (таблица 2). Табл. 2. Сумма значений атрибутов примеров обучающего множества относительно SOM-элементов.
k1 k3 k- kg
Сумма 0 3 1 2
Класс 0 0 1 0
Данные рассуждения могут быть обобщены. Так для извлечения правил, соответствующих элементам карты Кохонена, нам необходимо найти ограничения на значения входных атрибутов с учетом векторов весовых коэффициентов. Это может быть сделано путем обратного распространения минимального и максимального значений активации нейрона назад к
предыдущему слою, т.е. необходимо применить функцию f 1(V.Cur) (обратную к функции активации) к значению на выходе нейрона [Thrun,1993].
f 1 (V,Cur) = f 1 (f (У w, J - + bias,)) =
J
У w,Vpr ev + biasi,
/L—i ji J i'
J
rrCur T/"Pr ev где Vi -выход i-ого нейрона текущего слоя, Vj -выход J-ого нейрона предыдущего слоя.
Если предположить, что в качестве функции активации нейронов многослойного персептрона использовалась сигмоида, то в этом случае:
/Г'(УС") = _ |п
1 _
ту Сиг
V У1 У
Дополнительно известно, что элементы самоорганизующейся карты, соединенные с элементами первого скрытого слоя персептрона, будут реагировать на близость векторов весовых коэффициентов и выходов нейронов скрытого слоя. Поэтому при построении правил для каждого SOM-элемента предлагается заменить обратное распространение активации нейронов скрытого слоя на значения вектора весовых коэффициентов элемента самоорганизующейся карты.
Например, если скрытый слой содержит нейрон А, а весовой коэффициент между этим нейроном
1 к
и SOM-элементом к обозначим ^а , то ограничение примет вид:
/_ ) _ Ь « X WJAXJ или 1 « X I/(^ ) _ Ы™А .
3 3 /
Такие ограничения, полученные для всех нейронов промежуточного слоя, могут быть использованы для построения правил вида: .к
ЕСЛИ (л(/1 ) _ ЫаяА « X WJA¡ Хз))
3
ТО ( Класс = Класс( к)).
Подобные правила необходимо получить для всех SOM-элементов, достоверность которых превышает значение некоторого порога.
Если применить рассмотренный метод для исходного примера, то будут получены четыре набора ограничений. Каждый набор включает по три ограничения, что соответствует числу нейронов скрытого слоя персептрона.
Для SOM-элемента к:
1 « 687*Х0 + 687*х1 + 687*Х2;
1« 738* х0 + 738* х1 + 738* х2.
?
1« 1062* х0 +1062* х1 +1062* х2
С учетом того, что Х0, X!, Х2 £ {0,1} наилучший результат может быть достигнут в случае, если Х0 = 0, Х1 = 0 и Х2 = 0.
Для элемента к все ограничения совпадают и имеют вид:
1« 0.33* х0 + 0.33* Х1 + 0.33* х2. Таким образом, значения Х0 = 1, Х1 = 1 и Х2 = 1. Для элемента к7 ограничения совпадают и примут вид: 1 « Х0 ^Ь Х1 ^Ь Х2 .
Что соответствует случаю, когда только один из атрибутов равняется 1. Ограничения для элемента к9 :
1« 0.5*х0 + 0.5*х1 + 0.5*Х2.
Данное условие характеризует случай, когда два из трех атрибута равны 1.
Таким образом, если обобщить ограничения, то будет получен следующий набор правил:
ЕСЛИ (Х0 + Х1 + Х2 « 0) ТО ( Класс = 0 ); ЕСЛИ (Х0 + Х1 + Х2 « 3) ТО ( Класс = 0 ); ЕСЛИ( Х0 ^Ь Х1 ^Ь Х2 « 1) ТО ( Класс = 1 ); ЕСЛИ (х0 + Х1 + Х2 « 2) ТО ( Класс = 0 ).
Видно, что данный набор корректно характеризует все элементы самоорганизующейся сети.
5 Заключение
Совместное использование различных нейросетевых архитектур, в частности многослойного персептрона, обучаемого алгоритмом обратного распространения ошибки, и самоорганизующихся карт Кохонена, способно привнести дополнительные возможности в процесс обучения и извлечения правил из обученной нейронной сети. Самоорганизация карт Кохонена используется при изменении весовых коэффициентов в процессе обучения сети, что обеспечивает эффект, при котором активация нейронов скрытого слоя при обработке векторов одного и того же класса будет становиться все более схожей. Тем самым обеспечивается структурирование и визуализация извлекаемой из данных информации, что способно улучшить восприятие изучаемого явления, помочь в процессе выбора архитектуры сети и упростить извлечение правил.
Полученные результаты могут использоваться для анализа данных в информационных хранилищах с целью выявления в них скрытых закономерностей, на основе которых можно осуществлять нахождение проектных и прогностических решений.
Благодарности
Работа выполняется в рамках программы фундаментальных научных исследований ОНИТ РАН «Интеллектуальные информационные технологии, системный анализ и автоматизация», проект «Развитие методов искусственного интеллекта для анализа информации», а также в рамках темы 0071-2014-002 № 35.1. «Разработка комплексного подхода на основе совместного использования методов интеллектуального анализа данных для выявления скрытых закономерностей и защиты информации».
Список литературы
Ежов А., Шумский С., Нейрокомпьютинг и его применение в экономике и бизнесе, 1998.
Kohonen T., Self-Organization and Associative Memory, Berlin: Springer Verlag, 1989.
Weijters A., The BP-SOMarchitecture and learning rule. Neural Process-ing Letters, 2, 13-16, 1995.
Ton Weijters, Antal van den Bosch, Jaap van den Herik Interpretable neural networks with BP-SOM, Machine Learning: ECML-98, Lecture Notes in Computer Science Volume 1398, 1998, pp 406-411.
Гридин В.Н., Солодовников В.И., Евдокимов И.А., Филиппков С.В. Построение деревьев решений и извлечение правил из обученных нейронных сетей / Искусственный интеллект и принятие решений 2013. № 4 Стр. 26-33.
Eggermont J., Rule-extraction and learning in the BP-SOM architecture, Thesis - 1998.
Sebastian B. Thrun. Extracting provably correct rules from artificial neural networks. Technical Report IAI-TR-93-5, University of Bonn, Department of Computer Science, 1993.