- PVSM.RU - https://www.pvsm.ru -
В первой части мы ознакомились с методами доменной адаптации с помощью глубоко обучения. Поговорили об основных датасетах, а также о подходах discrepancy-based и adversarial-based non-generative. Эти методы хорошо себя показывают для некоторых задач. А в этот раз мы разберём наиболее сложные и перспективные adversarial-based методы: generative models, а также алгоритмы, показывающие наилучшие результаты на датасете VisDA (адаптации с синтетических данных под реальные фотографии).
В основе этого подхода лежит способность GAN'а генерировать данные из необходимого распределения. Благодаря этому свойству можно получить нужное количество синтетических данных и использовать их для обучения. Главная идея методов из семейства generative models заключается в генерировании с помощью домена-источника данных, максимально похожих на представителей целевого домена. Таким образом, новые синтетические данные будут иметь те же лэйблы, что и представители исходного домена, на основе которых они были получены. Затем модель для целевого домена просто обучается на этих сгенерированных данных.
Представленный на ICML-2018 метод CyCADA: Cycle-Consistent Adversarial Domain Adaptation [1] (код [2]) является характерным представителем семейства generative models. Он комбинирует в себе несколько успешных подходов из GAN'ов и domain adaptation. Важной его частью является использование cycle-consistency loss, впервые представленной в статье о CycleGAN [3]. Идея cycle-consistency loss заключается в том, что изображение, полученное генерированием из исходного в целевой домен с последующим обратным преобразованием, должно быть близко к начальному изображению. Кроме того, CyCADA включает в себя адаптацию на уровне пикселей и на уровне векторных представлений, а также semantic loss для сохранения структуры в сгенерированном изображении.
Пусть и — сети для целевого и исходного доменов соответственно, и — целевой и исходный домены, — разметка на исходном домене, и — генераторы из исходного в целевой домен и наоборот, и — дискриминаторы принадлежности к целевому и исходному доменам соответственно. Тогда функция потерь, которая минимизируется в CyCADA, является суммой шести loss-функций (ниже представлена схема обучения с номерами loss'ов):
Результаты CyCADA:
В рамках подхода Generate To Adapt: Aligning Domains using Generative Adversarial Networks [4] (код [5]) обучают такой генератор , чтобы на выходе он выдавал изображения, близкие к исходному домену. Такой позволяет преобразовывать данные из целевого домена и применять к ним обученный на размеченных данных домена-источника классификатор.
Чтобы обучить такой генератор, авторы используют модифицированный дискриминатор из статьи AC-GAN [6]. Особенность этого заключается в том, что он не только отвечает 1, если на вход ему пришли данные из домена-источника, и 0 в противном случае, но и в случае позитивного ответа классифицирует входные данные по классам исходного домена.
Обозначим как свёрточную сеть, которая выдаёт векторное представление изображения, — классификатор, который работает на векторе, полученном из . Схемы обучения и инференса алгоритма:
Процедура обучения состоит из нескольких компонентов:
Результаты метода на бенчмарках:
В статье From source to target and back: symmetric bi-directional adaptive GAN [7] (код [8]) была представлена модель SBADA-GAN, которая довольно похожа на CyCADA и целевая функция которой так же, как и в CyCADA состоит из 6 слагаемых. В обозначениях авторов и — генераторы из исходного домена в целевой и наоборот, и — дискриминаторы, которые отличают реальные данные от сгенерированных в исходный и целевой домены соответственно, и — классификаторы, которые обучены на данных из исходного домена и на их трансформированных в целевой домен версиях.
SBADA-GAN как и CyCADA использует идею из CycleGAN, consistency loss и псевдо-лэйблы для сгенерированных в целевой домен данных, составляя целевую функцию из соответствующих слагаемых. К особенностям SBADA-GAN можно отнести:
Схема обучения SBADA-GAN:
Авторы SBADA-GAN провели больше экспериментов, чем авторы CyCADA, и получили следующие результаты:
Из семейства generative models имеет смысл рассмотреть ещё такие значимые статьи:
В рамках воркшопа на конференциях ECCV и ICCV проводится конкурс по доменной адаптации Visual Domain Adaptation Challenge [11]. В нём участникам предлагается обучить на синтетических данных классификатор и адаптировать его на неразмеченные данные из ImageNet.
Алгоритм, представленный в Self-ensembling for visual domain adaptation [12] (код [13]), победил в VisDA-2017. Этот метод построен на идее self-ensembling: есть сеть-учитель (teacher model) и сеть-ученик (student model). На каждой итерации входное изображение прогоняется через обе эти сети. Ученик обучается с помощью суммы classification loss и сonsistency loss, где classification loss — это обычная cross-entropy с известной меткой класса, а сonsistency loss — это средний квадрат разностей между предсказаниями учителя и ученика (squared difference). Веса сети-учителя вычисляются как экспоненциальное скользящее среднее от весов сети-ученика. Ниже проиллюстрирована эта процедура обучения.
Важными особенностями применения этого метода для доменной адаптации являются:
Схема описанной процедуры:
На основных датасетах алгоритм достиг высоких показателей. Правда, под каждую задачу авторы отдельно подбирали набор аугментаций.
Соревнование VisDA-2018 проводилось в этом году в рамках конференции ECCV-2018. В этот раз добавили 13-й класс: Unknown, куда попало всё, что не попало в 12 классов. Кроме того, проводился отдельный конкурс по детектированию объектов, относящихся к этим 12 классам. В обеих номинациях победила китайская команда JD AI Research [14]. На классификационном конкурсе они добились результата 92,3 % (среднее значение качества по 13 категориям). Публикации с подробным описанием их метода пока нет, есть только презентация с воркшопа [15].
Из особенностей их алгоритма можно отметить:
Схема алгоритма из презентации:
По большей части мы обсуждали методы адаптации, построенные на adversarial-based подходе. Однако, в двух последних конкурсах VisDA победили алгоритмы, не связанные с ним и использующие обучение на псевдо-лэйблах и модификации более классических методов глубокого обучения. На мой взгляд, это связано с тем, что методы, основанные на GAN'ах, ещё только в начале своего развития и крайне нестабильны. Но с каждым годом мы получаем всё больше и больше новых результатов, улучшающих работу GAN'ов. К тому же, фокус интереса научного сообщества в сфере доменной адаптации в основном сосредоточен именно на adversarial-based методах, и новых статьях в основном исследуется этот подход. Поэтому велика вероятность, что алгоритмы, связанные с GAN'ами, постепенно выйдут на первые роли в вопросах адаптации.
Но исследования в не adversarial-based подходах также продолжаются. Вот несколько интересных статей из этой области:
Discrepancy-based методы можно отнести к разряду «исторических», однако многие идеи из них применяются в новейших методах: MMD, псевдо-лэйблы, metric-learning и т.д. К тому же, иногда в несложных задачах адаптации имеет смысл применять эти методы в силу их относительной простоты обучения и лучшей интерпретируемости результатов.
В заключение хочу отметить, что методы доменной адаптации пока ищут своё применение в прикладных областях, но перспективных задач, требующих использования адаптации, постепенно становится всё больше и больше. Например, domain adaptation активно используется в обучении модулей автономных автомобилей [18]: поскольку набирать реальные данные на улицах городов для обучения автопилотов дорого и долго, в автономных машинах используются синтетические данные (базы SYNTHIA и GTA 5 служат их примерами), в частности. для решения задачи сегментации того, что «видит» камера из автомобиля.
Получение качественных моделей на основе глубокого обучения в Computer Vision во многом упирается в наличие больших размеченных датасетов для обучения. Разметка практически всегда требует большого количества времени и денег, что существенно увеличивает цикл разработки моделей и, как следствие, продуктов на их основе.
Методы доменной адаптации направлены на решение этой проблемы и потенциально могут способствовать прорыву во многих прикладных задачах и в искусственном интеллекте в целом. Перенос знаний с одного домена на другой — действительно трудная и интересная задача, которая в настоящее время активно исследуется. Если вы страдаете от нехватки данных в своих задачах, и можете эмулировать данные или найти похожие домены, то рекомендую попробовать методы доменной адаптаций!
Автор: andrewbo29
Источник [19]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/obrabotka-izobrazhenij/300479
Ссылки в тексте:
[1] CyCADA: Cycle-Consistent Adversarial Domain Adaptation: https://arxiv.org/abs/1711.03213
[2] код: https://github.com/jhoffman/cycada_release
[3] CycleGAN: https://arxiv.org/abs/1703.10593
[4] Generate To Adapt: Aligning Domains using Generative Adversarial Networks: https://arxiv.org/abs/1704.01705
[5] код: https://github.com/yogeshbalaji/Generate_To_Adapt
[6] AC-GAN: https://arxiv.org/abs/1610.09585
[7] From source to target and back: symmetric bi-directional adaptive GAN: https://arxiv.org/abs/1705.08824
[8] код: https://github.com/naoto0804/pytorch-domain-adaptation
[9] Unsupervised Cross-Domain Image Generation: https://arxiv.org/abs/1611.02200
[10] Unsupervised Image-to-Image Translation Networks: https://arxiv.org/abs/1703.00848
[11] Visual Domain Adaptation Challenge: http://ai.bu.edu/visda-2018/
[12] Self-ensembling for visual domain adaptation: https://arxiv.org/abs/1706.05208
[13] код: https://github.com/Britefury/self-ensemble-visual-domain-adapt
[14] JD AI Research: https://air.jd.com/#index
[15] презентация с воркшопа: http://ai.bu.edu/visda-2018/assets/attachments/Visda18-classification-JD-AI.pdf
[16] Associative Domain Adaptation: https://arxiv.org/abs/1708.00938
[17] Asymmetric Tri-training for Unsupervised Domain Adaptation: https://arxiv.org/abs/1702.08400
[18] обучении модулей автономных автомобилей: https://medium.com/toyota-ai-ventures/self-supervised-learning-a-key-to-unlocking-self-driving-cars-408b7a6fd3bd
[19] Источник: https://habr.com/post/429966/?utm_campaign=429966
Нажмите здесь для печати.