Записки из промышленности

Адаптация домена

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

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

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

Мы рассмотрим четыре различных исследования, посвященных этой проблеме.

Запас слов

Есть два набора данных: исходный набор данных и целевой набор данных. Набор данных, на котором обучается модель, является исходным набором данных. Целевой набор данных - это тот, на котором он будет тестироваться.

Для обобщения предметной области аналогичная проблема, целевой набор данных недоступен во время обучения. Сеть обучается на исходном наборе данных, чтобы не перегружать доменные особенности.

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

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

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

Состязательные методы

Наиболее распространенные подходы к методу адаптации предметной области основаны на состязательном подходе. Для некоторого контекста я бы посоветовал прочитать Генеративные состязательные сети (GAN).

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

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

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

"ДОБАВИТЬ"

Adversarial Discriminative Domain Adaptation (ADDA) применяет простой подход к различительному DA. Между исходным и целевым наборами данных используется только один кодировщик. Сети обучаются в два этапа.

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

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

ДАНН

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

Перевод изображений

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

Перевод изображения в изображение

Подобно состязательным методам преобразования изображений в изображения (I2I) нацелены на изучение инвариантной кодировки (Z) для изображений. В этой архитектуре шесть сетей: исходный кодер, исходный декодер, целевой кодер, целевой декодер, дискриминатор домена и сеть задач (например, классификатор). Декодеры стремятся восстановить изображения из кодировки. Это также включает состязательное обучение с дискриминатором предметной области.

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

  1. Qc - потеря классификации в исходном домене. Мы не можем получить эту потерю для целевого домена, так как нет ярлыков. Однако потери могут быть расширены, чтобы включить целевой домен, если существуют метки.
  2. Qid - это потеря кодирования изображения и его обратного декодирования в том же домене. Кодирование изображения в Z и его декодирование обратно в исходный домен в идеале должно возвращать то же изображение. Эта потеря может быть нормой L1 разницы между исходным и декодированным изображением.
  3. Qz - потеря дискриминатора домена. Это похоже на ADDA в том, что он пытается определить домен кодировки. Мы хотим, чтобы эта потеря увеличивалась по мере улучшения кодирования.
  4. Qtr - это еще одна потеря дискриминации, при которой изображение транслируется в другой домен перед переходом к дискриминатору домена.
  5. Qcyc - потеря согласованности цикла. Эта потеря аналогична Qid. Разница в том, что изображения декодируются в другом домене перед кодированием и декодированием в исходном домене. Изображение из исходного домена кодируется в Z. Оно декодируется в целевой домен и кодируется обратно в Z. Затем оно декодируется в исходный домен и сравнивается с исходным изображением. Также применяется потеря с переключением источника и цели. Это нацелено на то, чтобы кодировки схожих изображений в разных доменах имели схожие кодировки.
  6. Qtrc похож на Qcyc, но вместо того, чтобы декодировать обратно в исходный домен, кодирование классифицируется. В отличие от Qcyc, это не симметрично, поскольку включает метки. Изображение из исходного домена переводится в целевой домен и затем классифицируется.

CyCADA

CyCADA похожа на I2I. Многие из потерь I2I и сетей имеют здесь аналоги. Основное отличие состоит в том, что целевые изображения не переводятся в исходный домен. Кроме того, потери GAN могут применяться как к изображениям, так и к кодировкам.

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

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

Затем потери GAN применяются к изображениям и функциям (из fT) для переведенных изображений и целевых изображений. Эта потеря необходима для того, чтобы переводы были похожи на целевой домен. Есть две потери GAN, чтобы гарантировать, что и изображения, и функции похожи.

Наконец, к переведенным изображениям применяется потеря задачи. Это применяет задачу к исходным целевым изображениям.

Другие домены

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

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

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

Заключение

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

использованная литература

[1] Лонг, Миншенг и др. «Изучение передаваемых функций с помощью сетей глубокой адаптации». Международная конференция по машинному обучению. ПМЛР, 2015.

[2] Эрик Ценг и др. «Состязательная дискриминационная адаптация домена». В: Материалы конференции IEEE по компьютерному зрению и распознаванию образов. 2017. С. 7167–7176.

[3] Ярослав Ганин и Виктор Лемпицкий. «Неконтролируемая адаптация домена с помощью обратного распространения ошибки». В: препринт arXiv arXiv: 1409.7495 (2014).

[4] Зак Мурез и др. «Преобразование изображения в изображение для адаптации предметной области». В: Материалы конференции IEEE по компьютерному зрению и распознаванию образов. 2018. С. 4500–4509.

[5] Хоффман, Джуди и др. «Cycada: Циклическая адаптация состязательной области». В: препринт arXiv arXiv: 1711.03213 (2017).