Новосибирский Государственный Университет
Опубликован: 13.09.2006 | Доступ: свободный | Студентов: 2204 / 519 | Оценка: 4.52 / 4.28 | Длительность: 12:23:00
ISBN: 978-5-9556-0063-5
Специальности: Программист
Лекция 11:

Решение задач комбинаторной оптимизации рекуррентными сетями

< Лекция 10 || Лекция 11: 1234 || Лекция 12 >

Максимизация консенсуса

Переход МБ из одного состояния в другое с максимизацией консенсуса происходит путем выполнения пошаговой процедуры. На каждом ее шаге выполняется испытание, состоящее из двух частей:

  1. для данного состояния V_k генерируется соседнее V_{k(i)},
  2. оценивается, может ли быть принято состояние V_{k(i)}, если может, то результат испытания - V_{k(i)}, иначе V_k.

Состояние V_{k(i)} принимается с вероятностью

\begin{equation}
P_{kk(i)}(t)=1/[1+\exp(\Delta C_{kk(i)}/t)],
\end{equation} ( 4)

где t \ge 0 - управляющий параметр ("температура").

Процесс максимизации консенсуса начинается с высокого значения t_0 параметра t и случайно выбранного начального состояния V_0. В течение процесса параметр t уменьшается от t_0 до 0. По мере того как t приближается к нулю, нейроны все реже изменяют свои состояния, и наконец, МБ стабилизируется в финальном состоянии. Практически, МБ стабилизируется в состоянии, соответствующем локальному максимуму консенсуса, который близок (или равен) глобальному. Сходимостью МБ управляют следующие параметры:

1. Начальное значение параметра t для каждого нейрона i

\begin{align*}
t_0^{(i)} = \sum_{(i,j)\in E(i)} |w_{ij}| + |w_{ii}|.
\end{align*}

2. Правило понижения t

\begin{align*}
t_{j+1}^{(i)} = \alpha t_j^{(i)},
\end{align*}

где \alpha - положительное число, меньшее единицы, но близкое к ней.

3. Число L испытаний, которые проводятся без изменения t ( Lфункция от N ).

4. Число M последовательных испытаний, не приводящих к изменению состояния машин ( M - функция от N ), как критерий завершения процесса.

Синхронное и асинхронное функционирование машины Больцмана

Для выполнения синхронного процесса все множество нейронов разбивается на непересекающиеся подмножества \{M_1, \ldots, M_m\}, такие, что нейроны, попавшие в одно подмножество, не связаны друг с другом. Тогда на каждом такте синхронизации элементы случайно выбранного подмножества M_i могут одновременно изменять свои состояния в соответствии с заданной вероятностью.

В асинхронном параллельном процессе все нейроны могут изменять свои состояния только в зависимости от величины вероятности. Практически асинхронный параллелизм может быть выполнен следующим образом. Случайно выбирается подмножество M, содержащее q=2N/3 нейронов. Для каждого нейрона из этого подмножества устанавливается состояние в соответствии с P_{kk(i)}(t). Получившееся в результате состояние есть результат одного асинхронного шага.

< Лекция 10 || Лекция 11: 1234 || Лекция 12 >