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

Из Википедии, бесплатной энциклопедии

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

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

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

Архитектура[править | править код]

Схема сети Хемминга

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

Обучение сети[править | править код]

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

где

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

 

где

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

Работа сети[править | править код]

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

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

Примеры[править | править код]

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

Примечания[править | править код]

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

Литература[править | править код]

  • Владимир Головко. Нейронные сети. Обучение, организация и применение. Книга 4. — М.: ИПРЖР, 2001. — 256 с.
  • Осовский С. Нейронные сети для обработки информации. — М.: Финансы и статистика, 2002. — 344 с.