Учимся улавливать стиль художников с использованием небольших, непоследовательных и настраиваемых наборов данных

В этом проекте я использовал архитектуру Generative Adversarial Network (GAN) для создания НОВЫХ художественных образов, отражающих стиль индийских художников, Раджи Рави Вармы [1848–1906] и Саттираджу Лакшми Нараяны (Бапу) [1933–2014]. (Ссылка на репозиторий исходного кода на Github).

Введение. Целью этого проекта было понять архитектуру Generative Adversarial Network (GAN), используя GAN для создания НОВЫХ художественных изображений, отражающих стиль данного художника (ов). Архитектура Generative Adversarial Network (GAN) была представлена ​​в 2014 году доктором Яном Гудфеллоу (ссылка на статью). Сети GAN состоят из нейронных сетей-генераторов и дискриминаторов. Генераторная нейронная сеть принимает случайный шум в качестве входных данных и генерирует изображение в качестве выходных данных, в то время как нейронная сеть дискриминатора принимает изображение в качестве входных данных и выдает значение вероятности в качестве выходных данных. Значение вероятности, оцененное дискриминатором, указывает вероятность того, что входное изображение является частью обучающего набора. Задача генератора - обмануть дискриминатор изображениями, которые он генерирует, в то время как цель дискриминатора - правильно найти изображения, созданные генератором. Эта враждебная природа конкурирующих сетей с нулевой суммой приводит к тому, что генератор все чаще производит изображения, которые с большей вероятностью принадлежат к обучающей выборке. Пример архитектуры GAN приведен ниже.

Другие работы: меня познакомили с архитектурой GAN, когда я наткнулся на статью 2017 года ученых Nvidia под названием Неконтролируемое изображение в сети преобразования изображений. Они использовали вариант архитектуры GAN (объединенной GAN). для обучения моделей, которые могут эффективно принимать входное изображение (i) фотографии, сделанной в дневное время, и создавать убедительное выходное изображение фотографии в ночное время, (ii) животное, и создавать убедительное выходное изображение трансформированного животного в другое животное, (iii) в особь, и создать убедительное выходное изображение особи с добавленной функцией (измененная прическа, добавление аксессуаров). Пример из их статьи приведен ниже. Для каждой пары изображений левое изображение является входом, а правое изображение - выходом.

Чтобы лучше понять эту модель, я нашел работу ученых из Беркли, опубликованную в 2017 году под названием Непарное преобразование изображения в изображение с использованием согласованных с циклом состязательных сетей. Они также использовали вариант архитектуры GAN (цикл GAN) для обучения моделей, которые могли эффективно принимать входное изображение (i) фотографии и создавать убедительное выходное изображение фотографии в стиле различных художников, (ii) фотографию. сделанные в летнее время, и получить убедительное выходное изображение фотографии в зимнее время. Пример из их статьи приведен ниже.

Обсуждаемые до сих пор модели GAN по существу преобразуют входное изображение в измененное выходное изображение, которое имеет некоторые желаемые особенности. Я хотел посмотреть, можно ли использовать архитектуру GAN для создания НОВЫХ художественных образов, отражающих стиль данного художника (ов). Впоследствии я нашел независимый исследовательский проект пары человек в Facebook в 2017 году под названием GANGogh: Creating Art with GANs ». Они использовали архитектуру GAN, чтобы (i) понять стиль различных художников, а затем (ii) создать новое приложение изученных стилей для создания нового искусства.

Мой вклад: я надеюсь, что мой основной вклад в этот проект будет заключаться в предоставлении разработчикам (i) ограниченного времени, (ii) нехватки вычислительной мощности, (iii) желающих использовать небольшие настраиваемые наборы данных. и (iv) создание новых, импрессионистических, художественных изображений, отражающих стиль данного художника, подход, с помощью которого можно узнать об архитектуре GAN. Время и вычислительная мощность были для меня большими ограничениями, так как мне приходилось очень поздно начинать работу над проектом на медленной виртуальной машине. Таким образом, я был заинтересован в значительном сокращении времени, затрачиваемого на обучение модели. Я сделал это с помощью очень маленького пользовательского набора данных (~ 200 изображений). Однако компромисс, связанный с этим выбором, заключается в том, что становится гораздо более вероятным, что генератор или дискриминатор «пересилит» другой (т.е. генератор обучается намного быстрее, чем дискриминатор, или дискриминатор обучается намного быстрее, чем генератор). Это превращает выходное изображение в шум. Я решил эту проблему, представив использование условного обратного распространения ошибки. Убытки, связанные с сетью, имели обратное распространение, когда превышали определенное пороговое значение. Я обнаружил, что это эффективно, проанализировав потери, вызванные моделями. Этот подход позволяет создавать новые импрессионистические изображения, которые эффективно отражают стиль данного художника, с относительно небольшим временем обучения и набором данных. Обратите внимание, что из-за небольшого набора данных сгенерированные изображения носят импрессионистский характер. Однако это нормально, поскольку мы достигаем цели передать стиль художника через новое импрессионистическое изображение и резко сократить затраты на обработку. Небольшой набор данных также позволяет нам запечатлеть стили небольших региональных художников без слишком большого количества работ. Для тестирования я использовал модель cifar10. Поскольку набор данных cifar10 содержит 60 000 изображений, требует значительно большего времени обработки и, следовательно, дает менее импрессионистические изображения, он служит хорошим контрастом.

Результаты:

Обсуждение. Мы видим, что полученные изображения носят импрессионистский характер. Модель Рави Вармы и модель Бапу были особенно эффективны для создания новых импрессионистических изображений в стиле художников. Комбинированная модель явно имеет худшие импрессионистические качества. Мы можем сделать вывод, что это вероятно, потому что в этом случае дискриминатор может обучаться намного быстрее, поскольку есть два резко контрастирующих стиля в очень небольшом наборе данных (~ 400 изображений). Этот вывод подтверждается приведенными выше графиками потерь. Обратите внимание, как потери генератора и дискриминатора существенно отличаются друг от друга в одной точке графика, соответствующей комбинированной модели. И это несмотря на условное обратное распространение. Ясно, что нам нужно больше данных, когда мы пытаемся создать новые импрессионистические изображения в стиле БОЛЬШЕ, чем один художник. Рассмотрим пример тестирования cifar10. Мы видим, что выходные изображения гораздо менее импрессионистичны, несмотря на наличие 10 различных меток классов. Это связано с гораздо большим размером набора данных (~ 60 000 изображений). Однако ключевой метрикой, которую мы должны учитывать, является время обучения на итерацию, указанное выше. Обратите внимание, как обучение модели Cifar10 заняло значительно больше времени, чем другие модели. Таким образом, мы смогли (i) существенно сократить время обучения, (ii) использовать небольшие пользовательские наборы данных и (iii) создать новые импрессионистические изображения в стиле данного художника.

(Ссылка на видеопрезентацию)

Написано 25 апреля 2018 г.