Россия |
Нейросетевая оптимизация
Оптимизация с помощью сети Кохонена.
Успех применения метода эластичной сети для решении задачи коммивояжера был оценен Фаватой и Уолкером, понявшими, что в нем, по сути, используется отображение двумерного распределения городов на одномерного кольцевого маршрута (Favata & Walker, 1991). Поскольку в наиболее общем виде такой подход был сформулирован Кохоненом, то использование его самоорганизующихся карт для оптимизации оказалось вполне естественным. Сеть Кохонена позволяет обеспечить выполнение условия, которому должен удовлетворять хороший маршрут в задаче коммивояжера: близкие города на плоскости должны быть отображены на близкие в одномерном маршруте.
Алгоритм решения задачи следует из оригинальной схемы Кохонена, в которую вносятся лишь небольшие изменения. Используется сеть,
состоящая из двух одномерных слоев нейронов (т.е. содержащая лишь один слой синаптических весов). Входной слой состоит из трех нейронов,
а выходной - из N (по числу городов). Каждый нейрон входного слоя связан с каждым выходным нейроном. Все связи вначале инициируются
случайными значениями. Для каждого города входной 3-мерный вектор формируется из двух его координат на плоскости, а третья компонента
вектора представляет из себя нормирующий параметр, вычисляемый так, чтобы все входные вектора имели одинаковую Евклидову длину и
никакие два вектора не были бы коллинеарны. Это эквивалентно рассмотрению двумерных координат городов, как проекций трехмерных
векторов, лежащих на сфере. Обозначим через 3-мерный вектор синаптических связей, связывающих
-й выходной нейрон с входными
нейронами. Если
- трехмерный входной вектор, определяющий i -й город, то активация j-го выходного нейрона при
подаче
на вход определяется скалярным произведением
. Выходной нейрон, для которого это произведение максимально,
называется образом города.
Алгоритм формирования маршрута формулируется следующим образом. Выбираются значения для параметра усиления и радиуса
взаимодействия r. Следующий цикл выполняется вплоть до выполнения условия
.
- Выбирается случайный город
.
- Определяется номер образа города в выходном слое -
.
- Векторы связей
, соединяющих нейрон
, и всех его
близлежащих соседей справа и слева:
,
модифицируются следующим образом:
, где- Евклидова норма вектора
. Для устранения концевых эффектов слой выходных нейронов считается кольцевым, так что N-й нейрон примыкает к первому.
- Радиус взаимодействия постепенно уменьшается согласно некоторому правилу (например, вначале можно положить
, затем за первые 10% циклов снизить его до значения 1, которое далее поддерживается постоянным).
- Параметр усиления
постепенно снижается на небольшую величину ( например, в экспериментах Фавата и Уолкера он линейно уменьшался до нуля).
Конкретный вид законов изменения радиуса взаимодействия и параметра усиления, как правило, не имеет большого значения.
После завершения процесса обучения, положение города в маршруте определится положением его образа в кольцевом выходном слое. Иногда случается, что два или большее число городов отображаются на один и тот же выходной нейрон. Подобная ситуация может интерпретироваться так, что локальное упорядочивание этих городов не имеет значения и требует только локальной оптимизации части маршрута. При нескольких десятках городов такая оптимизация может скорректировать его длину на величину до 25%. Для сотен городов она, как правило, не улучшает результат и поэтому не используется.
Эксперименты Фаваты и Уолкера, проведенные для задачи коммивояжера с 30 городами дали лучшие результаты, чем полученные с помощью сети Хопфилда (см. таблицу).
сеть Хопфилда | сеть Кохонена | |
---|---|---|
Длина маршрута | <7 | <5.73 |
Средняя длина маршрута | >6 | 4.77 |
Наименьшая длина маршрута | 5.07 | 4.26 |
Однако для большего числа городов сеть Кохонена все же в среднем дает более длинные маршруты, чем метод имитации отжига
(примерно на 5%). При практическом применении нейросетевых подходов к решению задач оптимизации, однако, главное значение имеет не
столько близость решения к глобальному оптимуму, сколько эффективность его получения. В этом смысле сеть Кохонена значительно
эффективнее имитации отжига. Однако, и ее использование, как и в случае использования других лучших методов оптимизации, требует
вычислительных затрат, растущих не медленне, чем . Ниже мы опишем нейросетевой подход, в котором они растут линейно с
размерностью задачи.