Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mmotor5.doc
Скачиваний:
61
Добавлен:
07.02.2016
Размер:
2.5 Mб
Скачать

5.6 Нейронная сеть Хэмминга

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

Рис. 5.4 - Структура нейронной сети Хемминга.

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

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

На стадии инициализации весовым коэффициентам первого слоя и порогу активационной функции присваиваются следующие значения:

wik = 0,5xik, i = 0,..., N-1, k = 0, ..., m-1,

θk = N / 2, k = 0, ..., m-1,

где xik – i-ый элемент k-го образца, n - количество признаков, m – количество нейронов в слое.

Весовые коэффициенты тормозящих синапсов во втором слое берут равными некоторой величине 0 <  < 1/m. Синапс нейрона, связанный с его же аксоном имеет вес +1.

Алгоритм функционирования сети Хэмминга следующий:

1. На входы сети подается неизвестный вектор x = {xi}, i = 0, ..., N-1, исходя из которого рассчитываются состояния нейронов первого слоя (верхний индекс указывает номер слоя):

, j=0, ..., m-1.

После этого полученными значениями инициализируются значения аксонов второго слоя:

y(2,j) = y(1,j), j = 0, ..., m-1.

2. Вычислить новые состояния нейронов второго слоя:

и значения их аксонов:

.

Активационная функция имеет вид порога, причем границы порога должны быть достаточно велики, чтобы любые возможные значения аргумента не приводили к насыщению.

3. Проверить, изменились ли выходы нейронов второго слоя за последнюю итерацию. Если да – перейди к шагу 2. Иначе – завершение алгоритма.

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

5.7 Машина Больцмана

Машина Больцмана задается четверкой{N,Е, x0,w}, где N - число нейронов, E = {(i, j)} -множество связей между нейронами, i, j= l,...,Nпри этом все автосвязи принадлежат этому множеству, то есть {(i,i)} - подмножество Е. Каждый нейрон может иметь состояние 0или 1. Состояние xkмашины Больцмана определяется состояниями нейронов xk= (xk1, ...,xkN), x0 -начальное состояние.

Каждая связь (i, j)имеет весwij —ве­щественное число, множество весов связей обозначаетсяw. Связь (i, j)называется активной в состоянии xk,если xkixkj = 1Вес свя­зи (i, j)интерпретируется как количественная мера желательности, чтобы эта связь была активной. Если wij>>0,то считается, что активность связи очень желательна, еслиwij<<0, то очень не желательна. Как и в модели Хопфилда связи в машине Больцмана симметричны, то естьwij = wji.

Для состояния xijмашины Больцмана вво­дится понятие консенсуса:

.

Консенсус Сkинтерпретируется как количественная мера желательности, чтобы все связи (i, j)в состоянии xkбыли активными.

Для состояния xkопределяется множество соседей x(k).Соседнее состояниеxk(i), принадлежащееx(k), получается из xkпри изменении состояния нейрона i:

Разница консенсусов соседних состояний xk и xk(i) равна:

,

где Е(i) - множество связей нейрона i.

Эволюция состояний от начальногоx0с максимизацией консенсуса приводит машину к финальному состоянию, имеющему локальный или глобальный максимум консенсуса и соответствую­щему решению задачи, близкому к оптимальному или оптимальному.

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

1)для данного состояния xkгенерируется соседнееxk(i),

2)оценивается, может ли быть принято состояниеxk(i), если может, то результат испытания—xk(i), иначе xk.

Состояниеxk(i) принимается с вероятностью:

,

где t - управляющий параметр (положительное вещественное число).

Процесс максимизации консенсуса начинается с высокого значения t0параметра tи случайно выбранного начального состоянияx0. В течение процесса параметр tуменьшается от t0до 0.По мере того как tприближается к нулю нейроны все реже изменяют свои состояния и, наконец, машина Больцмана стабилизируется в финальном состоянии.

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

Сходимостью машины Больцмана управляют следующие параметры:

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

,

2)правило затухания t:

,

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

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

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

Описанный процесс максимизации консенсуса является после­довательным. Максимизация может быть выполнена параллельно синхронным или асинхронным способом.

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

Васинхронномпараллельном процессе все нейроны могут изменять свои состояния только в зависимости от величины вероятности.Практически асинхронный параллелизм может быть выполнен следующим образом. Случайно выбирается подмножество W,содержащее qнейронов. Для каждого нейрона из этого подмножества устанавливается состояние в соответствии с выраже­нием.Получившееся в результате состояние xiесть результат одного асин­хронного шага. Число qвыбирается равным 2/3.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]