За последнее десятилетие компьютерное зрение добилось огромного прогресса. Этот прогресс в основном связан с неоспоримой эффективностью сверточных нейронных сетей (CNN). CNN позволяют делать очень точные прогнозы при обучении с использованием высококачественных аннотированных обучающих данных. Например, при настройке классификации вы часто будете использовать одну из стандартных сетевых архитектур (ResNet, VGG и т. Д.) И обучать ее, используя свой набор данных. Это, вероятно, приведет к очень хорошей производительности.

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

Оба этих подхода предполагают, что ваши обучающие данные (большие или маленькие) являются репрезентативными для основного распределения. Однако, если входные данные во время тестирования значительно отличаются от данных обучения, модель может работать не очень хорошо. Предположим, например, что вы инженер по автономному транспортному средству и хотите сегментировать изображения, снятые камерой автомобиля, чтобы знать, что вас ждет впереди (здания, деревья, другие автомобили, пешеходы, светофоры и т. Д.). У вас есть красивые аннотации, созданные людьми для вашего набора данных Нью-Йорка, и вы обучаете большую сеть, используя эти аннотации. Вы тестируете свой беспилотный автомобиль на улицах Манхэттена, и, кажется, все работает нормально. Затем вы тестируете ту же систему в Париже, и вдруг все идет не так. Автомобиль больше не может обнаруживать светофоры, машины выглядят совсем по-другому (в Париже нет желтых такси), а улицы уже не такие прямые.

Причина, по которой ваша модель не очень хорошо работает в этих сценариях, заключается в том, что проблемная область изменилась. В этом конкретном случае домен входных данных изменился, а домен задачи (метки) остался прежним. В других случаях вы можете захотеть использовать данные из того же домена (нарисованные для того же базового дистрибутива) для выполнения новой задачи. Точно так же домены ввода и задачи могут одновременно отличаться. В таких случаях вам на помощь приходит адаптация домена. Адаптация предметной области - это субдисциплина машинного обучения, которая имеет дело с сценариями, в которых модель, обученная на исходном распределении, используется в контексте другого (но связанного) целевого распределения. Как правило, адаптация домена использует помеченные данные в одном или нескольких исходных доменах для решения новых задач в целевом домене. Уровень взаимосвязи между исходным и целевым доменами обычно определяет, насколько успешной будет адаптация.

Есть несколько подходов к адаптации предметной области. В неглубокой (не глубокой) адаптации домена обычно используются два метода: повторное взвешивание исходных выборок и обучение на повторно взвешенных выборках и попытка изучить общие пространство для соответствия распределения исходного и целевого наборов данных. Хотя эти методы также могут быть применимы в контексте глубокого обучения, глубокие функции, изученные глубокими нейронными сетями (DNN), обычно приводят к более переносимым представлениям (как правило, изучению легко переносимых функций на нижних уровнях, в то время как переносимость резко снижается в более высоких слоях, см., например, эту статью Донахью и др.). В Deep Domain Adaptation мы пытаемся использовать это свойство DNN.

Категории адаптации домена

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

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

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

Связанность задач

Как мы можем определить, может ли модель, обученная в исходном домене, быть адаптирована к нашему целевому домену? Оказывается, на этот вопрос нелегко ответить, и взаимосвязь задач по-прежнему является предметом активных исследований. Мы можем определить две задачи как похожие, если они используют одни и те же функции для принятия решения. Другая возможность - определить две задачи как похожие, если их векторы параметров (то есть границы классификации) близки (см. Эту статью Сюэ и др.). С другой стороны, Бен-Дэвид и др. предположить, что две задачи связаны с F, если данные для обеих задач могут быть сгенерированы из фиксированного распределения вероятностей с использованием набора преобразований F.

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

Методы и приложения для одноэтапной адаптации домена

Существует три основных метода одноэтапной адаптации домена:

  • адаптация домена на основе дивергенции,
  • адаптация доменов на основе состязательности с использованием генеративных моделей (GAN) или с использованием потери из-за путаницы в домене, и
  • адаптация домена на основе реконструкции с использованием составных автокодировщиков (SAE) или GAN.

Адаптация домена на основе дивергенции

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

Четыре наиболее часто используемых показателя расхождения: Максимальное среднее несоответствие (MMD), Выравнивание корреляции (CORAL), Contrastive Domain Discrepancy (CCD) и Метрика Вассерштейна.

MMD - это проверка гипотезы, которая проверяет, принадлежат ли две выборки к одному и тому же распределению, сравнивая средние значения функций после их сопоставления с гильбертовым пространством воспроизводящего ядра (RKHS). Если средние значения различаются, скорее всего, различаются и распределения. Это часто достигается с помощью уловки встраивания ядра и сравнения выборок с использованием ядра Гаусса. Интуиция здесь заключается в том, что если два распределения идентичны, среднее (среднее) сходство между выборками из каждого распределения должно быть равно среднему сходству между смешанными выборками из обоих распределений. Примером использования MMD для адаптации предметной области является статья Розанцева и др. В этой статье используется двухпотоковая архитектура с весами, которые не являются общими, но которые приводят к аналогичным представлениям функций за счет использования комбинации классификации, регуляризации и потери несоответствия предметной области (MMD), как показано на рисунке ниже.

Таким образом, настройка может быть контролируемой, частично контролируемой или даже неконтролируемой (без потери классификации в целевом домене).

CORAL (ссылка) похож на MMD, однако он пытается выровнять статистику второго порядка (корреляции) исходного и целевого распределений вместо средних, используя линейное преобразование. Эта статья Sun et al. использует CORAL в контексте глубокого обучения, создавая дифференцируемую потерю CORAL с использованием нормы Фробениуса между исходной и целевой ковариационными матрицами.

CCD также основан на MMD, но также использует распределения меток, просматривая условные распределения. Это гарантирует, что совместные доменные объекты по-прежнему сохраняют предсказуемость относительно меток. Минимизация CCD сводит к минимуму внутриклассовое несоответствие при максимальном межклассовом несоответствии. Для этого требуются метки как исходного, так и целевого домена. Чтобы избавиться от этого ограничения, Канг и др. предлагают оценить недостающие метки цели с помощью кластеризации в итеративной процедуре, которая совместно оптимизирует метки цели и представления функций. Таким образом, целевые метки находятся путем кластеризации, после чего CCD сводится к минимуму для адаптации функций.

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

Состязательная адаптация домена

Этот метод пытается добиться адаптации предметной области с помощью состязательного обучения.

Один из подходов заключается в создании синтетических целевых данных, которые каким-то образом связаны с исходным доменом (например, путем сохранения ярлыков) с использованием Генеративных состязательных сетей (GAN). Эти синтетические данные затем используются для обучения целевой модели.

Модель CoGAN пытается достичь этого, используя две пары генератор / дискриминатор как для исходного, так и для целевого распределений. Некоторые веса генераторов и дискриминатора используются совместно для изучения предметно-инвариантного пространства признаков. Таким образом могут быть сгенерированы помеченные целевые данные, которые в дальнейшем могут быть использованы в такой задаче, как классификация.

В другой инсталляции Yoo et al. попробуйте изучить сеть преобразователя исходный / целевой, используя два дискриминатора: один для проверки подлинности целевых данных, а другой - для сохранения взаимосвязи между исходным и целевым доменами. генератор настоящим зависит от исходных данных. Этот подход требует только немаркированных данных в целевом домене.

Мы также можем полностью избавиться от генераторов и выполнить адаптацию домена за один раз, если мы используем так называемую потерю путаницы домена в дополнение к потере классификации, используемой для текущей задачи. . Потеря путаницы доменов аналогична дискриминатору в GAN в том, что он пытается сопоставить распределения исходного и целевого доменов, чтобы «запутать» уровни классификации высокого уровня. Возможно, наиболее известным примером такой сети является доменная состязательная нейронная сеть (DANN) Ганина и др. Эта сеть состоит из двух потерь: потери классификации и потери путаницы домена. Он содержит слой обратного градиента, соответствующий распределению объектов. Путем минимизации потерь классификации для исходных выборок и потери путаницы в домене для всех выборок (при максимальном увеличении потери путаницы в домене для извлечения признаков) это гарантирует, что выборки будут взаимно неразличимы для классификатора.

Адаптация домена на основе реконструкции

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

Другая возможность - использовать так называемые циклические сети GAN. В основе Cycle GAN лежит концепция двойного обучения в машинном переводе. Эта концепция обучает двух переводчиков противоположных языков (A-B, B-A) одновременно. Сигналы обратной связи в цикле состоят из соответствующих языковых моделей и взаимных оценок BLEU. То же самое можно сделать с изображениями, используя фреймворк im2im. В этой статье отображение одного домена изображения в другой изучается без использования каких-либо парных образцов изображений. Это достигается путем одновременного обучения двух GAN, которые генерируют изображения в двух доменах соответственно. Для обеспечения согласованности вводится потеря согласованности цикла. Это гарантирует, что преобразование из одного домена в другой и обратно приведет примерно к тому же изображению, что и входные данные. Таким образом, полная потеря двух парных сетей является суммой потерь GAN обоих дискриминаторов и потери согласованности цикла.

Наконец, сети GAN также могут использоваться в настройке кодировщика-декодера путем согласования их ввода с изображением из другого домена. В статье Isola et al. условные GAN используются для перевода изображений из одной области в другую путем согласования дискриминатора и выхода генератора на входе. Этого можно достичь, используя простую архитектуру кодировщика-декодера или альтернативно используя архитектуру U-Net с пропускаемыми соединениями.

Заключение

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