Россия |
Нейросетевая оптимизация
Имитация отжига
В предыдущем разделе мы заметили, что переход от бинарных нейронов к аналоговым значительно улучшил свойства решения. Аналогичного
эффекта можно добиться используя по-прежнему бинарные нейроны, но заменив детерминистскую динамику стохастической, характеризуемой
некоторой эффективной температурой . При этом среднее значение состояния нейрона также будет лежать в допустимом интервале
.
Положительная роль температуры заключается в том, что шум позволяет системе покидать локальные минимумы энергии и двигаться в сторону более глубоких энергетических минимумов. Соответствующий (не нейросетевой) алгоритм оптимизации был предложен в 1953 г. и получил название имитации отжига (Metropolis et al., 1953). Этот термин происходит от названия способа выжигания дефектов в кристаллической решетке. Атомы, занимающие в ней неправильное место, при низкой температуре не могут сместиться в нужное положение - им не хватает кинетической энергии для преодоления потенциального барьера. При этом система в целом находится в состоянии локального энергетического минимума. Для выхода из него металл нагревают до высокой температуры, а затем медленно охлаждают, позволяя атомам занять правильные положения в решетке, соответствующее глобальному минимуму энергии.
Субоптимальное решение некоторой задачи оптимизации, например, задачи коммивояжера, также может рассматриваться как решение в
котором имеются дефекты - неправильные части маршрута. Лин и Кернигэн (Lin & Kernigan, 1973) ввели элементарные операции изменения
текущего решения, такие как перенос (часть маршрута вырезается и вставляется в другое место) и обращение (выбирается фрагмент маршрута
и порядок прохождения городов в нем меняется на обратный). При применении одной из этих операций происходит изменение маршрута с
на
,
и значение минимизируемого функционала меняется на
. В соответствии с принципами термодинамики, это изменение принимается с
вероятностью
![Pr\{M\rightarrow M^{\prime}\}= \left\{\begin{array}{l}
1, \Delta E \leq 0\\
\exp (-\Delta E/T), \Delta E>0,
\end{array} \right.](/sites/default/files/tex_cache/f1f6acb739eee0af974167ff85b18d59.png)
![T](/sites/default/files/tex_cache/b9ece18c950afbfa6b0fdbfa4ff731d3.png)
![100N](/sites/default/files/tex_cache/b3bab6c359bb7438d4ea7587830611ee.png)
Метод эластичной сети
Иной подход к решению задачи коммивояжера использовали в 1987 году Дурбин и Уиллшоу (Durbin & Willshaw, 1987). Хотя они явно и не использовали в своей работе понятия искусственной нейронной сети, но в качестве отправной точки упоминали об аналогии с механизмами установления упорядоченных нейронных связей. Исследователи предложили рассматривать каждый из маршрутов коммивояжера как отображение окружности на плоскость, так что в каждый город на плоскости отображается некоторая точка этой окружности. При этом требуется, чтобы соседние точки на окружности отображались в точки, по возможности ближайшие и на плоскости. Алгоритм стартует с помещения на плоскость небольшой окружности (кольца), которая неравномерно расширяясь проходит практически около всех городов и, в конечном итоге, определяет искомый маршрут. Каждая точка расширяющегося кольца движется под действием двух сил: первая перемещает ее в сторону ближайшего города, а вторая смещает в сторону ее соседей на кольце так, чтобы уменьшить его длину. По мере расширения такой эластичной сети, каждый город оказывается ассоциирован с определенным участком кольца.
Вначале все города оказывают приблизительно одинаковое влияние на каждую точку маршрута. В последующем, большие расстояния
становятся менее влиятельными и каждый город становится более специфичным для ближайших к нему точек кольца. Такое постепенное
увеличение специфичности, которое, конечно, напоминает уже знакомый нам метод обучения сети Кохонена, контролируется значением
некоторого эффективного радиуса . Если обозначить через
вектор, определяющий положение
-го города на плоскости, а
-координату
-й
точки на кольце, то закон изменения последней имеет вид
![\Delta Y_{j}=\alpha\sum_{j}W_{ij}\cdot(X_i-Y_j)+\beta
R\cdot(Y_{j+1}-2Y_j+Y_{j-1}),](/sites/default/files/tex_cache/a236a2dfb18100e5fbb8e5b1827059a9.png)
![\alpha,\beta](/sites/default/files/tex_cache/238526af1095d1d92c03cb5704755132.png)
![Y_j](/sites/default/files/tex_cache/8a08bb342996f0cd6c009072877320ef.png)
![W_{ij}](/sites/default/files/tex_cache/3c81d2fbc9681e873cfad2a87507bca9.png)
![i](/sites/default/files/tex_cache/865c0c0b4ab0e063e5caa3387c1a8741.png)
![j](/sites/default/files/tex_cache/363b122c528f54df4a0446b6bab05515.png)
![|X_i-Y_i|](/sites/default/files/tex_cache/9f18665d4eb86080098de3706ebe3ef1.png)
![R](/sites/default/files/tex_cache/e1e1d3d40573127e9ee0480caf1283d6.png)
![W_{ij}=\Phi\left(|X_i-Y_j|,R\right)/\sum_{k}\Phi\left(|X_i-Y_k|,R\right),](/sites/default/files/tex_cache/96642aaf5bd54ec3078377389c435dc2.png)
![\Phi(d,R)](/sites/default/files/tex_cache/7f78991439eb3c8ce01c104acf7f7c6e.png)
![d>R](/sites/default/files/tex_cache/21d1c757d3a28d8b0e1f066f955225bc.png)
![\exp(-d^2/2R^2)](/sites/default/files/tex_cache/2f90b3b03027e9fdd045a1ff6f0d15bc.png)
![E=-\alpha R\sum_i \log\sum_j\Phi(|X_i-Y_j|,R)\beta\sum_j
|Y_{j+1}-Y_j|^2,](/sites/default/files/tex_cache/eb489a46482087566bca0554f09623fe.png)
Дурбин и Уиллшоу показали, что для задачи с 30 городами, рассмотренной Хопфилдом и Танком, метод эластичной сети генерирует наикратчайший маршрут примерно за 1000 итераций. Для 100 городов найденный этим методом маршрут лишь на 1% превосходил оптимальный.