Нейронная сеть Хэмминга (Uywjkuugx vym, }zbbnuig)
Нейро́нная сеть Хэ́мминга — вид нейронной сети, использующийся для классификации бинарных векторов, основным критерием в которой является расстояние Хэмминга. Является развитием нейронной сети Хопфилда.
Сеть используется для того, чтобы соотнести бинарный вектор , где , с одним из эталонных образов (каждому классу соответствует свой образ), или же решить, что вектор не соответствует ни одному из эталонов. В отличие от сети Хопфилда, выдаёт не сам образец, а его номер.
Сеть предложена Ричардом Липпманном в 1987 году. Она позиционировалась как специализированное гетероассоциативное запоминающее устройство.[1]
Архитектура
[править | править код]Сеть Хэмминга — трёхслойная нейронная сеть с обратной связью. Количество нейронов во втором и третьем слоях равно количеству классов классификации. Синапсы нейронов второго слоя соединены с каждым входом сети, нейроны третьего слоя связаны между собой отрицательными связями, кроме синапса, связанного с собственным аксоном каждого нейрона — он имеет положительную обратную связь.
Обучение сети
[править | править код]Матрица весовых коэффициентов первого слоя получается из матрицы эталонных образов как , где матрица эталонных образов — это матрица , каждая строка которой — соответствующий эталонный бинарный вектор. Функция активации определяется как
где
Матрица весовых коэффициентов второго слоя имеет размер , и определяется как
где
Таким образом, обучение производится за один цикл.
Работа сети
[править | править код]На вход подаётся классифицируемый вектор . Состояние нейронов первого слоя рассчитывается как . Выход нейронов первого слоя получается путём применения функции активации к состоянию, и становится начальным значением соответствующих нейронов второго слоя. Далее, состояния нейронов второго слоя получаются из их предыдущего состояния, исходя из матрицы весовых коэффициентов второго слоя, и процедура повторяется итерационно до стабилизации вектора состояния второго слоя — пока норма разницы векторов двух последовательных итераций не станет меньше определённого значения (на практике достаточно значений порядка 0,1).
В случае, если в итоге один вектор положительный, а остальные отрицательные, то он указывает на подходящий образец. В случае же, если несколько векторов положительны, и при этом, не один из них не превышает , то это значит, что нейросеть не может отнести входящий вектор ни к одному из классов, однако положительные выходы указывают на наиболее схожие эталоны.
Примеры
[править | править код]Сеть может использоваться для распознавания изображений, состоящих лишь из чёрных и белых пикселей, например, индекс, написанный на кодовом штампе конверта.
Примечания
[править | править код]- ↑ Richard Lippmann. 1987. An introduction to computing with neural nets. IEEE Assp magazine
Литература
[править | править код]- Владимир Головко. Нейронные сети. Обучение, организация и применение. Книга 4. — М.: ИПРЖР, 2001. — 256 с.
- Осовский С. Нейронные сети для обработки информации. — М.: Финансы и статистика, 2002. — 344 с.