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

Да, что и почему?

В современном мире у нас нет дефицита данных, но нам не хватает помеченных данных и непротиворечивых данных. Это означает, что распределение, на котором мы обучаем наши модели ML или DL, может не совпадать с распределением, на котором мы их тестируем (это может быть связано с тем, что меняется способ сбора данных или исходные данные, или мы не учли достаточно распределения образцов во время поезда). Например, мы обучаем наши модели на изображениях МРТ, но мы можем захотеть протестировать их на наборе данных компьютерной томографии.

Цель: цель метода адаптации предметной области — сделать наши модели устойчивыми к изменениям в распределении данных или сдвигам данных.

Но разве это не то, что делает трансферное обучение? Мы ответим на этот вопрос через некоторое время, но сначала давайте определим несколько обозначений, которые мы будем использовать здесь:

  1. Домен: домен определяется как D = {X, P(X)}, где X — пространство признаков (например, текстовые представления, вложения изображений), а P(X) — предельная вероятность распределение X по этому пространству признаков. Другими словами, домен можно назвать дистрибутивом, из которого мы собираем наши данные[1]
  2. один домен: набор для обучения и набор для тестирования взяты из одних и тех же дистрибутивов.
  3. несколько доменов: набор для обучения и набор для тестирования взяты из двух разных дистрибутивов.
  4. : исходный домен,
  5. Dᵗ: целевой домен
  6. Задача. Задача T определяется как {Y, P(Y |X)}, где Y это пространство меток, и цель состоит в том, чтобы узнать P(Y |X). Таким образом, классификация и обнаружение объектов — это две разные задачи, для решения которых нам нужно решить две разные задачи.
  7. : исходная задача
  8. Tᵗ: целевая задача
  9. Источник: исходная задача, на которой обучалась модель (см. рис. 1).
  10. Цель: цель — это задача, которую нам нужно настроить (см. рис. 1).
  11. : пространство метки источника
  12. Yᵗ: целевое пространство метки

Теперь давайте ответим на поставленный выше вопрос!

Уменьшить вид

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

Целью трансферного обучения является обучение задаче Tˢ в домене Dˢ, а затем использование полученных знаний для изучения новой задачи Tᵗ, принадлежащей домену Dᵗ, где Dᵗ Dˢ. Так, например, мы используем модель BERT (которая обучена на огромном количестве данных по задачам MLM и NSP) и настраиваем ее на меньшем наборе данных.

Приведенный выше рисунок ясно показывает, что DA — это не что иное, как подветвь трансферного обучения. Трансферное обучение – это более общий термин, но адаптация предметной области – это частный случай, когда = Yᵗ, т. е. пространство меток источника совпадает с пространством меток цели, но данные поступают из разных дистрибутивов (Xˢ ≠X).

Чтобы лучше понять трансферное обучение и различные стратегии, связанные с ним проблемы, обратитесь к [3].

Да как?

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

Существуют различные методы или стратегии для реализации адаптации предметной области. Здесь мы обсудим 3 основных метода:

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

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

Адаптация домена на основе состязательности:

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

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

Последняя техника здесь — Реконструкция DA. Идея здесь состоит в том, чтобы генератор производил исходные данные, используя функции целевой области, а затем чтобы дискриминатор различал реконструированное исходное изображение и фактическое исходное изображение. Идея может показаться похожей на состязательный подход, но здесь мы воспроизводим целевое изображение, а затем применяем дискриминатор сверху. Простейшая модель может состоять в том, чтобы иметь сеть на основе кодера-декодера для восстановления данных целевого домена и использовать дискриминатор, чтобы заставить эту сеть кодера-декодера создавать изображения, аналогичные исходному домену. (См. рис. 5.)

Вывод

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

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

[1] https://arxiv.org/pdf/2006.00632.pdf

[2] https://medium.com/capital-one-tech/domain-adaptation-5955edf0277b

[3] https://towardsdatascience.com/a-comprehensive-hands-on-guide-to-transfer-learning-with-real-world-applications-in-deep-learning-212bf3b2f27a

[4] https://towardsdatascience.com/understanding-domain-adaptation-5baa723ac71f

[5] https://medium.com/modern-nlp/transfer-learning-in-nlp-f5035cc3f62f