Пространство имен modifier
Пространство имен modifier содержит классы, реализующие модификаторы.
KWtaRandomHandlerПредоставляет обработчик сообщений, который получает вектор сообщений
SpikeMessageи возвращает определенное количество случайных индексов нейронов, сгенерировавших спайки.GroupWtaRandomHandlerПредоставляет обработчик сообщений, который получает вектор сообщений
SpikeMessageи разделяет их на группы. В каждой группе обработчик сортирует сообщения по количеству нейронов, сгенерировавших спайки, в убывающем порядке и возвращает индексы нейронов, сгенерировавших спайки, в определенном количестве отсортированных сообщений группы.KWtaPerGroupПредоставляет обработчик сообщений, который получает вектор сообщений
SpikeMessageи разделяет их на группы. Для каждой группы сообщений обработчик возвращает определенное количество случайных индексов нейронов, сгенерировавших спайки.SpikeUnionHandlerПредоставляет обработчик сообщений, который получает вектор сообщений
SpikeMessageи возвращает индексы нейронов, сгенерировавших спайки, хотя бы в одном сообщении.
Классы KWtaRandomHandler, GroupWtaRandomHandler и KWtaPerGroup реализуют механизм Winner Takes ALL (WTA). Каждый из этих модификаторов принимает сообщения SpikeMessage, содержащие спайки, и отправляет сообщения SynapticImpactMessage, содержащие синаптические воздействия. В силу этого при построении нейронной сети нейронный слой с WTA-модификатором необходимо подключить к популяции нейронов на входе и проекции синапсов на выходе (см. рис. ниже).
Структура нейронной сети с WTA-модификатором
Вы можете добавить обработчик сообщений в исполнитель моделей с помощью метода ModelExecutor::add_observer() или функции projection::add_wta_handlers().
Подробнее об интерфейсах пространства имен modifier см. в API-документации Kaspersky Neuromorphic Platform.
