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

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.

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