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

Материал из testwiki
Перейти к навигации Перейти к поиску

Нейро́нная сеть Хэ́мминга — вид нейронной сети, использующийся для классификации бинарных векторов, основным критерием в которой является расстояние Хэмминга. Является развитием нейронной сети Хопфилда.

Сеть используется для того, чтобы соотнести бинарный вектор x=(x1,x2,x3,...,xm), где xi={1,1}, с одним из эталонных образов (каждому классу соответствует свой образ), или же решить, что вектор не соответствует ни одному из эталонов. В отличие от сети Хопфилда, выдаёт не сам образец, а его номер.

Сеть предложена Ричардом Липпманном в 1987 году. Она позиционировалась как специализированное гетероассоциативное запоминающее устройство.[1]

Архитектура

Файл:Hamming net.png
Схема сети Хемминга

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

Обучение сети

Матрица весовых коэффициентов первого слоя получается из матрицы эталонных образов X как wij=xij2, где матрица эталонных образов — это матрица K×M, каждая строка которой — соответствующий эталонный бинарный вектор. Функция активации определяется как f(s)={0,s0,s,0<sT;T,s>T

где T=M2

Матрица весовых коэффициентов второго слоя имеет размер K×K, и определяется как

[1ϵϵϵ1ϵϵϵ1],

где ϵ(0,1K]

Таким образом, обучение производится за один цикл.

Работа сети

На вход подаётся классифицируемый вектор x*. Состояние нейронов первого слоя рассчитывается как s1j=wjixi*. Выход нейронов первого слоя получается путём применения функции активации к состоянию, и становится начальным значением соответствующих нейронов второго слоя. Далее, состояния нейронов второго слоя получаются из их предыдущего состояния, исходя из матрицы весовых коэффициентов второго слоя, и процедура повторяется итерационно до стабилизации вектора состояния второго слоя — пока норма разницы векторов двух последовательных итераций не станет меньше определённого значения Emax(на практике достаточно значений порядка 0,1).

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

Примеры

Сеть может использоваться для распознавания изображений, состоящих лишь из чёрных и белых пикселей, например, индекс, написанный на кодовом штампе конверта.

Примечания

Шаблон:Примечания

Литература

Шаблон:Нейросети Шаблон:Машинное обучение

  1. Richard Lippmann. 1987. An introduction to computing with neural nets. IEEE Assp magazine