Обучение без учителя - Часть 3

Генеративные состязательные сети - основы

Навигация

Это конспекты лекции FAU Глубокое обучение на YouTube. Это полный текст лекции и соответствующие слайды. Надеемся, вам понравится это не меньше, чем видео. Конечно, эта стенограмма была создана с помощью методов глубокого обучения в значительной степени автоматически, и были внесены лишь незначительные изменения вручную. "Попробуй сам!" Если вы заметили ошибки, сообщите нам об этом!

Ссылки

Предыдущая лекция / Посмотрите это видео / Верхний уровень / Следующая лекция

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

Ну, неконтролируемая часть глубокого обучения, порождающая состязательные сети, проистекает из ключевой идеи, что GAN должны играть в следующую игру: у вас есть генератор и дискриминатор. Можно утверждать, что генератор - это тот, кто генерирует поддельное изображение. Затем распознавание должно выяснить, действительно ли генератор произвел что-то реальное или фальшивое. Таким образом, дискриминатор может решить, фальшивый или настоящий, и для обучения дискриминатора он имеет доступ ко многим реальным данным наблюдений. Таким образом, результат работы дискриминатора заключается в том, был ли вход настоящим или фальшивым. Ну, конечно, сложно просить людей и художников рисовать. Итак, мы заменяем инструмент глубокими нейронными сетями, и у нас есть D, который является дискриминатором, и у нас есть G, который является генератором. Генератор получает некоторый скрытый ввод, некоторую переменную шума z и из переменной шума и параметров он создает некоторое изображение. Затем дискриминатор пытается выяснить, было ли это реальным или поддельным изображением. Таким образом, на выходе дискриминатора будет 1 для реального и 0 для подделки.

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

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

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

Что еще мы можем сделать? Мы можем делать ненасыщенные игры, в которых мы изменяем потери генератора. Затем в этом примере мы больше не используем одну и ту же функцию для обоих. Вместо этого у нас есть новые потери для генератора, где мы просто вычисляем ожидаемое значение логарифма дискриминатора генератора с учетом некоторого входного шума. В минимаксе G минимизирует логарифмическую вероятность того, что D. В этом решении G минимизирует логарифмическую вероятность ошибки D. Это эвристически мотивировано, потому что борется с исчезающим градиентом G, когда D слишком умен. Это особенно проблема вначале. Однако равновесие больше нельзя описать с помощью одной потери.

Итак, есть много вещей, таких как расширения, которые довольно популярны, такие как потеря соответствия функций или потеря восприятия. Здесь G пытается сопоставить ожидаемое значение функций f (x) некоторого промежуточного уровня D. Вы уже видели, что f может быть, например, некоторой другой сетью и некоторым уровнем 3 или представление уровня 5. Затем вы хотите, чтобы ожидаемые значения этих представлений были такими же, как для реальных входных данных, так и для сгенерированных шумовых изображений. Итак, здесь вы хотите предотвратить перетренированность генератора на текущем дискриминаторе. Кстати, это также популярная потеря во многих других областях.

Что еще можно сделать? Ну вот так называемая потеря Вассерштейна. Оно получено из расстояния Вассерштейна, которое также известно как расстояние движителей земли. Здесь вы изучаете дискриминатор, который максимизирует расхождение между реальными и поддельными выборками, и в то же время вы ограничиваете градиент, чтобы он оставался за определенным пределом. Таким образом, вы по существу ограничиваете градиент определенной константой Липшица, которая является максимальным наклоном градиента. Здесь, на изображении с правой стороны, вы можете увидеть, что из красной кривой дискриминации, которая очень быстро насыщается, вы можете затем создать дискриминатор с ненасыщенными потерями. Таким образом, вы всегда сможете найти хорошие градиенты, даже в тех областях, где вы уже перенасыщены своим дискриминатором. Опять же, это помогает противодействовать исчезающим градиентам в дискриминаторе. Существует гораздо больше функций потерь, таких как дивергенция KL. Тогда сети GAN на самом деле делают максимальную вероятность, но стратегия приближения имеет гораздо большее значение, чем убытки.

Итак, как мы оцениваем GAN? Что ж, мы, конечно, можем посмотреть на изображение и сказать: «Да, они выглядят реалистично! Или не?" Но для больших наборов данных с этим трудно справиться. Итак, вы должны использовать оценку для изображений. Одна идея - начальная оценка.

Начальный счет основан на двух голах. Одна из целей состоит в том, чтобы сгенерированные изображения были узнаваемыми. Итак, вы используете, например, предварительно обученную сеть Inception v3 на ImageNet и хотите, чтобы в распределении оценок преобладал один класс. Распределение классов по изображению должно иметь низкую энтропию. В то же время вы хотите, чтобы сгенерированные изображения были разнообразными. Таким образом, общее распределение классов должно быть более или менее равномерным. Энтропия должна быть высокой. Таким образом, вы можете затем выразить эту начальную оценку как e в степени ожидаемого значения расхождения KL между p (y | x) и p (y).

Другое измерение - начальное расстояние по Фреше с использованием промежуточного слоя. Итак, например, последний уровень пула Inception v3, предварительно обученный в ImageNet. Затем вы моделируете распределение данных многомерными гауссианами. Оценка FID между реальными изображениями x и сгенерированными изображениями g может быть выражена как разница между средними значениями x и g в l2 норме плюс след ковариационных матриц x и g минус два раза квадратный корень из ковариационной матрицы x умножить на матрицу ковариации g. Это более надежно, чем начальная оценка. Нам не нужна концепция класса. В этом случае мы можем просто работать с многомерными гауссианами, чтобы моделировать распределения.

Большим преимуществом GAN является то, что они могут генерировать выборки параллельно. Ограничений очень мало. Например, по сравнению с машинами Больцмана, которые имеют множество ограничений: вам не нужна цепь Маркова в этой модели. Также нет необходимости в вариационных оценках. Известно, что GAN асимптотически согласованы, поскольку семейства моделей являются универсальными аппроксиматорами функций. Итак, это было самое первое знакомство с GAN.

В следующем видео мы хотим немного поговорить о более продвинутых концепциях GAN, таких как условные GAN, где мы также можем запускать и моделировать ограничения и условия в процессе генерации. Люди также изучали очень интересную технику, которая называется циклическим GAN, который позволяет проводить непарный перевод в домен. Итак, вы можете переводить изображения со дня на ночь. Вы даже можете перевести лошадей в зебр и зебр в лошадей. Итак, приближается очень, очень крутая техника. Надеюсь, вам понравилось это видео, и я с нетерпением жду встречи с вами в следующем. Большое спасибо!

Если вам понравился этот пост, вы можете найти больше эссе здесь, больше образовательных материалов по машинному обучению здесь или взглянуть на нашу Лекцию Глубокое обучение. Я также был бы признателен за подписку на YouTube, Twitter, Facebook или LinkedIn, если вы хотите получать информацию о новых эссе, видео и исследованиях в будущем. Эта статья выпущена под лицензией Creative Commons 4.0 Attribution License и может быть перепечатана и изменена при наличии ссылки. Если вас интересует создание стенограмм видеолекций, попробуйте Автоблог.

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

Link - вариационные автоэнкодеры:
Link - NIPS 2016 GAN Tutorial of Goodfellow
Link - Как обучить GAN? Советы и уловки, как заставить GAN работать (осторожно,
все верно!)
Ссылка - Вы когда-нибудь задумывались, как назвать свою GAN?

[1] Си Чен, Си Чен, Янь Дуань и др. «InfoGAN: обучение интерпретируемым представлениям с помощью информационных сетей, обеспечивающих максимальную эффективность генеративных состязательных сетей». В: Достижения в системах обработки нейронной информации 29. Curran Associates, Inc., 2016, стр. 2172–2180.
[2] Паскаль Винсент, Хьюго Ларошель, Изабель Ладжуа и др. «Составные автокодеры шумоподавления: изучение полезных представлений в глубокой сети с локальным критерием шумоподавления». В: Journal of Machine Learning Research 11. Dec (2010), pp. 3371–3408.
[3] Эмили Л. Дентон, Сумит Чинтала, Артур Шлам и др. «Глубокие генеративные модели изображений с использованием лапласовской пирамиды состязательных сетей». В: CoRR abs / 1506.05751 (2015). arXiv: 1506.05751.
[4] Ричард О. Дуда, Питер Э. Харт и Дэвид Г. Сторк. Классификация паттернов. 2-е изд. Нью-Йорк: Wiley-Interscience, ноябрь 2000 г.
[5] Ася Фишер и Кристиан Игель. «Обучение ограниченным машинам Больцмана: Введение». В: Распознавание образов 47.1 (2014), стр. 25–39.
[6] Джон Готье. Условные генеративные состязательные сети для генерации лиц. 17 марта 2015 г. URL: «http://www.foldl.me/2015/conditional-gans-face-generation/» (посещение 22.01.2018).
[7] Ян Гудфеллоу. Учебное пособие NIPS 2016: Генеративные состязательные сети. 2016. eprint: arXiv: 1701.00160.
[8] Мартин Хойзель, Хуберт Рамзауэр, Томас Унтертинер и др. «Сети GAN, обученные правилом обновления двух шкал времени, сходятся к локальному равновесию по Нэшу». В: Достижения в системах обработки нейронной информации 30. Curran Associates, Inc., 2017, стр. 6626–6637.
[9] Джеффри Э. Хинтон и Руслан Р. Салахутдинов. «Уменьшение размерности данных с помощью нейронных сетей». В: Science 313.5786 (июль 2006 г.), стр. 504–507. arXiv: 20.
[10] Джеффри Э. Хинтон. «Практическое руководство по обучению ограниченных машин Больцмана». В: Neural Networks: Tricks of the Trade: Second Edition. Берлин, Гейдельберг: Springer Berlin Heidelberg, 2012, стр. 599–619.
[11] Филип Изола, Джун-Ян Чжу, Тинхуэй Чжоу и др. «Преобразование изображения в изображение с использованием сетей с условным противодействием». В: (2016). eprint: arXiv: 1611.07004.
[12] Дидерик П. Кингма и Макс Веллинг. «Автоматическое кодирование вариационного Байеса». В: arXiv e-prints, arXiv: 1312.6114 (декабрь 2013 г.), arXiv: 1312.6114. arXiv: 1312.6114 [stat.ML].
[13] Джонатан Маши, Ули Мейер, Дэн Чиресан и др. «Сложенные сверточные автокодеры для извлечения иерархических признаков». В: Искусственные нейронные сети и машинное обучение - ICANN 2011. Берлин, Гейдельберг: Springer Berlin Heidelberg, 2011, стр. 52–59.
[14] Люк Мец, Бен Пул, Дэвид Пфау и др. «Развернутые генеративные состязательные сети». В кн .: Международная конференция по обучающимся представлениям. Апрель 2017 г. eprint: arXiv: 1611.02163.
[15] Мехди Мирза и Саймон Осиндеро. «Условно порождающие состязательные сети». В: CoRR abs / 1411.1784 (2014). arXiv: 1411.1784.
[16] Алек Рэдфорд, Люк Мец и Сумит Чинтала. Обучение неконтролируемому представлению с помощью Deep Convolutional Generative Adversarial 2015. eprint: arXiv: 1511.06434.
[17] Тим Салиманс, Ян Гудфеллоу, Войцех Заремба и др. «Улучшенные методы обучения GAN». В: Достижения в системах обработки нейронной информации 29. Curran Associates, Inc., 2016, стр. 2234–2242.
[18] Эндрю Нг. «CS294A Конспект лекций». В: 2011.
[19] Хан Чжан, Тао Сюй, Хуншэн Ли и др. «StackGAN: синтез текста в фотореалистичное изображение с помощью составных генерирующих состязательных сетей». В: CoRR abs / 1612.03242 (2016). arXiv: 1612.03242.
[20] Хан Чжан, Тао Сюй, Хуншэн Ли и др. «Stackgan: синтез текста в фотореалистичное изображение с помощью сложенных генеративных состязательных сетей». В: препринт arXiv arXiv: 1612.03242 (2016).
[21] Болей Чжоу, Адитья Хосла, Агата Лапедриза и др. «Изучение глубоких функций для дискриминационной локализации». В: Конференция IEEE по компьютерному зрению и распознаванию образов (CVPR), 2016 г. Лас-Вегас, июнь 2016 г., стр. 2921–2929. arXiv: 1512.04150.
[22] Джун-Ян Чжу, Парк Тэсун, Филипп Изола и др. «Непарный преобразование изображения в изображение с использованием согласованных с циклом состязательных сетей». В: CoRR abs / 1703.10593 (2017). arXiv: 1703.10593.

Обучение без учителя - Часть 3