Сети Хопфилда

Download Report

Transcript Сети Хопфилда

Использование нейронной
сети Хопфилда для решения
оптимизационных задач
маршрутизации
Цель работы
•
•
•
ознакомление с проблемой использования
искусственных нейронных сетей для решения
оптимизационных задач;
изучение
алгоритма
решения
задачи
коммивояжера с помощью нейронной сети
Хопфилда;
приобретение навыков в исследовании влияния
параметров нейронной сети на качество решения
задачи коммивояжера.
1. Общие сведения о сетях с обратными связями

Исследование принципов работы биологических
нервных систем живых существ указывает на наличие
множественных обратных связей (feedback), то есть
связей идущих от выходов нервных сетей к их входам.
1. Общие сведения о сетях с обратными связями

Нейронные сети бывают: без обратных связей и
с обратными связями.
Входной
слой
Скрытый
слой
Выходной
слой
1. Общие сведения о сетях с обратными связями



Значения выходов в искусственных нейронных сетях с
обратными связями, в отличие от элементарного
персептрона, зависят от значений входов, которые, в
свою очередь, зависят от значений выходов на
предыдущей итерации.
Нейронная сеть, содержащая хотя бы одну обратную
связь, называется рекуррентной (recurrent).
При этом возникает проблема устойчивости сети,
которая может проявляться в смене состояний
нейронов, не проводящей к стационарному
состоянию сети (постоянным значениям выходов).
1. Общие сведения о сетях с обратными связями


В 1970-х годах наблюдался спад интереса к
нейронным сетям, многие исследования были
заброшены и поддерживались лишь
немногочисленными учёными.
Однако к 1980-м годам интерес к этой
области снова возник, из-за появления
модели рекуррентной искусственной
нейронной сети, разработанной
Дж. Хопфилдом.
1. Общие сведения о сетях с обратными связями

Сеть Хопфилда состоит из единственного слоя
нейронов {Ne i}, где i = 1,…,n, число которых n
является одновременно числом входов и выходов
сети.
1. Общие сведения о сетях с обратными связями

Каждый нейрон связан синапсами со всеми
остальными нейронами, но нейрон не связывается с
самим собой.
1. Общие сведения о сетях с обратными связями


На входы сети подается первичный сигнал.
Фактически его ввод осуществляется
непосредственной установкой начальных значений
выходов.
1. Общие сведения о сетях с обратными связями


Возможность использования
нейронных сетей с обратной
связью для решения задачи
коммивояжера впервые
была установлена Дж.
Хопфилдом и Д. Танком в
1985 году.
Это достижение дает
возможности широко
использовать аппарат
нейронных сетей для
решения различных
оптимизационных задач
маршрутизации.
2. Математическая модель
нейронной сети Хопфилда


Нейронная сеть Хопфилда представляет собой
специальную двухслойную структуру, в которой
нулевой слой не выполняет вычислительных функций,
а лишь собирает выходы сети и направляет их обратно
на входы.
Каждый j-й нейрон первого слоя вычисляет
взвешенную сумму своих входов (с помощью весов wij,
где , а также веса смещения w0j), давая сигнал NETj,
который затем с помощью нелинейной функции
активации F преобразуется в сигнал OUTj, где j=1,…,n.
2. Математическая модель
нейронной сети Хопфилда
2. Математическая модель
нейронной сети Хопфилда
В качестве функции активации F можно использовать
пороговую функцию.
 Если взвешенная сумма выходов с других нейронов
больше порога Tj – выход j-го нейрона будет равен
единице, в противном случае он равен нулю или
остается без изменения, если сигнал NETj равен порогу
Tj.
 Таким образом, должны выполняться следующие
условия:
OUTj = 1, если NETj>Тj
OUTj = 0, если NETj<Тj
OUTj не изменяется, если NETj = Тj
где

3. Устойчивость нейронных сетей
с обратными связями

В теории нелинейных динамических систем под
устойчивостью понимают устойчивость по Ляпунову.

В 1892 году русский математик Ляпунов А.М.
разработал фундаментальные
концепции теории устойчивости,
известные как прямой метод
Ляпунова.
Непосредственное применение
этого метода для решения
оптимизационных комбинаторных
задач довольно затруднительно
и сложно формализуемо.

Александр Михайлович Ляпунов
(25 мая 1857 — 3 ноября 1918) — русский математик и механик,
академик Петербургской Академии наук.
3. Устойчивость нейронных сетей
с обратными связями

Нейронная сеть Хопфилда является устойчивой, при
выполнении следующих условий:
1) wij=wji – матрица связей между нейронами
является полной и симметричной;
2) wii=0 для всех i – отсутствие самовоздействия
нейрона.

Условие симметричности сети (wij=wji) является
достаточным, но не необходимым условием
устойчивости системы.
3. Устойчивость нейронных сетей
с обратными связями

Устойчивость сети может быть доказана следующим
образом:
Допустим, что существует функция «энергии сети» E,
убывающая при изменении состояния сети и
достигающая минимума, гарантируя тем самым
устойчивость сети. Такая функция, называемая
функцией Ляпунова, для сетей с обратными связями
может быть представлена следующим образом:
3. Устойчивость нейронных сетей
с обратными связями

Изменение энергии E, вызванное изменением
состояния нейрона OUTj, можно представить как:


 E    w ij OUT i  w 0 j  T j   OUT
 i  j






j


  NET j  T j  OUT
В случае если величина NETj больше порога Tj,
выражение в скобках будет положительным.
Из условия 1 (OUTj = 1, если NETj>Тj) следует, что OUTj
≥ 0.
Следовательно E ≤ 0.
j
3. Устойчивость нейронных сетей
с обратными связями



Допустим, что NETj < Tj.
Тогда изменение выхода j-го нейрона согласно
условию 2 (OUTj = 0, если NETj<Тj): OUTj ≤ 0 и энергия
E должна уменьшиться или остаться без изменения.
Если взвешенная сумма входов с других нейронов
равна порогу NETj=Tj, то в соответствии с (3): и
энергия OUTj=0 остаётся без изменения.
3. Устойчивость нейронных сетей
с обратными связями

Вывод:
o любое изменение состояния нейрона либо
уменьшит энергию, либо оставит её без
изменения. Благодаря такому свойству к
уменьшению, энергия, в конце концов, должна
достигнуть минимума и прекратить изменения,
гарантируя устойчивость сети.
o Состояние, к которому со временем сходятся другие
состояния из некоторой окрестности, называется
аттрактором.
o Условие симметричности сети (wij=wji) является
достаточным, но не необходимым условием
устойчивости системы.
3. Устойчивость нейронных сетей
с обратными связями


Основная проблема, возникающей при
использовании функции Ляпунова:
наличие в сети нескольких аттракторов и
необходимость уклонения от локальных минимумов
при нахождении глобального минимума функции.
Привлекательность подхода, предложенного
Хопфилдом, состоит в том, что в нейронной сети не
используются обучающие итерации, а синапсические
веса вычисляются на основании вида функции энергии
сети.
4. Решение задач комбинаторной оптимизации с
использованием нейронной сети Хопфилда


В классической постановке задачу коммивояжера
можно сформулировать следующим образом: для
некоторой группы городов с заданными расстояниями
между ними требуется найти кратчайший маршрут с
посещением каждого города один раз и с
возвращением в начальную точку маршрута.
Так как полный и направленный перебор практически
неосуществимы для задачи коммивояжера большой
размерности (так для 60 городов количество
маршрутов составит приблизительно 1080), то для её
решения используются различные приближенные
методы для нахождения приемлемых, но не
обязательно оптимальных решений.
4. Решение задач комбинаторной оптимизации с
использованием нейронной сети Хопфилда

Оптимальный маршрут
коммивояжёра через 15
крупнейших городов
Германии.

Указанный маршрут
является самым
коротким из всех
возможных
43 589 145 600.
4. Решение задач комбинаторной оптимизации с
использованием нейронной сети Хопфилда

Рассмотрим нейросетевую постановку задачи
коммивояжера, позволяющую значительно увеличить
скорость её решения:
Пусть заданы неориентированный граф G(V,U) с
множеством вершин V и множеством расстояний
между вершинами U.
4. Решение задач комбинаторной оптимизации с
использованием нейронной сети Хопфилда


Решением задачи будем считать упорядоченное
множество вершин, которое необходимо посетить, а
функцией решения является суммарная длина
маршрута.
Для этого представим матрицу, размером V×V.
Каждую вершину графа G представим строкой из V
нейронов, выход только одного из которых равен
единице, а выходы остальных равны нулю. В таком
случае порядковый номер единичного нейрона
укажет на номер вершины при обходе.
4. Решение задач комбинаторной
оптимизации с использованием
нейронной сети Хопфилда


Решением задачи будем считать
упорядоченное множество вершин,
которое необходимо посетить, а
функцией решения является суммарная
длина маршрута.
Для этого представим матрицу,
размером V×V. Каждую вершину графа G
представим строкой из V нейронов,
выход только одного из которых равен
единице, а выходы остальных равны
нулю. В таком случае порядковый номер
единичного нейрона укажет на номер
вершины при обходе.
4.

Решение задач комбинаторной
оптимизации с использованием
нейронной сети Хопфилда
Так как каждая вершина посещается только
один раз, и в каждый момент посещается только
одна вершина, то в каждой строке и каждом
столбце окажется по одной единице.
Маршрут коммивояжера
4. Решение задач комбинаторной
оптимизации с использованием
нейронной сети Хопфилда



Построим энергетическую функцию
нейронной сети Хопфилда для
выбранной постановки задачи
коммивояжера.
При кодировании нейронов будем
использовать два индекса, которые
соответствуют номеру вершины и
порядковому номеру посещения этого
пункта в маршруте.
Например, OUT  1 показывает, что пункт X
был i-м в маршруте.
Xi
4. Решение задач комбинаторной
оптимизации с использованием
нейронной сети Хопфилда

Функция энергии должна
удовлетворять двум требованиям:
1) должна быть малой только для тех
решений, которые имеют по одной
единице в каждой строке и в
каждом столбце;
2) должна оказывать предпочтение
решениям с короткой длиной
маршрута.
4. Решение задач комбинаторной
оптимизации с использованием
нейронной сети Хопфилда

Первое требование удовлетворяется
введением следующей, состоящей из
трех сумм, функции энергии:
E 1, 2 , 3 
A
2
   OUT Xi OUT Xj
X
i
i j

B
2
   OUT Xi OUT Yi
i
X YX
C 

  
2   X
где,
А, В, С – некоторые константы
 OUT Xi
i

 V


2

 ,

4.

Решение задач комбинаторной
оптимизации с использованием
нейронной сети Хопфилда
Исходя из функции энергии, достигается
выполнение следующих условий:
1) Первая тройная сумма равна нулю в том и
только в том случае, если каждая строка
содержит не более одной единицы.
2) Вторая тройная сумма равна нулю в том и
только в том случае, если каждый столбец
(порядковый номер посещения) содержит
не более одной единицы.
3) Третья сумма равна нулю в том и только в
том случае, если матрица содержит ровно V
единиц.
4. Решение задач комбинаторной
оптимизации с использованием
нейронной сети Хопфилда

Второе требование – предпочтение коротким
маршрутам – удовлетворяется с помощью
добавления следующего члена к функции
энергии:
E4 

D
2
 u
X
YX
XY
OUT
Xi
OUT
Y ,i 1
 OUT Y , i 1 ,
i
При достаточно больших значениях A, B и C
низкоэнергетические состояния будут
представлять допустимые маршруты, а
большие значения D гарантируют, что будет
найден короткий маршрут.
4. Решение задач комбинаторной
оптимизации с использованием
нейронной сети Хопфилда

Затем, необходимо установить
соответствие между членами функции
энергии в общем виде
(
)



и энергетической функцией задачи
коммивояжера , то есть задать значения
весов:
E 
1
2
w ij OUT i OUT
i
j
j

w 0 j OUT
j
j

T j OUT
j
j
w Xi ,Yi   A  XY 1   ij   B  ij 1   XY   C  D  u XY  
где:
 ij – символ Кронекера,
принимающий значение 1, если i=j.
И значение 0 в противном случае.
j ,i 1

j , i 1
,
4. Решение задач комбинаторной
оптимизации с использованием
нейронной сети Хопфилда

Символ Кронекера — индикатор равенства
элементов,
формально: функция двух целых переменн
ых, которая равна 1, если они равны, и 0 в
противном случае.

Например,
, но
.
4. Решение задач комбинаторной
оптимизации с использованием
нейронной сети Хопфилда

В качестве пороговой функции активации
F нейрона удобно использовать функцию
вида:
 NET
1
OUT  1  tanh 
2
 u0

,


где,
 u0 – пороговое значение смещения сети;
 tahn – гиперболическая тангенциальная
функция.
4. Решение задач комбинаторной
оптимизации с использованием
нейронной сети Хопфилда

Итог:
o
o
После того, как исходные веса сети определены и
сеть построена, можно, стартовав со случайного
начального состояния (задав возмущение путём
первоначальной генерации синапсических весов),
проследить её эволюцию к устойчивой
конфигурации, которая и даст решение задачи. Для
этого необходимо предоставить сети возможность
уменьшать свою функцию энергии путём движения в
пространстве состояний в нужном направлении.
Критерием останова для сети Хопфилда является
итерация, на которой состояния нейронов не
изменяются, а функция энергии достигнет
минимума. В этом случае необходимо остановить
вычисления, а полученные значения выходов
нейронов взять в качестве искомого маршрута
коммивояжера.
5. Программа решения задачи
коммивояжера с использованием
нейронной сети Хопфилда

Интерфейс программной реализации задачи
коммивояжера с использованием нейронной сети
Хопфилда обеспечивает:
возможность задания произвольной сети
вершин и расстояний между ними;
 возможность изменения исходных данных
нейронной сети (параметров энергетической
функции, начальных значений весов);
 наглядность представления и доступность
входных и выходных результатов работы
нейронной сети Хопфилда;
 возможность пошагового решения задачи
коммивояжера и наглядное отображение
пошагового решения.

5. Программа решения задачи
коммивояжера с использованием
нейронной сети Хопфилда
Интерфейс программы
решения задачи
коммивояжера с
использованием
нейронной сети
Хопфилда.