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

Группа исследователей из Smart Engines представила на международной конференции ICMV 2023 инновационное решение — биполярную морфологическую нейронную сеть YOLO (Bipolar Morphological YOLO, BM YOLO), которая сочетает в себе энергоэффективные вычислительные подходы и проверенную временем архитектуру YOLO для детектирования объектов.

1. Что такое Bipolar Morphological YOLO?

BM YOLO является развитием популярной модели YOLO (с англ. “You Only Look Once”). YOLO (You Only Look Once) — это архитектура, которая совершила революцию в детектировании объектов. В отличие от традиционных методов, разбивающих задачу на несколько этапов (генерация предложений, классификация, регрессия координат), YOLO выполняет детектирование за один проход сети. Это делает её невероятно быстрой и подходящей для задач реального времени.

Основное отличие BM YOLO — использование биполярных морфологических нейронов вместо традиционных. Такой подход позволяет значительно снизить вычислительную сложность за счёт замены операций умножения на более простые — сложение и взятие максимума.

1.1. Биполярный морфологический нейрон

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

 \sum\limits_{i=1}^n \omega_ix_i = \exp \{ \ln \sum\limits_{i=1}^n \omega_ix_i\} \approx \exp \max_{i} \{ \ln \omega_i + \ln x_i\} \approx \exp \max_{i} \{ v_i + \ln x_i\},

при x_i > 0, w_i>0. Однако, чтобы избавиться от ограничения на положительные значения весов и входных данных, которые следуют из формулы выше, потребовалось применить нестандартный математический подход:

  1. Входные данные делятся на два потока:

    • Положительные компоненты (xᵢ⁺): если значение больше или равно нулю, оно остаётся без изменений.

    • Отрицательные компоненты (xᵢ⁻): если значение меньше нуля, берется его модуль.

  2. Аналогично выполняется разделение для весов.

  3. Далее в каждой "ветке" основные вычисления выполняются с использованием операций:

    • Сложения;

    • Поиска максимума.

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

В результате БМ сети должны обрабатывать данные быстрее и эффективнее классических при реализации на специализированном оборудовании, таком как FPGA или ASIC.

1.2. Зачем нужны BM-нейроны?

Они могут применяться в сферах, где важна энергоэффективность и возможно использование отдельного “железа”, например:

  • IoT (Интернет вещей): работа в условиях с низким энергопотреблением.

  • Автономные системы: дроны, роботы и беспилотные автомобили.

  • Системы видеонаблюдения: детектирование объектов в реальном времени.

1.3. YOLO с биполярными морфологическими нейронами

Наша BM YOLO основана на упрощённой версии YOLOv3-tiny (см. Рис. 1), где основная часть сети (backbone, отвечающий за извлечение признаков) была заменена на слои с биполярными морфологическими нейронами. Такая модификация позволила сохранить высокую точность детекции, поскольку "голова" сети (обрабатывающая выходные данные) осталась неизменной.

Рис. 1: Архитектура нашей сети: БМ (слева) и классическая (справа).
Рис. 1: Архитектура нашей сети: БМ (слева) и классическая (справа).

2. Как обучалась сеть?

Обучение BM YOLO проводилось в несколько этапов:

  1. Инициализация: Обучение начиналось с использования нейронной сети YOLOv3-tiny, построенной на традиционных нейронах.

  2. Дистилляция знаний (Knowledge Distillation): Для переноса знаний применялась предобученная модель YOLOv3-tiny, которая использовалась в качестве эталона. Метод дистилляции переноса знаний позволял передать знания от эталонной модели к целевой BM-модели с идентичной архитектурой. Дистиллировали модели послойно, а веса головной части YOLO оставались фиксированными.

  3. Дообучение “головы”: Проводился процесс дообучения, в ходе которого особое внимание уделялось головной части BM-модели, при этом её основная часть (backbone) оставалась "замороженной".

  4. Обучение основной части: Выполнялось дообучение основной части модели, а голова сети оставалась неизменной. Оно проводилось послойно и аналогично переносу знаний. На этом этапе информация из эталонной модели не использовалась.

  5. Дообучение "головы" (повторно): Проводился ещё один этап дообучения, сосредоточенный на головной части BM-модели.

  6. Итеративное обучение: Шаги 4 и 5 повторялись до тех пор, пока сеть не достигла максимально возможного качества.

3. Собственно результаты

Модель тестировалась на наборе данных COCO. По метрикам точности и полноты (Average Precision и Average Recall), BM YOLO показала результаты, сравнимые с классической YOLOv3-tiny, как показано в таблице 1. 

Табл. 1: Сравнение различных метрик между БМ и Классической YOLO на датасете COCO.

Metrics

IoU

Area

Classical

BM

Average Precision

0.50:0.95

all

0.059

0.055

Average Precision

0.50

all

0.135

0.126

Average Precision

0.75

all

0.043

0.041

Average Precision

0.50:0.95

small

0.016

0.020

Average Precision

0.50:0.95

medium

0.057

0.059

Average Precision

0.50:0.95

large

0.097

0.088

Average Recall

0.50:0.95

all

0.095

0.102

Average Recall

0.50

all

0.190

0.201

Average Recall

0.75

all

0.227

0.236

Average Recall

0.50:0.95

small

0.049

0.056

Average Recall

0.50:0.95

medium

0.244

0.245

Average Recall

0.50:0.95

large

0.371

0.393

Особенно заметным было улучшение точности на больших объектах. Примеры работы обеих моделей представлены на рисунке 2. Видно, что обе модели демонстрируют определённые ошибки в распознавании, однако версия с биполярными морфологическими нейронами отличается меньшим количеством ложных классификаций и меньшим ошибочно назначенных тегов объектов.

Рис. 2: Детекция объектов БМ сетью (слева) и классической сетью (справа).
Рис. 2: Детекция объектов БМ сетью (слева) и классической сетью (справа).

6. Заключение

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

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

Комментарии (0)