А. М. Ахметвалеев, А. С. Катасёв, А. П. Кирпичников
РЕДУКЦИЯ НЕЙРОСЕТЕВЫХ МОДЕЛЕЙ НА ОСНОВЕ
МЕТОДА ДВУХЭТАПНОЙ ГЕНЕТИЧЕСКОЙ ОПТИМИЗАЦИИ
Ключевые слова:редукция нейронной сети, генетическая оптимизация, оценка информативности признаков, нейросетевая
модель, устранение избыточности.
В данной статье описывается задача структурной оптимизации нейросетевых моделей. Для ее решения разрабатывается метод двухэтапной генетической оптимизации структуры нейросетевой модели, позволяющий сократить число нейронов во входном и скрытом слоях нейронной сети с учетом критерия минимизации ошибки модели. Приводятся результаты исследований по оценке эффективности разработанного метода на основе нейросетевой модели определения функционального состояния опьянения человека.
Keywords: reduction of the neural network, genetic optimization, estimation of informative characteristics, neural network model,
elimination of redundancy.
In this paper scribes the problem of structural optimization of neural network models. To solve this problem, a method of two-stage genetic optimization of the structure of the neural network model is developed, which makes it possible to reduce the number of neurons in the input and hidden layers of the neural network, taking into account the criterion for minimizing the model error. Results of researches on an estimation of efficiency of the developed method on the basis of neural network model of definition of a functional state of intoxication of the person are resulted.
ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ
УДК 004.89
Введение
Эффективность функционирования нейросетевой модели во многом определяется количеством нейронов, включенных в состав искусственной нейронной сети. Выбор конкретной конфигурации сети зачастую неоднозначен, т.к. эффективность работы модели зависит от особенностей входных данных и характера искомых закономерностей, что в научных и технических задачах не позволяет применять типовые конфигурации и общие рекомендации по выбору архитектуры нейросетевой модели. Таким образом, поиск оптимального решения в большинстве случаев достигается методом проб и ошибок [10] либо малоэффективными и ресурсоза-тратными стратегиями поиска оптимальной структуры [4]: постепенное наращивание, построение заведомо слишком сложной сети с последующим упрощением, поочередное наращивание и упрощение.
Кроме того, в практических задачах существует проблема оптимизации размерности структуры нейронной сети (редукции) для повышения результирующей точности нейросетевой модели и связанной с ней задачей оценки информативности входных параметров и устранения их избыточности. Слишком простые сети не способны адекватно моделировать целевые зависимости в реальных задачах. Слишком сложные сети имеют избыточное число свободных параметров, которые в процессе обучения настраиваются не только на восстановление целевой зависимости, но и на воспроизведение шума [4]. В последнем случае возникает эффект «переобучения» нейронной сети, что сказывается на снижении ее обобщающей способности [8].
В то же время очевидна зависимость затрат машинного времени от количества используемых признаков (параметров) во входном слое нейронной
сети: чем меньше входных параметров, тем меньше потребуется ресурсов и времени для получения результата. Однако обнаружение неинформативных признаков представляет собой нетривиальную задачу, поскольку решить ее необходимо за приемлемое время и с максимально возможным показателем точности редуцированной модели [5,10]. Следовательно, актуальной задачей является разработка эффективных методов, позволяющих производить редукцию структуры нейросетевых моделей, используемых для решения практических задач в различных сферах человеческой деятельности. Данная задача относится к классу задач структурной оптимизации нейросетевых моделей.
Постановка задачи редукции структуры нейросетевой модели
Рассмотрим классическую структуру нейросетевой модели - однослойный персептрон [6]. Такая нейронная сеть состоит из входного слоя, слоя обрабатывающих нейронов и выходного слоя (рис. 1).
Тогда задача редукции структуры нейросетевой модели заключается в уменьшении количества нейронов во входном и скрытом слоях при условии неуменьшения классифицирующей способности модели. Графически данная задача может быть представлена, как показано на рисунке 2.
оптимизация числа скрытых нейронов
Рис. 2 - Пример исходной нейросетевой модели
На данном рисунке представлен пример исходной нейросетевой модели (однослойного персептро-на), для которой требуется редукция нейронов входного и скрытого слоев. В результате редукции структуры нейросетевой модели, как правило, уменьшается количество нейронов входного и скрытого слоев до оптимального количества, при котором классифицирующая способность модели будет максимальной и при этом не ниже первоначальной (до редукции).
Для определения числа нейронов скрытого слоя нейронной сети традиционно принято использовать следствие из теоремы Арнольда - Колмогорова -Хехт-Нильсена, согласно которого максимальное число нейронов скрытого слоя персептрона ограничено правой частью выражения 1 [13].
т < 2 х мт + 1, (1)
где МИ - количество нейронов скрытого слоя, а М1п -количество нейронов входного слоя.
Таким образом, выражение (1) определяет верхний предел числа нейронов скрытого слоя персеп-тронной модели нейронной сети. Следовательно, такое число нейронов может приводить к избыточности структуры модели и, как следствие, к неэффективности ее практического использования.
Разработка метода двухэтапной генетической
оптимизации структуры нейронной сети
Генетические алгоритмы набирают популярность для решения задач оптимизации в виде процедур поиска, основанных на механизмах естественного отбора и наследования. В них используется эволюционный принцип выживания наиболее приспособленных особей [1,6,7]. В данной работе для решения поставленной задачи предлагается специально разработанный метод двухэтапной генетической оптимизации (метод ДГО), позволяющий сократить число нейронов во входном и скрытом слоях нейронной сети с учетом критерия минимизации ошибки модели (повышения ее точности, классифицирующей способности).
Для реализации двухэтапного генетического алгоритма необходимо произвести кодирование параметров задачи, а именно представление нейронов входного и скрытого слоев в виде соответствующих хромосом. Пусть имеется следующее множество
т,Тт (лг'п лт'п лт'п 1 ____- ^ _
N = {м1 ,N2 ,...,N }, содержащее нейроны входного слоя М™, ] = 1,т1 (Ш\ - число входных нейронов), и множество Ыш = {МИ'1, М2Ш,..., мШ,1},
содержащее нейроны скрытого слоя м}"1,1 = 1, ш2 (ш2 - число скрытых нейронов).
Закодируем входной слой нейронной сети в виде соответствующей хромосомы:
Н= {И™ },
где единичный ген И™ в хромосоме означает наличие соответствующего нейрона входного слоя, а нулевой ген - его отсутствие:
[о, I/ м™ г не, [1, I/ м™ е не.
Скрытый слой нейронной сети кодируется в виде хромосомы:
hin =■
НИИ1 = {ИГ},
где единичный ген И¡И}1 в хромосоме означает наличие соответствующего нейрона скрытого слоя, а нулевой ген - его отсутствие:
И« ={0, I/ МГ г нС И [1, I/ М" е не.
В соответствии с введенными обозначениями закодированные хромосомы будут иметь следующий вид: - пример хромосомы входного слоя сети:
hid -1
И? i 0 1 1 0 1 0 ... 1
Nln N 2" N3" N 4" N 5" N6" N7" ... N'" 'i
пример хромосомы скрытого слоя сети:
тт hid Hk 0 1 1 1 0 0 1 ... 1
N hidn hid n hid n hid n h id n h id^ hid N
Создание начальной популяции хромосом входного слоя (объемом m1) выполняется путем включения в популяцию родительской хромосомы и набора потомков, полученных в результате случайной мутации ее генов с вероятностью 0.5.
Задача генетической редукции структуры нейронной сети сводится к двухэтапному поиску хромосом входного и скрытого слоев, при которых достигается минимизация итоговой ошибки нейросетевой модели по методу бутстрэпирования [10] при минимальном числе элементов структуры модели. Таким образом, используемая в генетическом алгоритме, фитнесс-функция определяется следующим образом:
N .. ..
Z 0,632* ett + 0,368* etam F(Hlk) = ^-b—-- ^ min , (2)
N VH,
1 ik
где НИ = Н'" + НИИ'1 - хромосома для кодирования структуры нейронной сети, М - число этапов бут-стрэпирования.
Рассмотрим реализацию генетических операторов. На первом этапе метода ДГО по формуле (1)
производится генерация нейронных сетей, соответствующих хромосомам из начальной популяции хромосом входного слоя. Для каждой сети выполняется редукция нейронов скрытого слоя:
1.1 создается начальная популяция хромосом скрытого слоя (объемом т2) в следующем составе: родительская хромосома и набор потомков, полученных в результате случайной мутации ее генов с вероятностью 0.5;
1.2 выполняется оценка приспособленности всех хромосом в начальной популяции по формуле (2) на основе бутстрэпирования с вычислением значений фитнесс-функции F(Иik);
1.3 выполняется селекция 2-х родительских хромосом из начального хромосомного набора, используя метод колеса рулетки [6], представленный на рисунке 3.
Рис. 3 - Операция вращения колеса рулетки
На представленном рисунке р, обозначается сектор рулетки соответствующий /-ой хромосоме, а площадь сектора устанавливается пропорциональной значению функции приспособленности данной хромосомы, поэтому, чем больше значение функции приспособленности, тем больше сектор на колесе рулетки. Таким образом, вероятность выбора хромосомы И^'1 для скрещивания определяется следующим образом:
(и^ц1) = ¥{И/к) .
УкУ к > ^ F(И,к)
к
1.4 производится операция скрещивания родительских хромосом для получения 2-х потомков (дочерних хромосом) на основе одно- или двухточечного кроссинговера;
1.5 производится мутация дочерних хромосом путем инверсии с вероятностью 0.02 одного из их единичных генов;
1.6 выполняется оценка приспособленности дочерних хромосом по формуле (2);
1.7 выполняется операция редукции, в результате которой происходит удаление 2-х худших хромосом из текущего хромосомного набора для формирования новой популяции.
Шаги с 1.3 по 1.7 выполняются до тех пор, пока в результате вычислений не будут появляться хромосомы с лучшей функцией приспособленности в течение определенного числа поколений. После окончания первого этапа работы метода ДГО отбирается одна хромосома с лучшей приспособленностью, т.е.
Hi ö min F(Hhld). При этом за оценки приспособленности хромосом входного слоя следует принять оценки F (H\n) = F (Hi) = min F (H%id).
Второй этап метода ДГО заключается в поиске лучшего хромосомного набора, соответствующего комбинации хромосом входного и скрытого слоев искомой нейронной сети с минимальной итоговой ошибкой классификации. Для этого выполняется следующая последовательность шагов:
2.1 методом рулетки производится селекция двух родительских хромосом входного слоя. Вероятность
выбора хромосомы Hiin для скрещивания при этом определяется следующим образом:
F (Игк)
Pi (Я™) =
2 F (Як)
2.2 производится операция скрещивания родительских хромосом для получения 2-х потомков (дочерних хромосом) на основе одно- или двухточечного кроссинговера;
2.3 производится мутация дочерних хромосом путем инверсии с вероятностью 0.02 одного из их единичных генов;
2.4 производится генерация нейронных сетей, соответствующих дочерним хромосомам, по формуле (1);
2.5 для дочерних хромосом повторяется первый этап метода ДГО с целью редукции нейронов скрытого слоя нейронной сети и вычислением оценок приспособленности;
2.6 выполняется операция редукции для удаления 2 худших хромосом из текущей популяции хромосом входного слоя нейронной сети;
Второй этап повторяется до тех пор, пока в результате вычислений не будут появляться хромосомы с лучшей функцией приспособленности в течение определенного числа поколений. Из итогового набора хромосом входного слоя выбирается хромосома с лучшей приспособленностью, которая и будет определять набор нейронов входного и скрытого слоев искомой (редуцированной) нейросетевой модели.
Следует отметить, что использование метода ДГО, помимо редукции структуры нейронной сети, позволяет также решить задачу отбора значимых входных признаков, поскольку критерием редукции нейронов, по факту, является их неинформативность и отрицательное влияние на классифицирующую способность нейросетевой модели.
Апробация и исследование предложенного метода
Практическая апробация представленного метода ДГО проводилась на нейросетевой модели определения функционального состояния опьянения человека. На базе данной модели, с использованием пупиллометрического подхода [9,12], решается задача анализа зрачковой реакции человека на световое импульсное воздействие и диагностируется текущее функциональное состояние проверяемого лица - норма или отклонение от нормы. Отклонением считается любое функциональное состояние человека, характерное состоянию алкогольного или наркотического опьянения (интоксикации) [2,3].
В качестве исходных данных для анализа зрачковых реакций выступают 12 значений параметров их пупиллограмм, отражающих динамику изменений размера зрачка в момент диагностики [11]. Пример пупиллограммы и ее параметры представлены на рисунке 4.
Рис. 4 - Пример пупиллограммы и ее параметров
На данном рисунке представлен пример пупиллограммы здорового человека и положение ее параметров, отражающих зрачковую реакцию человека на изменение освещенности: диаметр начальный (ДН); диаметр минимальный (ДМ); диаметр половинного сужения (ДПС); диаметр конечный (ДК); амплитуда сужения (АС); скорость сужения (СС); скорость расширения (СР); латентное время реакции (ЛВ); время сужения (ВС); время расширения (ВР); время половинного сужения (ВПС); время половинного расширения (ВПР). Часть параметров измеряется непосредственно на кривой и является независимой друг от друга, а часть вычисляется по значениям первой группы.
Таким образом, используя выражение (1) структура исходной нейросетевой модели будет представлять собой персептрон, состоящий из 12 нейронов входного слоя, 25 нейронов скрытого слоя и единственного выходного нейрона. По вычисленным значениям зрачковой реакции, поступающим на входной слой сети, производится анализ и бинарная классификация текущего функционального состояния человека.
Для оценки ошибки исходной нейросетевой модели использовался метод бутстрэпирования. В таб-
лице 1 представлены результаты его работы для каждого из десяти этапов бутстрэпирования.
Таблица 1 - Результаты бутстрэпирования исходной нейросетевой модели
5Ьгат 5еоЛ 5/ 5 %
0,0875 0,1293 0,1139
0,0775 0,0788 0,0783
0,075 0,0816 0,0792
0,0675 0,1248 0,1037
0,1 0,1284 0,1179 10,1
0,0725 0,104 0,0924
0,1125 0,1096 0,1107
0,145 0,0744 0,1004
0,085 0,1209 0,1077
0,055 0,1353 0,1058
Как видно из данной таблицы при количестве итераций N=10 суммарная ошибка исходной нейросетевой модели получилась равной 10,1%, что говорит о невысокой ее адекватности. Таким образом, для повышения точности исходной модели и устранения избыточности необходима ее редукция. В результате проведенной редукции методом ДГО искомая нейросетевая модель стала точнее классифицировать входные образы на 5,9% по сравнению с исходной моделью. Точность полученной модели составила 95,8%, что соответствует ее ошибке, равной 4,2%. Кроме того, редукция позволила устранить избыточность исходной модели: число входных нейронов уменьшилось на 4, а число нейронов скрытого слоя - на 10. Поскольку средняя ошибка модели составила не более 5%, следовательно, искомая модель адекватна, т.е. соответствует цели моделирования и позволяет эффективно решать поставленную задачу.
Также были проведены исследования по оценке эффективности предложенного метода, а именно исследовалось влияние типа кроссинговера на эффективность редукции исходной нейросетевой модели. Выбирались 4 типа кроссинговера и оценивалось их влияние на число поколений генетического алгоритма, на количество нейронов входного и скрытого слоев нейронной сети, на общее время редукции нейросетевой модели, а также на общую ошибку модели. В таблице 2 представлены результаты выполненных исследований и экспериментов.
Таблица 2 - Результаты определения влияния типа кроссинговера на эффективность редукции исходной
Кроссинговер Число поколений ГА Количество нейронов Время редукции, час Ошибка нейросетевой модели, е
ГА! ГА2 входного слоя скрытого слоя
Одноточечный с фиксированной точкой 124 1011 11 20 96 8,1%
Одноточечный с плавающей точкой 109 854 9 17 71 6,6%
Двухточечный с фиксированными точками 98 704 9 16 53 6,1%
Двухточечный с плавающими точками 89 648 8 15 44 4,2%
Согласно проведенным исследованиям двухточечный кроссинговер с плавающими точками наиболее эффективен и показывает лучшие результаты по выбранным характеристикам.
Заключение
Результаты проведенных исследований показали, что предложенный в работе метод двухэтапной генетической оптимизации является эффективным. Устранение избыточности нейросетевой модели производится за приемлемое время. Особенно актуально применение данного метода для нейронных сетей, обладающий большой размерностью, то есть для тех задач, в которых построение нейросетевых моделей путем перебора различных вариантов архитектур не представляется возможным.
Литература
1. Абдулхаков А.Р., Катасёв А.С. Кластерно-генетический метод редукции баз знаний интеллектуальных систем // Фундаментальные исследования. - 2015. - № 5-3. - С. 471-475.
2. Ахметвалеев А.М., Катасёв А.С. Концепция бесконтактной идентификации лиц, представляющих угрозу общественной безопасности // Современные проблемы безопасности жизнедеятельности: материалы IV Международной научно-практической конференции / Под общей ред. д-ра техн. наук, проф. Р.Н. Минниханова. - Казань: ГБУ «Научный центр безопасности жизнедеятельности». - 2016. - С. 67-72.
3. Ахметвалеев А.М., Катасёв А.С. Схема бесконтактной идентификации лиц находящихся в состоянии опьянения // Информация и безопасность. 2015. Т. 18. № 3. С. 360365.
4. Воронцов К.В. Лекции по искусственным нейронным сетям. - Режим доступа:
http://www.machineleaming.ru/wiki/images/c/cc/Voron-ML-NeuralNets.pdf.
5. Загоруйко Н.Г. Прикладные методы анализа данных и знаний. - Новосибирск: Изд-во Ин-та математики, 1999. -270 с.
6. Катасёв, А.С. Мягкие вычисления: учебное пособие / А.С. Катасёв, И.В. Аникин, В.И. Глова, М.А. Кривилёв, Р.И. Насыров. - Казань: Казанский государственный технический университет, 2010. - 206 с.
7. Катасёв А.С., Катасёва Д.В., Кирпичников А.П. Оценка стойкости шифрующих преобразований моноалфавитной замены с использованием генетического алгоритма // Вестник Казанского технологического университета. -2015. - Т. 18. - № 7. - С. 255-259.
8. Катасёв А.С., Катасёва Д.В., Кирпичников А.П., Гумеро-ва Р.И. Нейросетевая модель распознавания рукописных символов в системах биометрической идентификации и аутентификации // Вестник Казанского технологического университета. - 2016. - Т. 19. - № 4. - С. 122-126.
9. Куцало А.Л. Пупиллометрия в качестве метода экспресс-диагностики наркотической интоксикации: диссертация кандидата медицинских наук: Санкт-Петербург, 2004. -118 с.
10. Паклин Н.Б., Орешков В.И. Бизнес-аналитика: от данных к знаниям. - СПб.: Питер, 2009. - 624 с.: ил.
11. Фоменко В. Н., Куприянов А. С. Математические модели зрачковых реакций глаза человека (пупиллограмм) // Известия Петербургского университета путей сообщения. - СПб.: Петербургский гос. ун-т путей сообщения, 2010. -Вып. 4 (25). - C. 220-230.
12. Хацевич Т.Н. Медицинские оптические приборы. Физиологическая оптика: учеб. пособие. 3-е изд., испр. и доп. - Новосибирск: СГГА, 2010. - 135 с.
13. Hecht-Nielsen R. Kolmogorov's mapping neural network existence theorem // IEEE First Annual International Conference on Neural Networks. San Diego. 1987. Vol. 3. P. 11-13.
© А. М. Ахметвалеев - аспирант кафедры систем информационной безопасности КНИТУ-КАИ, e-mail: [email protected]; А. С. Катасёв - канд. техн. наук, доц. кафедры систем информационной безопасности КНИТУ-КАИ, e-mail: [email protected]; А. П. Кирпичников - д-р физ.-мат. наук, профессор, зав. кафедрой интеллектуальных систем и управления информационными ресурсами КНИТУ, e-mail: [email protected].
© A. M Akhmetvaleev - Postgraduate Student of Information Security Systems Department, KNRTU named after A.N. Tupolev, email: [email protected]; A. S. Katasev - PhD, Associate Professor of Information Security Systems Department, KNRTU named after A.N. Tupolev, e-mail: [email protected]; А. P. Kirpichnikov - Dr. Sci, Prof, Head of Intelligent Systems & Information Systems Control Department, KNRTU, e-mail: [email protected].