Решение задачи маршрутизации на основе нейросетевых и

advertisement
ISBN 978-5-7262-1375-0. НЕЙРОИНФОРМАТИКА – 2011. Часть 1
Л.Г. КОМАРЦОВА, Ю.Н. ЛАВРЕНКОВ
Калужский филиал МГТУ им. Н. Э. Баумана
polikarp1@rambler.ru
РЕШЕНИЕ ЗАДАЧИ МАРШРУТИЗАЦИИ НА ОСНОВЕ НЕЙРОСЕТЕВЫХ И ИММУНОЛОГИЧЕСКИХ
АЛГОРИТМОВ
Предложен комбинированный алгоритм обучения многослойного персептрона на основе иммунного алгоритма оптимизации и алгоритма имитации отжига, позволяющий динамически менять скорость сходимости
процесса обучения на различных этапах поиска оптимального решения с
целью снижения временных затрат. Рассмотрена возможность использования обученного многослойного персептрона для решения задачи маршрутизации.
Ключевые слова: многослойный персептрон, маршрутизация, иммунный
алгоритм, сеть АРТ-1, метод имитации отжига, карты Кохонена
Введение
Наиболее часто используемой на практике моделью нейронной сети
(НС) является многослойная НС с прямым распространением [1], стандартным алгоритмом обучения которой является алгоритм обратного распространения ошибки (Back Propagation – BP) [2]. Для повышения эффективности обучения НС в статье предложен комбинированный алгоритм на
основе иммунного алгоритма и метода имитации отжига.
Естественная иммунная система имеет уникальную способность вырабатывать новые типы антител и отбирать наиболее подходящие из них для
взаимодействия с попавшими в организм антигенами. В связи с тем, что
структура попадающих в организм антигенов заранее не известна, в организме в результате случайной перегруппировки генов образуется огромное количество различных типов антител. С математической точки зрения
поддержание разнообразия в иммунной системе можно трактовать как
задачу оптимизации мультимодальной функции. Антиген можно рассматривать как задачу, которую необходимо решить, а антитело – как решение
задачи.
Иммунный алгоритм оптимизации основан на принципе клонального
отбора [3, 5]. В основе клонального отбора лежит представление о том,
УДК 004.032.26(06) Нейронные сети
114
ISBN 978-5-7262-1375-0. НЕЙРОИНФОРМАТИКА – 2011. Часть 1
что антитело, распознавшее антиген, стимулируется и продуцирует антитела одной специфичности (создание собственных клонов). Клональный
рост может значительно увеличивать число клеток. Такое увеличение
численности популяции клонов дает возможность быстро достичь эффективной концентрации антител, достаточной для взаимодействия с антигеном.
В качестве задачи, решаемой НС, обученной с помощью гибридного
алгоритма, рассмотрим маршрутизацию в компьютерных сетях [4].
Маршрутизация означает передвижение информации от источника к
пункту назначения через объединенную сеть. При этом, как правило, на
пути встречается, по крайней мере, один узел. Маршрутизация включает в
себя два основных компонента: определение оптимальных путей маршрутизации и транспортировка информационных групп. Определение маршрута может быть очень сложным процессом, оно базируется на различных
показателях или комбинациях показателей. Если процесс маршрутизации
происходит в динамическом режиме, т.е. путь, по которому передаётся
информация, рассчитывается не в начале передачи сообщения, а по мере
продвижения его по сети, то это ещё больше усложняет задачу.
В данной работе предложен иммунный алгоритм в совокупности с методом имитации отжига, который используется для обучения многослойного персептрона поиску оптимального пути в задачах маршрутизации в
компьютерных сетях.
Постановка задачи и описание алгоритма
При решении задачи маршрутизации в качестве средства выбора оптимального пути будет использован многослойный персептрон (нейроконтроллер) [2]. Он должен выбрать оптимальный путь из доступных
маршрутов на основании информации об окружающей среде. Причина
использования нейроконтроллера заключается в том, что невозможно задать все возможные оптимальные пути в условиях динамического изменения как архитектуры, так и пропускной способности различных участков компьютерных сетей. Поэтому необходимо обучить нейронную сеть
на ограниченном количестве примеров (то есть образцов поведения в зависимости от обстановки), а затем позволить ей самостоятельно генерировать поведение во всех прочих ситуациях. Фиксированные деревья поведения или конечные автоматы вызывают предсказуемую реакцию, что
довольно плохо отражается на процессе маршрутизации и может привести к тупику.
УДК 004.032.26(06) Нейронные сети
115
ISBN 978-5-7262-1375-0. НЕЙРОИНФОРМАТИКА – 2011. Часть 1
В данной задаче используется многослойный персептрон, построенный по принципу «победитель получает все», поскольку алгоритм сходимости этой НС математически доказан. В сети, созданной по этому принципу, выходная ячейка с большей суммой весов является «победителем»
группы и допускается к действию. В рассматриваемой задаче каждая
ячейка представляет собой номер компьютера или узла сети, которому
нужно передать данные на следующем этапе. На входной слой нейроконтроллера подаётся информация о координатах текущего компьютера и
данные о состоянии всей компьютерной сети.
Для того чтобы сформировать данные о координатах узлов, необходимо в начале функционирования системы выбрать один из компьютеров
сети в качестве начала координат. После этого, в зависимости от расстояния до других компьютеров, рассчитать координаты всех машин в сети.
На входы нейроконтроллера будут подаваться относительные смещения
координат по двум координатным осям, в результате этого алгоритм будет определять, в каком направлении ему двигаться. Таким образом, будет
минимизироваться расстояние между двумя узлами компьютерной сети,
между которыми необходимо передать информацию.
Для оптимальной передачи данных может оказаться недостаточным
учитывать только расстояние между узлами сети. Необходимо хотя бы
иметь представление о состоянии сети в целом: пропускная способность
отдельных каналов, ширина пропускания сигнала, надёжность канала,
задержка сигнала, стоимость передачи информации по каналу и т.д. Соответственно, если имеется множество из сотен или тысяч объектов, каждый
из которых описывается как минимум несколькими свойствами, то проанализировать это множество на наличие закономерностей весьма сложно. Поэтому можно провести обучение самоорганизующейся карты Кохонена [6] и получить на выходе достаточно наглядные двумерные карты,
которые несложно проанализировать визуально или подать в качестве
входного сигнала на нейроконтроллер. Важно то, что этот процесс может
протекать непрерывно, обеспечивая возможность решения задачи в реальном времени. Таким образом, если рассматривать все параметры компьютерной сети, то полученную выборку оперативно проанализировать
нелегко, хотя можно, конечно, найти максимальные, минимальные и
средние значения для каждого из показателей. А использование самоорганизующихся карт даёт возможность систематизировать и обобщить полученные данные.
В данной задаче в карте Кохонена рецепторы и нейроны располагаются в узлах двумерной решетки, так как это позволяет следить за процесУДК 004.032.26(06) Нейронные сети
116
ISBN 978-5-7262-1375-0. НЕЙРОИНФОРМАТИКА – 2011. Часть 1
сом маршрутизации непосредственно эксперту и в случае, если нейроконтроллер выдал неверный ответ, была возможность его исправить. На
рецепторы самоорганизующейся карты подаётся сигнал, который получается в результате суммирования параметров, характеризующих данный
канал, в коэффициентах от 0 до 1. Так, например, если пропускная способность канала в данный момент времени максимальна, то каналу по
этому параметру присваивается 1, если информация по каналу передаётся
по оптоволоконному кабелю, то параметр равен 1, если по витой паре, то
0.8 и т.д. Все параметры сети в процессе функционирования анализируют
программные агенты, которые в реальном времени отслеживают поведение системы и корректируют все её показатели. Полученные сигналы с
карты Кохонена подаются на входы нейроконтроллера, и, в результате его
функционирования, мы получаем следующий пункт в передаче данных.
Для повышения достоверности принимаемых на основе нейроконтроллера решений, в данной задаче использовался алгоритм обучения
нейроконтроллера на основе иммунного поиска и метода имитации отжига [2]. В качестве популяции антигенов выступает область всех возможных значений векторов весов и порогов нейронов. Каждое антитело кодирует векторы весовых коэффициентов и пороги нейронов. Популяция антител генерируется случайным образом, используется вещественное кодирование. В нейроконтроллер последовательно подставляются параметры, закодированные в каждом из антител популяции. Для всех значений
входных переменных рассчитывается значение ошибки обучения нейроконтроллера и оценивается процесс обучения по требуемым критериям. В
соответствии с установленной схемой выполнения иммунных операторов
выполняется клонирование антител, мутация полученных клонов и редактирование популяции. В качестве иммунных операторов используется
одно- и двухточечная мутация антитела, одноточечная инверсия [7]. Для
перехода в другие области поискового пространства применяется cataclysmic mutation, при применении которого изменяется в случайном порядке до 40% структуры антитела.
Результатом работы алгоритма будет антитело с максимальной аффинностью (основная характеристика специфичности антител) в популяции, которое представляет собой закодированные параметры нейроконтроллера. В соответствии с этими параметрами, обученная таким образом сеть, выдаёт минимальную ошибку обучения, в зависимости от поставленной задачи. Критерием останова работы иммунных алгоритмов
является достижение заданной точности, либо максимального количества
поколений.
УДК 004.032.26(06) Нейронные сети
117
ISBN 978-5-7262-1375-0. НЕЙРОИНФОРМАТИКА – 2011. Часть 1
Алгоритм работы можно представить следующим образом:
1. Задать обучающую и тестовую выборку. Обучающая выборка может быть получена на основе экспертных оценок.
2. Сформировать топологию нейроконтроллера, задать количество и
тип нейронов в каждом слое.
3. Задать функцию фитнесса (функцию приспособленности) в виде:
1 P
E   (di  yi ) 2 ,
P i 1
где P – число примеров в обучающей выборке, di – желаемая величина
выхода, yi – реальное значение выхода.
4. Используя метод вещественного кодирования, сгенерировать антитела в соответствии с топологией нейроконтроллера, введя ограничения
на возможные значения весовых коэффициентов, учитывая вид функции
активации (для сигмоидальной функции активации диапазон изменения
значений весовых коэффициентов (–1, +1)).
5. Цикл для каждого поколения антител:
5.1. Цикл для каждого антитела:
5.1.1. Вычислить аффинность (с соответствующим антигеном) всех антител.
5.1.2. Выбрать n (или n %) лучших (с максимальной аффинностью)
антител;
5.1.3. Клонировать выбранные клетки. Количество клонов каждого антитела пропорционально ее аффинности: чем выше аффинность – тем
больше клонов;
5.1.4. Применить операторы мутации ко всем полученным клонам;
5.1.5. Вычислить аффинность всех клонов;
5.1.6. Повторно выбрать % лучших клеток (с максимальной аффинностью к соответствующему антигену) из множества измененных клонов;
5.1.7. Удалить из популяции те клетки, аффинность которых ниже порогового уровня, что приведет к уменьшению размера популяции.
5.1.8. Вычислить аффинности полученной популяции;
5.1.9. Удалить из популяции те клетки, аффинность которых ниже порога сжатия сети, что приведет к повторному уменьшению размера популяции;
5.2. Вычислить аффинности всех вновь полученных антител и удалить
те клетки, аффинность которых ниже порога сжатия сети;
5.3. Заменить % худших антител новыми случайно сгенерированными
антителами;
УДК 004.032.26(06) Нейронные сети
118
ISBN 978-5-7262-1375-0. НЕЙРОИНФОРМАТИКА – 2011. Часть 1
5.4. Вычислить функцию фитнеса, соответствующую ошибки обучения E для каждого антитела по формуле в пункте 3.
5.5. Вычислить Еобщ. на всей тестовой выборке обучения нейроконтроллера.
5.6. Проверить условие останова (Еобщ. < , где  – допустимая погрешность).
5.7. В зависимости от результата предыдущего шага вернуться к шагу
5.1. или перейти к шагу 6.
6. Конец.
В этой задаче целесообразно использовать вероятностную динамику с
имитацией отжига, так как наибольший интерес представляет глобальный
минимум энергии. Таким образом, полученное в результате функционирования иммунного алгоритма решение задачи обучения нейроконтроллера может рассматриваться как начальное решение, в котором имеются
дефекты. На этом этапе решение становится текущим. Это предоставляет
алгоритму отжига базу, на основании которой выполняется поиск оптимального решения проблемы.
Алгоритм обучения нейроконтроллера на основе иммунного алгоритма и имитации отжига можно представить в следующем виде:
Сформировать начальную популяцию антител. Вычислить функции
фитнесса для всех антител популяции. Установить начальное и конечное
значение температуры в алгоритме имитации отжига Т0 и Тк. Задать число
 в интервале [0, 1], определяющее скорость изменения параметра Т:
Ti+1 = Ti.
Запустить иммунный алгоритм.
Вычислить новые значения функций фитнесса для всех антител текущей популяции. Определить приращение функции фитнесса
Fit  Fit  Fit 1 для каждого антитела, где l – номер текущей популяции антител. Вычислить среднее значение функции фитнесса для всех
антител.
Определить вероятность развития полученной популяции антител.
Если exp((Fitср ) / T )  0 , то переход к п. 2, иначе к п. 5.
Изменить параметр T в соответствии с заданным законом изменения Т.
Проверить критерий останова. Если за последние с популяций суммарное изменение Fit >  (где с и  задается пользователем), переход к
п. 2, в противном случае – переход к п.7.
Остановка алгоритма.
УДК 004.032.26(06) Нейронные сети
119
ISBN 978-5-7262-1375-0. НЕЙРОИНФОРМАТИКА – 2011. Часть 1
В данной задаче для повышения эффективности работы комбинированного алгоритма на основе иммунного поиска и имитации отжига был
модифицирован иммунный алгоритм. При использовании иммунного поиска антитела, аффинность которых меньше пороговой, просто удаляются
из системы. Это не всегда оправдано, так как если в результате функционирования алгоритма антитела, значение аффинности которых выше пороговой, будут иметь одинаковую структуру, это приведет к сужению
пространства поиска оптимального решения. Чтобы этого не произошло,
в иммунном алгоритме используется нейронная сеть АРТ-1 [2].
Сеть АРТ-1 обучается без учителя и реализует простой алгоритм кластеризации. В соответствии с этим алгоритмом, первое антитело считается образцом первого кластера. Следующее антитело сравнивается с образцом первого кластера. Антитело принадлежит первому кластеру, если
расстояние до образца первого кластера меньше порога. В противном
случае, второе антитело – образец второго кластера. Этот процесс повторяется для всех следующих антител. Таким образом, число кластеров растет с течением времени и зависит как от значения порога, так и от метрики расстояния, использующейся для сравнения входных сигналов и образцов классов. Сеть АРТ-1 содержит два слоя нейронов. Число нейронов
первого слоя совпадает с размерностью антитела. Число нейронов второго
слоя изменяется в процессе настройки сети и совпадает с числом сформированных кластеров.
После того, как вся популяция антител будет разбита на кластеры, вычисляется средняя аффинность каждого кластера. Антитела сначала удаляются их худшего кластера и далее из всех кластеров по порядку в порядке активности. Это позволяет сохранить разнообразную структуру антител.
При исследовании эффективности обучения нейронной сети в качестве
тестового примера рассматривалась четырёхслойная нейронная сеть.
Производилось обучение нейронной сети с помощью алгоритма обратного распространения ошибки и модифицированного иммунного алгоритма.
Для обучения нейронной сети достаточно было выполнить 750 генераций
с помощью иммунных алгоритмов. Алгоритму обратного распространения требовалось большее число итераций – около 45000 итераций, где
одна итерация – это полный пересчет всех обучающих данных. При этом
две генерации в иммунном алгоритме соответствуют итерации алгоритма
обратного распространения, так как обратное распространение состоит из
двух частей – прямой проход (вычисление выхода сети и ошибки) и об-
УДК 004.032.26(06) Нейронные сети
120
ISBN 978-5-7262-1375-0. НЕЙРОИНФОРМАТИКА – 2011. Часть 1
ратный проход (наладка весов). Иммунный алгоритм выполняет только
первую часть.
Результат сравнения показан на рис. 1. На оси X лежит количество
итераций, а на оси Y – минимальное значение суммы квадратов ошибок.
В данной задаче маршрутизации иммунные алгоритмы будут наиболее
полезны для подстройки весов, чем обратное распространение. Например,
если не возможно заранее выбрать обучающую выборку и оценить ошибку выхода. Предложенный алгоритм продемонстрировал существенные
преимущества по сравнению с методом обратного распространения. Это
относится как к скорости обучения, так и к проценту успешных обучений
нейронной сети.
Проверка эффективности работы обученного нейроконтроллера была
выполнена на модели компьютерной сети. В качестве дополнительного
параметра использована только пропускная способность каналов сети.
Как альтернатива применения нейроконтроллера был рассмотрен алгоритм маршрутизации Дейкстры [4] в совокупности с алгоритмом нахождения максимального потока в сети, основанным на теореме ФордаФалкерсона [4]. Целью сравнения двух алгоритмов было получение зависимости задержки по времени прохождения пакетов между узлами сети от
увеличения потока данных и ошибок сети.
Рис. 1. Сравнение результатов работы алгоритма обратного распространения ошибки и модифицированного иммунного алгоритма
Для создания рабочей нагрузки, между всеми узлами сети организуется передача данных. В случайном порядке некоторые каналы передачи
выводятся из строя, и алгоритмы должны найти новый оптимальный путь.
В этом случае для алгоритма Дейкстры требуется полный перерасчет всего возможного пути с учётом алгоритма нахождения оптимального потока
УДК 004.032.26(06) Нейронные сети
121
ISBN 978-5-7262-1375-0. НЕЙРОИНФОРМАТИКА – 2011. Часть 1
в сети. Для определения пути с помощью нейроконтроллера достаточно
подать на его входы только координаты узла, на котором прервалась
связь, без перерасчёта всего пути. Использование нейроконтроллера
обосновано и потому, что пока алгоритм Дейкстры будет пересчитывать
новый путь, в нём уже могут произойти изменения, что потребует нового
расчёта. Таким образом, хотя и при использовании нейроконтроллера затрачивается время на его обучение, и присутствуют дополнительные аппаратные и программные затраты на анализ каналов и формирование самоорганизующихся карт, в большинстве случаев он способен находить
оптимальные пути за более короткое время, чем стандартные алгоритмы
маршрутизации. В результате получились зависимости, приведенные на
рис. 2, из которых видно, что задержка в сети меньше при использовании
нейроконтроллера.
Рис. 2. Результат сравнения алгоритмов маршрутизации
для алгоритма Дейкстры и нейроконтроллера
Выводы
В рамках данной работы был исследован комбинированный алгоритм
обучения многослойной нейронной сети, основанный на принципах иммунитета человека и метода имитации отжига. Результаты экспериментов
показали высокую эффективность обучения нейронной сети по сравнению с алгоритмом обратного распространения, также рассмотренный алгоритм требует меньшей обучающей выборки, чем алгоритм BP. Сеть,
обученная с помощью данного алгоритма, может применяться для решения задач маршрутизации в компьютерных сетях. В результате проведенной работы было исследовано два подхода к маршрутизации: алгоритм
УДК 004.032.26(06) Нейронные сети
122
ISBN 978-5-7262-1375-0. НЕЙРОИНФОРМАТИКА – 2011. Часть 1
Дейкстры и нейросетевой алгоритм. При одинаковых экспериментальных
условиях было получено, что производительность лучше у нейросетевого
алгоритма.
Список литературы
1. Галушкин А.И. Нейрокомпьютеры. Кн.3/ Под общ ред. А.И. Галушкина. – М.: ИПРЖР, 2000.
2. Комарцова Л.Г., Максимов А.В. Нейрокомпьютеры: Учебное пособие для вузов. – 2-е изд., перераб. и доп. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2004. 400 с.
3. Дасгупта Д. Искусственные иммунные системы и их применение.
М.: ФИЗМАТЛИТ, 2006. 344 с.
4. Столингс В. Современные компьютерные сети. СПб.: Питер. 2003.
783с.
5. Ройт А., Бростофф Дж., Мейл Д. Иммунология. Пер. с англ. М.:
Мир,
2000.
592 с.
6. Ежов А.А. Шумский С.А. Нейрокомпьютинг и его применение в
экономике и бизнесе.– М.: МИФИ, 1998. 224 с.
7. Гладков Л.А., Зинченко Л.А., Курейчик В.В., Курейчик В.М., Лебедев Б.К., Лебедев В.Б., Лебедев О.Б., Нужнов Е.В., Сороколетов П.В. Оптимизация на основе методов гомеостатики, эволюционного развития и
самоорганизации. Монография / Под ред. В.М. Курейчика. Таганрог: Издво ТРТУ, 2006. 308 с.
УДК 004.032.26(06) Нейронные сети
123
Download