В глубоком обучении однозадачное обучение компьютерному зрению имело большой успех. Однако многие проблемы реального мира по своей сути мультимодальны. Например, чтобы давать индивидуализированный контент, интеллектуальная рекламная система должна уметь распознавать присутствие людей в своем поле зрения, определять их пол и возрастную группу, оценивать их внешний вид, отслеживать, куда они смотрят, и так далее. Такая система может быть реализована с помощью многозадачного обучения (MTL), в котором одна модель распределяет веса между многими задачами и делает несколько выводов за один прямой проход.

Оптимизация в многозадачном обучении

В этом разделе мы обсудим процедуру оптимизации MTL. Чтобы избежать того, чтобы одна или несколько задач оказывали доминирующее влияние на веса сети, мы должны тщательно сбалансировать совместное обучение всех задач. Здесь мы представляем несколько методов, рассматривающих проблему балансировки задач.

Цель оптимизации в задаче MTL может быть сформулирована как

(где «wi» — весовые коэффициенты для конкретной задачи, а «Li» — конкретные функции потерь)

Используя стохастический градиентный спуск для минимизации вышеуказанной цели, веса сети в общих слоях «Wsh» обновляются с помощью

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

Нормализация градиента

Здесь мы сосредоточимся на одном методе оптимизации, который называется Нормализация градиента (GradNorm)[1]. GradNorm — это метод управления многозадачным сетевым обучением, заставляющий градиенты для конкретных задач иметь одинаковый размер. Это побуждает сеть изучать все задачи с одинаковой скоростью. Прежде чем показать этот подход, мы введем соответствующие обозначения.

И мы также определяем различные скорости обучения для каждой задачи i:

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

где α — дополнительный гиперпараметр, добавленный в уравнение. α задает силу восстановительной силы, которая возвращает задачи к обычному темпу обучения. Следует использовать большее значение α, чтобы обеспечить лучший баланс скорости обучения в условиях, когда задачи существенно различаются по своей сложности, что приводит к резкому расхождению динамики обучения между задачами. Более низкое значение альфа желательно, когда проблемы более симметричны.

Эксперимент

В качестве наших основных наборов данных мы используем два варианта NYUv2. Мы добавляем флипы и дополнительные кадры из каждого видео в стандартный набор данных глубины NYUv2. Мы добавили 90 000 фотографий, каждая с попиксельной глубиной, нормалями поверхности и аннотациями ключевых точек. Однако эти дополнительные кадры не имеют меток сегментации. В результате мы получим два набора данных: NYUv2+seg и NYUv2+kpts. Мы используем кросс-энтропию для сегментации, квадрат потерь для глубины и косинусное сходство для нормалей в качестве типичных функций попиксельных потерь для каждого задания.

Мы видим, что GradNorm α = 1,5 улучшает производительность всех трех задач по отношению к базовому уровню с равными весами и либо превосходит, либо соответствует (в пределах статистического шума) лучшей производительности отдельных сетей для каждой задачи.

Чтобы показать, как GradNorm может работать при наличии большего набора данных, мы также проводим обширные эксперименты с набором данных NYUv2+kpts. В качестве первого эксперимента сети GradNorm превосходят другие многозадачные методы и либо соответствуют (в пределах шума), либо превосходят производительность однозадачных сетей.

GradNorm снижает ошибку глубины во время тестирования примерно на 5%, несмотря на то, что приводит к гораздо более высоким потерям при обучении. GradNorm достигает этого за счет агрессивной балансировки скорости сети и, в конечном итоге, снижает вес глубины до уровня ниже 0,10. Та же тенденция существует для регрессии по ключевым точкам и является явным признаком регуляризации сети.

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

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

Глубокие многозадачные архитектуры

В этом разделе мы обсудим построение сетевых архитектур, способных одновременно обучаться нескольким задачам[2]. Мы сосредоточимся на двух типах глубоких многозадачных архитектур: архитектуры, ориентированной на кодировщик и архитектуры, ориентированной на декодер.

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

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

Эксперимент

Мы используем два набора данных (набор данных NYUD-v2 и набор данных PASCAL), чтобы провести эксперимент о производительности различных многозадачных архитектур.

Набор данных NYUD-v2 учитывает понимание сцены в помещении. Мы сосредоточимся на задачах семантической сегментации и оценки глубины. Мы используем среднее пересечение по объединению (mIoU) и среднеквадратичную ошибку (rmse) для оценки задачи семантической сегментации и оценки глубины соответственно.

Набор данных PASCAL – это популярный эталон для задач плотного прогнозирования. F-мера оптимального набора данных (odsF) используется для оценки задачи обнаружения границ. Задачи семантической сегментации, оценки значимости и сегментации человеческих частей оцениваются с использованием среднего пересечения по объединению (mIoU). Мы используем среднюю ошибку (mErr) в предсказанных углах для оценки нормалей к поверхности.

Мы определяем многозадачную производительность ∆MTL как среднее падение производительности для каждой задачи:

li = 1, если более низкое значение означает лучшую производительность для метрики Mi.

Результат

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

На NYUD-v2 MTL доказывает эффективность стратегии для совместного решения задач сегментации и оценки глубины. В частности, большинство моделей MTL превосходят набор однозадачных сетей.

И наоборот, на PASCAL обработка происходит более эффективно при использовании базовой линии MTL, но производительность также снижается. большинство моделей не могут превзойти по производительности свои однозадачные эквиваленты на PASCAL.

Это связано с влиянием Словаря задач. На NYUD-v2 мы рассматриваем задачи семантической сегментации и оценки глубины. Эта пара задач тесно связана. Как семантическая сегментация, так и оценка глубины выявляют сходные характеристики сцены, такие как макет и формы или границы объектов. С другой стороны, PASCAL включает в себя более крупный и разнообразный словарь задач.

Модели, ориентированные на кодировщик, и модели, ориентированные на декодер. Сравнивая модели, ориентированные на кодировщик и декодер, мы обнаруживаем, что архитектуры, ориентированные на декодер, обычно превосходят архитектуры, ориентированные на кодировщик. Мы думаем, что это потому, что каждая архитектурная парадигма служит разным целям.

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

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

И ориентированный на кодировщик, и ориентированный на декодер имеют свои преимущества. Так что в будущем мы можем попробовать интегрировать обе парадигмы вместе.

Идеи и наблюдения

В первой статье рассказывается об использовании GradNorm для адаптивного балансирования потерь с целью повышения производительности в глубоких многозадачных сетях. Разные задачи имеют разную скорость обучения и масштаб данных. Обычный метод может вызывать несбалансированные градиенты и автоматически фокусироваться на одной конкретной задаче и игнорировать другие задачи. В этой статье представлена ​​нормализация градиента для адаптивной балансировки потерь в глубоких многозадачных сетях для решения этой проблемы.

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

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

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

Ссылка

[1] GradNorm: Gradient Normalization for Adaptive Loss Balancing in Deep Multitask Networks, https://arxiv.org/pdf/1711.02257.pdf

[2] Многозадачное обучение для задач плотного прогнозирования: обзор, https://arxiv.org/pdf/2004.13379.pdf