Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Spiking Neural Network

Импульсная нейронная сеть (SNN) передаёт информацию в виде импульсов с временными метками, подобно биологическим нейронам, обеспечивая энергоэффективный нейроморфный ИИ. Рассматриваются нейроны и обучение.

Спайковая нейронная сеть (SNN) — это нейронная сеть, в которой нейроны обмениваются дискретными сигналами по принципу «всё или ничего», называемыми спайками; такой способ ближе к передаче сигналов биологическими нейронами. Каждый нейрон накапливает входящие спайки во внутреннем мембранном потенциале, который постепенно затухает, и генерирует собственный спайк, только когда потенциал пересекает порог. Информация содержится в том, какие нейроны срабатывают и когда, поэтому SNN обрабатывают данные по мере их поступления и выполняют вычисления только при появлении спайков. Благодаря такой разреженности, обусловленной событийной обработкой, эти сети привлекательны для энергоэффективного периферийного ИИ на нейроморфных чипах и хорошо подходят для событийных камер, которые также передают изменения в виде асинхронных событий. В 1997 году Вольфганг Маасс описал SNN как третье поколение моделей нейронных сетей — после пороговых элементов и сетей с непрерывными функциями активации.

Как работают спайковые нейроны#

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

import torch

# Three leaky integrate-and-fire neurons, each driven by a constant input current
current = torch.tensor([0.15, 0.3, 0.6])
decay, threshold = 0.8, 1.0  # fraction of potential kept per step, firing threshold

potential = torch.zeros(3)
spike_counts = torch.zeros(3)
for step in range(20):
    potential = decay * potential + current  # leak, then integrate the input
    spikes = (potential >= threshold).float()  # fire where the threshold is crossed
    potential = potential * (1 - spikes)  # reset neurons that fired
    spike_counts += spikes

print(f"Spikes in 20 steps: {spike_counts.tolist()}")

Выводится Spikes in 20 steps: [0.0, 4.0, 10.0]. При входном значении 0.15 потенциал стабилизируется на уровне 0.15 / (1 − 0.8) = 0.75, ниже порога, поэтому нейрон никогда не срабатывает. Входное значение 0.3 вызывает 4 спайка, а значение 0.6 пересекает порог через каждый шаг, что даёт 10 спайков. Такие библиотеки, как snnTorch, предоставляют подобные слои LIF в виде модулей PyTorch, которые обучаются на GPU.

Кодирование информации в спайках#

Прежде чем SNN сможет использовать данные, их нужно преобразовать в спайки; выбранный способ кодирования влияет и на точность, и на скорость:

  • Частотное кодирование: Значение преобразуется в частоту срабатывания, как в симуляции выше. Этот способ надёжен, но для точного представления значения требуется много шагов по времени.
  • Временное кодирование: Значение преобразуется во время возникновения спайка; например, более яркие пиксели вызывают более ранние спайки, что позволяет передать информацию всего несколькими спайками.
  • Событийные датчики: Камеры для нейроморфного зрения выдают событие, похожее на спайк, при каждом изменении яркости пикселя; временное разрешение составляет микросекунды, а фиксированной частоты кадров нет, поэтому такие данные можно напрямую подавать в SNN.

Обучение SNN#

Спайк — это ступенчатая функция, производная которой почти везде равна нулю, поэтому стандартный обратный проход не может передавать через неё градиенты. Эту проблему решают тремя способами. При преобразовании ANN в SNN обычную сеть обучают с функциями активации ReLU, а затем преобразуют каждую активацию в частоту срабатывания. При обучении с помощью суррогатного градиента жёсткий спайк сохраняется на прямом проходе, но на обратном проходе вместо его производной используется производная гладкой функции; затем сеть обучают методом обратного распространения во времени, как рекуррентную нейронную сеть (RNN). Пластичность, зависящая от времени спайков (STDP), — это локальное правило, вдохновлённое биологией: оно усиливает синапс, когда входной спайк предшествует выходному, и позволяет обучаться без меток. Большинство современных SNN с высокой точностью обучают напрямую с помощью суррогатных градиентов; для них нужно намного меньше шагов по времени, чем для преобразованных сетей, а преобразование остаётся самым простым способом перенести существующую модель.

Нейроморфное оборудование#

SNN экономят больше всего энергии на чипах, специально разработанных для них. В нейроморфных процессорах память размещена рядом с множеством небольших ядер, обмен данными идёт с помощью сообщений о спайках, а вычисления выполняются только при поступлении спайков; кроме того, поскольку спайки бинарны, для каждого синаптического события требуется сложение, а не умножение. TrueNorth от IBM (2014) разместил миллион нейронов на одном чипе, SpiNNaker Манчестерского университета использует большие массивы ядер ARM, а Loihi 2 от Intel лежит в основе Hala Point — исследовательской системы 2024 года с 1 152 процессорами Loihi 2 и 1,15 миллиарда нейронов. На стандартных GPU, предназначенных для плотных матричных вычислений, SNN обычно работают медленнее эквивалентных обычных сетей.

SNN и обычные нейронные сети#

  • Сигналы: Обычные сети, включая свёрточные нейронные сети (CNN) и трансформеры, передают непрерывные значения через каждый нейрон за один прямой проход. SNN передают бинарные спайки на протяжении многих шагов по времени, и в любой момент большинство нейронов остаются неактивными.
  • Точность: Обычные сети по-прежнему лидируют на стандартных тестах для изображений, а SNN в основном сократили разрыв благодаря обучению с суррогатным градиентом и архитектурам, заимствованным у обычных моделей.
  • Эффективность: SNN на нейроморфном оборудовании потребляют гораздо меньше энергии при разреженных событийных входных данных, например потоках событийных камер и непрерывно работающих аудиодатчиках.

Применение#

  • Событийное зрение и робототехника: В исследовании Science Robotics 2024 года учёные из TU Delft управляли дроном с полностью спайковой сетью зрения и управления на Intel Loihi, преобразующей исходные данные событийной камеры в команды движения с частотой 200 Гц.
  • Непрерывный мониторинг: Распознавание ключевых слов, жестов и аномалий в показаниях датчиков выигрывает от использования SNN, почти не потребляющих энергию, пока ничего не меняется.
  • Обнаружение объектов: SpikeYOLO — импульсный детектор, представленный Синьхао Ло, Ман Яо и их коллегами на ECCV 2024. Он основан на кодовой базе Ultralytics и упрощает архитектуру Ultralytics YOLOv8 с помощью блоков, управляемых импульсами. Модель достигла mAP50-95 48,9% на COCO, используя обучение с целочисленными значениями и инференс, управляемый импульсами.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения