Новая архитектура нейронной сети, разработанная исследователями искусственного интеллекта из Университета Дарвина и Университета Ватерлоо, позволит выполнять сегментацию изображений на вычислительных устройствах с малой вычислительной мощностью.
Сегментация — это процесс определения границ и областей объектов на изображениях. Мы, люди, выполняем сегментацию без сознательных усилий, но это остается ключевой проблемой для систем машинного обучения. Это жизненно важно для функциональности мобильных роботов, самоуправляемых автомобилей и других систем искусственного интеллекта, которые должны взаимодействовать и ориентироваться в реальном мире.
До недавнего времени сегментация требовала больших вычислительных нейросетей. Это затрудняло запуск этих моделей глубокого обучения без подключения к облачным серверам.
В своей последней работе ученым из Университета Дарвина и Университета Ватерлоо удалось создать нейронную сеть, которая обеспечивает почти оптимальную сегментацию и достаточно мала, чтобы поместиться на устройствах с ограниченными ресурсами. Эта нейронная сеть, получившая название AttendSeg, подробно описана в статье, представленной в этом году на Конференции по компьютерному зрению и распознаванию образов (CVPR).
Классификация, обнаружение и сегментация объектов
Одной из ключевых причин растущего интереса к системам машинного обучения служат проблемы, которые они могут решить в области компьютерного зрения. Некоторые из наиболее распространенных приложений машинного обучения в области компьютерного зрения включают классификацию изображений, обнаружение объектов и сегментацию.
Классификация изображений определяет, присутствует ли в изображении определенный тип объекта или нет. Обнаружение объектов делает классификацию изображений еще одним шагом вперед и обеспечивает ограничивающую рамку, в которой находятся обнаруженные объекты.
Сегментация бывает двух видов: семантическая и сегментация экземпляров. Семантическая сегментация определяет класс объектов каждого пикселя входного изображения. Сегментация экземпляров разделяет отдельные экземпляры каждого типа объектов. Для практических целей выходные данные сегментационных сетей обычно представляются цветными пикселями. Сегментация — безусловно, самый сложный тип задачи классификации.
Классификация изображений против обнаружения объектов против семантической сегментации (Фото: codebasics).
Сложность сверточных нейронных сетей (CNN), архитектуры глубокого обучения, обычно используемой в задачах компьютерного зрения, обычно измеряется количеством параметров, которые они имеют. Чем больше параметров имеет нейронная сеть, тем больше памяти и вычислительной мощности ей потребуется.
RefineNet, популярная нейронная сеть семантической сегментации, содержит более 85 миллионов параметров. При 4 байтах на параметр это означает, что приложение, использующее RefineNet, требует не менее 340 мегабайт памяти только для запуска нейронной сети. А учитывая, что производительность нейронных сетей во многом зависит от аппаратного обеспечения, способного выполнять быстрые матричные умножения, это означает, что модель должна быть загружена на видеокарту или какой-то другой параллельный вычислительный блок, где памяти меньше, чем оперативной памяти компьютера.
Машинное обучение для периферийных устройств
Из-за своих аппаратных требований большинство приложений сегментации изображений нуждаются в подключении к Интернету для отправки изображений на облачный сервер, который может запускать большие модели глубокого обучения. Подключение к облаку может создавать дополнительные ограничения для использования сегментации изображений. Например, если беспилотник или робот будет работать в среде, где нет подключения к Интернету, то выполнение сегментации изображений станет сложной задачей. В других областях агенты ИИ будут работать в чувствительных средах, а отправка изображений в облако будет зависеть от ограничений конфиденциальности и безопасности. Задержка, вызванная обратным переходом в облако, может быть непомерно высокой в приложениях, требующих реакции моделей машинного обучения в режиме реального времени. И стоит отметить, что сетевое оборудование само по себе потребляет много энергии, а отправка постоянного потока изображений в облако может быть обременительной для устройств с батарейным питанием.
По всем этим причинам (и еще нескольким) edge AI и tiny machine learning (TinyML) стали горячими областями интереса и исследований как в академических кругах, так и в секторе прикладного ИИ. Цель TinyML — создать модели машинного обучения, которые могут работать на устройствах с ограниченным объемом памяти и энергопотреблением без необходимости подключения к облаку.
Архитектура нейронной сети семантической сегментации на устройстве AttendSeg.
С помощью AttendSeg исследователи из DarwinAI и Университета Ватерлоо попытались решить проблемы семантической сегментации на маломощном устройстве.
“Идея AttendSeg была продиктована как нашим желанием продвинуть область TinyML, так и потребностями рынка, которые мы рассматривали как DarwinAI, — рассказал TechTalks Александр Вонг, соучредитель DarwinAI и адъюнкт-профессор Университета Ватерлоо . — Существует множество промышленных применений высокоэффективных подходов к сегментации, готовых к использованию краев, и именно такая обратная связь наряду с потребностями рынка, как я вижу, стимулирует такие исследования”.
В статье AttendSeg описывается как “низкоточная, очень компактная сеть глубокой семантической сегментации, адаптированная для приложений TinyML”.
Модель глубокого обучения AttendSeg выполняет семантическую сегментацию с точностью, почти сравнимой с RefineNet, при этом сокращая количество параметров до 1,19 миллиона. Интересно, что исследователи также обнаружили, что снижение точности параметров с 32 бит (4 байта) до 8 бит (1 байт) не привело к значительному снижению производительности, хотя и позволило им сократить объем памяти AttendSeg в четыре раза. Эта модель требует немногим более одного мегабайта памяти, что достаточно мало, чтобы поместиться на большинстве периферийных устройств.
“[8-битные параметры] не ставят предела с точки зрения обобщаемости сети, основанной на наших экспериментах, и иллюстрируют, что представление низкой точности может быть весьма полезным в таких случаях (вы должны использовать только столько точности, сколько необходимо)”, — сообщил г-н Вонг.
Конденсаторы внимания для компьютерного зрения
Эксперименты показывают, что AttendSeg обеспечивает оптимальную семантическую сегментацию, сокращая количество параметров и объем памяти
Конденсаторы внимания для компьютерного зрения
AttendSeg использует “конденсаторы внимания” для уменьшения размера модели без ущерба для производительности. Механизмы самосознания — это ряд механизмов, которые повышают эффективность нейронных сетей, фокусируясь на важной информации. Техники самоанализа были благом для области обработки естественного языка. Они были определяющим фактором успеха архитектур глубокого обучения, таких как трансформаторы. В то время как предыдущие архитектуры, такие как рекуррентные нейронные сети, имея ограниченные возможности на длинных последовательностях данных, использовали механизмы само-внимания для расширения своего диапазона. Модели глубокого обучения, такие как GPT-3, используют трансформаторы и самосознание для создания длинных строк текста, которые (по крайней мере внешне) сохраняют согласованность на протяжении длительных промежутков.
Исследователи искусственного интеллекта также использовали механизмы внимания для повышения производительности сверточных нейронных сетей. В прошлом году Вонг и его коллеги представили конденсаторы внимания как очень ресурсоэффективный механизм внимания и применили их к моделям машинного обучения классификаторов изображений.
“[Конденсаторы внимания] позволяют создавать очень компактные глубокие архитектуры нейронных сетей, которые все еще могут достигать высокой производительности, что делает их очень хорошо подходящими для приложений edge/TinyML”, — заметил г-н Вонг.
Конденсаторы внимания улучшают производительность сверточных нейронных сетей эффективным для памяти способом
Машинное проектирование нейронных сетей
Одной из ключевых задач проектирования нейронных сетей TinyML является поиск наиболее эффективной архитектуры при соблюдении вычислительного бюджета целевого устройства.
Для решения этой задачи исследователи использовали “генеративный синтез”, метод машинного обучения, который создает нейросетевые архитектуры на основе определенных целей и ограничений. В основном, вместо того, чтобы вручную возиться со всеми видами конфигураций и архитектур, исследователи предоставляют проблемное пространство для модели машинного обучения и позволяют ей найти лучшее сочетание.
“Управляемый машиной процесс проектирования, используемый здесь (генеративный синтез), требует, чтобы человек предоставил исходный прототип проекта и заданные человеком желаемые эксплуатационные требования (например размер, точность и т. д.), И процесс проектирования MD берет на себя обучение у него и генерирует оптимальный дизайн архитектуры, адаптированный к эксплуатационным требованиям и задачам и данным под рукой”, -сказал г-н Вонг.
Для своих экспериментов исследователи использовали машинный дизайн для настройки Nvidia Jetson, аппаратные наборы для робототехники и приложения Edge AI. Но AttendSeg не ограничивается только Jetson.
“По сути, нейронная сеть AttendSeg будет работать быстро на большинстве периферийных устройств по сравнению с ранее предложенными сетями в литературе, — уточняет разработчик. -Однако, если вы хотите сгенерировать AttendSeg, который еще больше адаптирован для конкретной части оборудования, машинный подход исследования дизайна может быть использован для создания новой высоко настроенной сети для него”.
AttendSeg имеет очевидные приложения для автономных дронов, роботов и транспортных средств, где семантическая сегментация является ключевым требованием для навигации. Но сегментация на устройстве может иметь гораздо больше приложений.
“Этот тип очень компактной, высокоэффективной сегментационной нейронной сети может использоваться для широкого спектра задач, начиная от производственных приложений (например, инспекция деталей / оценка качества, роботизированный контроль), медицинских приложений (например, анализ клеток, сегментация опухолей), спутниковых приложений дистанционного зондирования (например, сегментация наземного покрова) и мобильных приложений (например, сегментация человека для дополненной реальности)”, — сказал г-н Вонг.
Автор статьи: Бен Диксон — инженер-программист и основатель TechTalks. Он пишет о технологии, бизнесе и политике.