- BrainTools - https://www.braintools.ru -
Современные технологии глубокого обучения [1] проникают в самые разные области нашей жизни — от автономных автомобилей до систем видеонаблюдения. Однако высокая вычислительная сложность традиционных нейронных сетей остается серьёзным препятствием на пути к их широкому применению на мобильных устройствах и встраиваемых системах.
Группа исследователей из Smart Engines [2] представила [3] на международной конференции ICMV 2023 инновационное решение — биполярную морфологическую нейронную сеть YOLO (Bipolar Morphological YOLO, BM YOLO), которая сочетает в себе энергоэффективные вычислительные подходы и проверенную временем архитектуру YOLO для детектирования объектов.
BM YOLO является развитием популярной модели YOLO (с англ. “You Only Look Once”). YOLO (You Only Look Once) — это архитектура, которая совершила революцию в детектировании объектов. В отличие от традиционных методов, разбивающих задачу на несколько этапов (генерация предложений, классификация, регрессия координат), YOLO выполняет детектирование за один проход сети. Это делает её невероятно быстрой и подходящей для задач реального времени.
Основное отличие BM YOLO — использование биполярных морфологических нейронов вместо традиционных. Такой подход позволяет значительно снизить вычислительную сложность за счёт замены операций умножения на более простые — сложение и взятие максимума.
В традиционных нейросетях вычисления выполняются за счёт множества операций умножения и сложения весов входных данных. Мы разработали альтернативный подход, основанный на аппроксимации скалярного произведения в классическом нейроне:
при ,
. Однако, чтобы избавиться от ограничения на положительные значения весов и входных данных, которые следуют из формулы выше, потребовалось применить нестандартный математический подход:
Входные данные делятся на два потока:
Положительные компоненты (xᵢ⁺): если значение больше или равно нулю, оно остаётся без изменений.
Отрицательные компоненты (xᵢ⁻): если значение меньше нуля, берется его модуль.
Аналогично выполняется разделение для весов.
Далее в каждой “ветке” основные вычисления выполняются с использованием операций:
Сложения;
Поиска максимума.
Эта новая модель получила название биполярного морфологического нейрона [4], и подробнее мы ее уже рассматривали тут [5]. Отметим, что логарифмы и экспоненты применяются только к входным и выходным векторам слоя, а еще для них можно использовать быстрые аппроксимации [6].
В результате БМ сети должны обрабатывать данные быстрее и эффективнее классических при реализации на специализированном оборудовании, таком как FPGA или ASIC.
Они могут применяться в сферах, где важна энергоэффективность и возможно использование отдельного “железа”, например:
IoT (Интернет вещей): работа в условиях с низким энергопотреблением.
Автономные системы: дроны, роботы и беспилотные автомобили.
Системы видеонаблюдения: детектирование объектов в реальном времени.
1.3. YOLO с биполярными морфологическими нейронами
Наша BM YOLO основана на упрощённой версии YOLOv3-tiny (см. Рис. 1), где основная часть сети (backbone, отвечающий за извлечение признаков) была заменена на слои с биполярными морфологическими нейронами. Такая модификация позволила сохранить высокую точность детекции, поскольку “голова” сети (обрабатывающая выходные данные) осталась неизменной.
Обучение BM YOLO проводилось в несколько этапов:
Инициализация: Обучение начиналось с использования нейронной сети YOLOv3-tiny, построенной на традиционных нейронах.
Дистилляция знаний (Knowledge Distillation): Для переноса знаний применялась предобученная модель YOLOv3-tiny, которая использовалась в качестве эталона. Метод дистилляции переноса знаний позволял передать знания от эталонной модели к целевой BM-модели с идентичной архитектурой. Дистиллировали модели послойно, а веса головной части YOLO оставались фиксированными.
Дообучение “головы”: Проводился процесс дообучения, в ходе которого особое внимание [7] уделялось головной части BM-модели, при этом её основная часть (backbone) оставалась “замороженной”.
Обучение основной части: Выполнялось дообучение основной части модели, а голова сети оставалась неизменной. Оно проводилось послойно и аналогично переносу знаний. На этом этапе информация из эталонной модели не использовалась.
Дообучение “головы” (повторно): Проводился ещё один этап дообучения, сосредоточенный на головной части BM-модели.
Итеративное обучение: Шаги 4 и 5 повторялись до тех пор, пока сеть не достигла максимально возможного качества.
Модель тестировалась на наборе данных 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. Видно, что обе модели демонстрируют определённые ошибки [8] в распознавании, однако версия с биполярными морфологическими нейронами отличается меньшим количеством ложных классификаций и меньшим ошибочно назначенных тегов объектов.
В мире глубокого обучения, где каждый лишний терафлопс достается потом и кровью, BM YOLO показывает, что оптимизировать вычисления можно не просто сокращением числа операций или квантованием, а с помощью нового взгляда на архитектуру самих нейронов.
Возможность отказаться от умножений в пользу простых и энергоэффективных вычислений открывает двери для новых компактных ИИ-систем, способных работать там, где раньше объемные нейросети были практически недоступны: в автономных дронах, носимых устройствах, системах, работающих от батареи.
Автор: SmartEngines
Источник [9]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/11825
URLs in this post:
[1] обучения: http://www.braintools.ru/article/5125
[2] Smart Engines: https://smartengines.com/
[3] представила: https://smartengines.ru/science/publications/#presentations2023:~:text=M.%20Zingerenko%2C%20E.%20Limonova.%20Bipolar%20Morphological%20YOLO%20network%20for%20object%20detection%2C%20ICMV%202023
[4] нейрона: http://www.braintools.ru/article/6020
[5] тут: https://habr.com/ru/companies/smartengines/articles/497310/
[6] быстрые аппроксимации: https://habr.com/ru/companies/smartengines/articles/734576/
[7] внимание: http://www.braintools.ru/article/7595
[8] ошибки: http://www.braintools.ru/article/4192
[9] Источник: https://habr.com/ru/companies/smartengines/articles/879088/?utm_source=habrahabr&utm_medium=rss&utm_campaign=879088
Нажмите здесь для печати.