Опубликован: 27.07.2006 | Доступ: свободный | Студентов: 6128 / 1497 | Оценка: 4.37 / 4.06 | Длительность: 13:49:00
ISBN: 978-5-9556-0049-9
Специальности: Программист
Лекция 9:

Обобщения и применения модели Хопфилда

Сети Хопфилда и машина Больцмана

Недостатком сетей Хопфилда является их тенденция стабилизироваться в локальном, а не в глобальном минимуме функции энергии. Эта трудность преодолевается в основном с помощью класса сетей, известных под названием машин Больцмана, в которых изменения состояний нейронов обусловлены статистическими, а не детерминированными закономерностями. Существует тесная аналогия между этими методами и отжигом металла, поэтому и сами методы часто называют имитацией отжига.

Термодинамические системы

Металл отжигают, нагревая его до температуры, превышающей точку его плавления, а затем давая ему медленно остыть. При высоких температурах атомы, обладая высокими энергиями и свободой перемещения, случайным образом принимают все возможные конфигурации. При постепенном снижении температуры энергии атомов уменьшаются, и система в целом стремится принять конфигурацию с минимальной энергией. Когда охлаждение завершено, достигается состояние глобального минимума энергии.

При фиксированной температуре распределение энергий системы определяется вероятностным фактором Больцмана

\exp(-E/kT),

где E — энергия системы; k — постоянная Больцмана; T — температура.

Отсюда очевидно: имеется конечная вероятность того, что система обладает высокой энергией даже при низких температурах. Сходным образом имеется небольшая, но вычисляемая вероятность, что чайник с водой на огне замерзнет, прежде чем закипит.

Статистическое распределение энергий позволяет системе выходить из локальных минимумов энергии. В то же время, вероятность высокоэнергетических состояний быстро уменьшается со снижением температуры. Следовательно, при низких температурах имеется сильная тенденция занять низкоэнергетическое состояние.

Статистические сети Хопфилда

Если правила изменения состояний для бинарной сети Хопфилда заданы статистически, а не детерминированно, то возникает система, имитирующая отжиг. Для ее реализации вводится вероятность изменения веса как функция от величины, на которую выход нейрона OUT превышает его порог. Пусть

E_k=NET_k-\theta_k,

где NET_k — выход NET нейрона k ; \theta — порог нейрона k, и

p_k=\frac{1}{1+\exp(-\delta E_k/T)},

(отметим вероятностную функцию Больцмана в знаменателе), где T — искусственная температура.

В стадии функционирования искусственной температуре T приписывается большое значение, нейроны устанавливаются в начальном состоянии, определяемом входным вектором, и сеть имеет возможность искать минимум энергии в соответствии с нижеследующей процедурой:

  1. Приписать состоянию каждого нейрона с вероятностью p_k значение единица, а с вероятностью 1-p_k — нуль.
  2. Постепенно уменьшать искусственную температуру и повторять шаг 1, пока не будет достигнуто равновесие.

Обобщенные сети

Принцип машины Больцмана может быть перенесен на сети практически любой конфигурации, но без гарантированной устойчивости. Достаточно выбрать одно множество нейронов в качестве входов и другое множество в качестве выходов, затем придать входному множеству значения входного вектора и предоставить сети возможность релаксировать в соответствии с описанными выше правилами 1 и 2.

Процедура обучения для такой сети состоит из следующих шагов:

  1. Вычислить закрепленные вероятности:

    а) придать входным и выходным нейронам значения обучающего вектора;

    б) предоставить сети возможность искать равновесие;

    в) записать выходные значения для всех нейронов;

    г) повторить шаги от а до в для всех обучающих векторов;

    д) вычислить вероятность P_{ij}^+, т. е. по всему множеству обучающих векторов вычислить вероятность того, что значения обоих нейронов равны единице.

  2. Вычислить незакрепленные вероятности:

    а) предоставить сети возможность "свободного движения" без закрепления входов или выходов, начав со случайного состояния;

    б) повторить шаг 2а много раз, регистрируя значения всех нейронов;

    в) вычислить вероятность P_{ij}^-, т. е. вероятность того, что значения обоих нейронов равны единице.

  3. Скорректировать веса сети следующим образом:

    \delta w_{ij}=\eta (P_{ij}^+-P_{ij}^-),

    где \delta w_{ij} — изменение веса w_{ij}, \eta — коэффициент скорости обучения.