Анхель Гонсалес, Энсон Вонг, Чанг Су, Уткарш Патель

1. Введение

Генеративные модели, такие как вариационные автоэнкодеры (VAE) и генеративные состязательные сети (GAN), обладают удивительной способностью генерировать реалистичные изображения [1], но, как и многие алгоритмы глубокого обучения, они требуют для работы огромного количества изображений и вычислительных ресурсов, что сокращает их полезность. Если для некоторых классов уже доступен большой объем данных, редко возникает необходимость в создании большего количества тех же данных.

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

В частности, алгоритм Model Agnostic Meta Learning (MAML) [2] является агностическим в том смысле, что он работает поверх всех моделей, которые работают с градиентным спуском. VAE и GAN могут получить большую пользу от алгоритмов метаобучения, и уже есть исследования по использованию Reptile [3]. В этом проекте мы хотели бы изучить эту область исследований, попробовав различные типы архитектур VAE и GAN для создания полутоновых, многоканальных и более крупных изображений, таких как изображения в наборе данных CIFAR-10, с использованием метаобучения.

2. Постановка проблемы

Цель метаобучения с несколькими выстрелами - обучить модель, которая может быстро адаптироваться к новой задаче, используя всего несколько точек данных и итераций обучения. Для этого модель или учащийся обучается на этапе мета-обучения по набору задач, так что обученная модель может быстро адаптироваться к новым задачам, используя лишь небольшое количество примеров или испытаний. В настройке обучения K-shot модель обучается изучать новую задачу τ, взятую из распределения задач P (τ) только с K выборками. Модель улучшена за счет рассмотрения того, как ошибка теста на новых данных изменяется по отношению к параметрам. Фактически, ошибка теста на выбранных задачах служит ошибкой обучения процесса метаобучения. В конце мета-обучения новые задачи выбираются из P (τ), а мета-производительность измеряется по производительности модели после обучения из K выборок.

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

Формально мы определяем генерацию изображений с помощью задачи метаобучения, аналогичной [3]. У нас есть набор задач T, где каждая отдельная задача τ представляет собой задачу генерации изображений с одним классом изображений Xτ и потерями Lτ. В случае VAE Lτ будет ELBO (нижняя граница свидетельства), а для GAN Lτ будет суммой потерь генератора и потерь дискриминатора. Цель состоит в том, чтобы с помощью мета-обучения найти параметры Φ, которые могут быстро, то есть при небольшом количестве данных и небольшом обучении, сходиться в случайной задаче τ, чтобы минимизировать связанные потери Lτ.

3. Связанные работы

Наша работа направлена ​​на ответ на следующий вопрос: могут ли последние достижения в области метаобучения улучшить обобщение в генеративных моделях? Было несколько успешных попыток создания изображений из нескольких кадров, таких как Lake et al. (2015), Резенде и др. (2016) и Бартунов и Ветров (2018), но вопрос остается без ответа, поскольку ни один из подходов не исследует метаобучение. Насколько нам известно, первой успешной попыткой генерации нескольких кадров с использованием метаобучения является [3]. В [3] они обучают GAN с помощью алгоритма метаобучения Reptile для генерации двоичных изображений и изображений в градациях серого. Мы дополнительно исследуем эту тему, обучая VAE и GAN с помощью другого алгоритма метаобучения MAML на двоичных, полутоновых и красочных изображениях.

4. MAML (Model Agnostic Meta Learning)

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

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

5. MAML + Генеративные модели

Мы используем MAML, чтобы найти начальные параметры (веса) генеративной модели, которые можно быстро адаптировать для создания невидимых изображений. Мы рассматриваем генеративную модель, представленную параметризованной функцией f (θ) с параметрами θ. При адаптации к новой задаче Ti параметры модели θ становятся θ’ᵢ. Мы вычисляем обновленный вектор параметров θ’ᵢ с одним шагом градиентного спуска для задачи Ti (уравнение 1 на рисунке ниже). Здесь размер шага 𝛼 и количество задач - гиперпараметры.

После вычисления обновленных параметров для всех задач выполняется метаоптимизация для всех задач с помощью стохастического градиентного спуска (SGD). Во время метаоптимизации мы обновляем параметры генеративной модели с помощью уравнения 2 (показано на рисунке ниже). Здесь размер мета-шага 𝛽 - еще один гиперпараметр. MAML может оптимизировать параметры модели так, чтобы небольшое количество шагов градиентного спуска в новой задаче приводило к максимально эффективному поведению в этой задаче [2]. Причина, по которой этот подход работает, заключается в том, что метаоптимизация выполняется по параметрам модели θ, тогда как цель вычисляется с использованием обновленных параметров модели θ’ᵢ.

Процесс вычисления θ’ᵢ (быстрых весов) для одной задачи показан на рисунке ниже. Мы избегаем создания экземпляров параметров слоя и вместо этого используем тензоры из функции градиента, что также позволяет избежать сложности использования оптимизатора и ускоряет обучение. Для каждой задачи мы используем первые 5 выборок для вычисления быстрых весов и следующие 5 выборок для вычисления градиента из функций потерь относительно быстрых весов.

6. Мета-обучение с вариационным автоэнкодером (VAE)

Мы обучили VAE работе с различными наборами данных и исследовали их надежность и возможность передачи между наборами данных как с MAML, так и без него.

VAE содержит кодировщик и декодер. Кодер учится сжимать ввод в скрытое пространство размерности, намного меньшей, чем исходный ввод, в то время как декодер учится восстанавливать исходное изображение с учетом точки из скрытого пространства, как можно более похоже на исходное изображение. Особенностью VAE является то, что скрытое пространство ограничено для представления гауссовского распределения двумя параметрами: средним значением, обозначенным μ, и стандартным отклонением, обозначаемым σ. Мы использовали следующую структуру сети:

Мы обучили VAE с помощью двоичных наборов данных и наборов данных в градациях серого: MNIST, Fashion MNIST и Omniglot. Ниже приведены результаты, полученные VAE, обученными с использованием другого набора данных, с MAML и без него.

Для VAE без MAML мы обучили модель с размером пакета = 32 для 50 000 итераций.

Для VAE с MAML мы обучили модели с числом задач = 7, = 0,001 и 𝛽 = 0,0001 за 20 000 итераций.

(Определения 𝛼 и см. В разделе 4).

Для обоих мы тренировались с данными из первых 7 классов и тестировали в 8, 9 и 10 классе.

Мы также обучили VAE-MAML на многоканальном наборе данных CIFAR-10, но он не смог создать реалистичные изображения, содержащие более сложные функции, такие как цвет, текстуры и сложные формы. Поскольку пиксели в VAE условно не зависят от скрытой переменной, модель VAE не способна воссоздать мелкие детали и четко определенные формы из входных изображений.

Резюме для VAE с MAML,

Сила:

  • Лучше работать с набором данных с ограниченными данными обучения (например, MNIST).
  • Лучше работать с похожими наборами данных (например, обученными на Omniglot и протестированными на MNIST).

Слабость:

  • Более продолжительное время обучения.
  • Не так хорошо работать с набором данных с адекватными данными обучения (например, Omniglot).

7. Мета-обучение с помощью Generative Adversarial Network (GAN)

Сети GAN явно обучены генерировать реалистичные результаты благодаря проигрышу от состязания:

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

Чтобы избежать проблем со стабильностью, мы решили использовать модель Deep Convolutional GAN, которая доказала свою эффективность в целом ряде наборов данных благодаря следующим характеристикам ее архитектуры:

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

Мы использовали следующую архитектуру вместе с набором данных CIFAR-10:

С его помощью мы смогли добиться хороших результатов

А также стабильное обучение:

Затем мы попробовали обучить DCGAN поверх MAML, и первое, что мы заметили, - это сложная модель для построения и запуска, поскольку для каждого шага обновления в алгоритме MAML мы должны создавать прямые проходы генератора и дискриминатора, и это приводит к нехватке памяти даже для 5 обновлений.

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

Обратите внимание, что градиент относится к параметрам при k-обновлении, а не к градиенту мета-параметров.

Мы также добавили двойную оптимизацию генератора за один шаг оптимизации дискриминатора для каждой мета-итерации.

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

8. Заключение

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

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

Исходный код доступен по адресу https://github.com/usc599resl/mlgm/.

Ссылки

[1] Лицянь Ма, Сюй Цзя, Цяньру Сун, Бернт Шиле, Тинне Туйтелаарс и Люк Ван Гул. Генерация изображения человека под руководством позы. CoRR, абс / 1705.09368, 2017.

[2] Челси Финн, Питер Аббил и Сергей Левин. Мета-обучение, не зависящее от модели, для быстрой адаптации глубоких сетей. CoRR, абс / 1703.03400, 2017.

[3] Луи Клуатр и Марк Демерс. FIGR: создание изображений за несколько снимков с помощью рептилий. CoRR, абс / 1901.02199, 2019.

[4] Данило Резенде, Шакир, Иво Данихелка, Кароль Грегор и Даан Виерстра. Одноразовое обобщение в глубоких генеративных моделях. Мария Флорина Балкан и Килиан К. Вайнбергер, редакторы, Материалы 33-й Международной конференции по машинному обучению, том 48 журнала Proceedings of Machine Learning Research, страницы 1521–1529, Нью-Йорк, Нью-Йорк, США, 20–22 июня 2016 г. PMLR

[5] Бренден М. Лейк, Руслан Салахутдинов, Джейсон Гросс и Джошуа Б. Тененбаум. Однократное изучение простых визуальных концепций.

[6] Сергей Бартунов и Дмитрий Петрович Ветров. Генеративное моделирование за несколько шагов с использованием генеративных сетей сопоставления. В АИСТАТС, 2018.