Kaspersky
Neuromorphic
Platform

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

Основные сведения о Kaspersky
Neuromorphic Platform (KNP)


Две технологии создания импульсных нейронных сетей
Технология ANN2SNN

Преобразование нейронных сетей глубокого обучения (Artificial Neural Network, ANN) в их импульсные аналоги (Spiking Neural Network, SNN). Технология ANN2SNN предполагает обучение нейронной сети методом обратного распространения ошибки с квантованием весов и использованием ступенчатой функции активации нейронов (функции Хевисайда).

Технология SNN

Разработка топологий (архитектур) и обучение нейронных сетей в импульсном базисе. Технология SNN предполагает локальный принцип обучения нейронной сети на основе биологически реалистичной модели синаптической пластичности, зависящей от времени импульсов (spike-timing dependent synaptic plasticity, STDP).


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

1. Фронт-энд - построение сети

2. Бэк-энд - работа сети

3. Между ними - сообщения

Популяция нейронов

Группа нейронов с одинаковым набором параметров

Синаптическая проекция

Группа синапсов с одинаковым набором параметров, связывающая две популяции

Сообщение

Единица информационного обмена в модели ИмНС. Примерами сообщений являются импульсы (спайки), испускаемые нейронами, и синаптические воздействия, генерируемые синапсами


Поддержка нейроморфного процессора

Наряду с GPU и CPU бэкендами KNP поддерживает бэкенды для нейроморфного процессора «Алтай».

Основной структурной единицей архитектуры нейроморфного процессора «Алтай» является ядро, которое объединяет в себе группу нейронов и память для хранения их параметров (принцип «вычисления рядом с памятью»). Такой подход позволяет сократить избыточные энергозатраты на пересылку данных между памятью и вычислителем, возникающие в классической архитектуре фон Неймана. Как следствие, нейроморфный процессор «Алтай» обладает низким энергопотреблением. В первом (текущем) поколении процессора «Алтай» («Алтай-1») реализована возможность инференса импульсных нейронных сетей.

«Алтай-1» имеет регулярную структуру ядер в виде прямоугольной сети, в которой каждое ядро непосредственно связано со своими 4 соседями. Для передачи спайков между нейронами разных ядер используется механизм маршрутизации таких сигналов по сети ядер. Соответственно, при выполнении функции нейрона к потенциалу моделируемого нейрона могут быть добавлены значения нейронных потенциалов, отправленных нейронами из других ядер.

На данный момент выпущены прототипы «Алтай-1», содержащие 16 нейроядер с 512 нейронами в каждом ядре.

Следующее поколение процессора «Алтай» (планируемый выход – 2027 г.) будет обладать рядом новых важных возможностей:

  • Обучение нейросети на чипе (on-line learning);
  • Программируемая модель нейрона;
  • Программируемая синаптическая функция;
  • Динамически изменяемая структура нейросети.

Это еще один шаг к созданию не только энергоэффективных и быстродействующих, но и адаптивных систем нейроморфного ИИ.


Модульная архитектура
Основные программные компоненты KNP:
  • Фреймворки для разработки на Python и С++;
  • Бэкенд для CPU (обучение, инференс);
  • Бэкенд для нейроморфного процессора «Алтай» (инференс);
  • Бэкенд для GPU (обучение, инференс);
  • Программный эмулятор нейроморфного процессора «Алтай» («золотая модель»).

Обратная связь

Для обсуждения возможностей сотрудничества напишите нам
на neuro@kaspersky.com или воспользуйтесь формой обратной связи