stringtranslate.com

Вассерштейн ГАН

Генеративно-состязательная сеть Вассерштейна (WGAN) — это вариант генеративно-состязательной сети (GAN), предложенный в 2017 году, целью которого является «повышение стабильности обучения, устранение таких проблем, как коллапс мод, и предоставление осмысленных кривых обучения, полезных для отладки и поиска гиперпараметров». [1] [2]

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

Мотивация

Игра GAN

Оригинальный метод GAN основан на игре GAN, игре с нулевой суммой с 2 ​​игроками: генератором и дискриминатором. Игра определена на вероятностном пространстве , набор стратегий генератора — это набор всех вероятностных мер на , а набор стратегий дискриминатора — это набор измеримых функций .

Цель игры: генератор стремится минимизировать его, а дискриминатор стремится максимизировать.

Основная теорема игры GAN гласит, что

Теорема  (оптимальный дискриминатор вычисляет расхождение Дженсена–Шеннона)  —  Для любой фиксированной стратегии генератора пусть оптимальный ответ будет , тогда

где производная — производная Радона–Никодима , а — дивергенция Дженсена–Шеннона .

Повторите игру GAN много раз, каждый раз с генератором, движущимся первым, и дискриминатором, движущимся вторым. Каждый раз, когда генератор меняется, дискриминатор должен адаптироваться, приближаясь к идеалу Поскольку нас действительно интересует , функция дискриминатора сама по себе довольно неинтересна. Она просто отслеживает отношение правдоподобия между распределением генератора и эталонным распределением. В равновесии дискриминатор просто постоянно выдает данные, отказавшись от попыток воспринять какую-либо разницу. [примечание 1]

Конкретно, в игре GAN давайте исправим генератор и улучшим дискриминатор шаг за шагом, причем дискриминатор будет на шаге . Тогда мы (в идеале) имеем так что мы видим, что дискриминатор на самом деле является нижнеграниченным .

Расстояние Вассерштейна

Таким образом, мы видим, что роль дискриминатора в основном заключается в предоставлении критиком обратной связи для генератора о том, «насколько он далек от совершенства», где «далек» определяется как расхождение Дженсена–Шеннона.

Естественно, это дает возможность использовать другой критерий удалённости. Существует множество возможных расхождений , из которых можно выбирать, например, семейство f-расхождений , которое даст f-GAN. [3]

Сеть GAN Вассерштейна получается с использованием метрики Вассерштейна , которая удовлетворяет «теореме о двойственном представлении», что делает ее вычисления весьма эффективными:

Теорема  (двойственность Канторовича-Рубенштейна)  —  Когда вероятностное пространство является метрическим, то для любого фиксированного , где — норма Липшица .

Доказательство можно найти на главной странице метрики Вассерштейна .

Определение

Согласно двойственности Канторовича-Рубенштейна, определение GAN Вассерштейна становится ясным:

Игра Вассерштейна GAN определяется вероятностным пространством , где — метрическое пространство , и константой .

Есть 2 игрока: генератор и дискриминатор (также называемый «критиком»).

Набор стратегий генератора представляет собой набор всех мер вероятности на .

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

Игра Вассерштейна GAN — это игра с нулевой суммой , с целевой функцией

Генератор идет первым, а дискриминатор — вторым. Генератор стремится минимизировать цель, а дискриминатор стремится максимизировать цель:

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

Сравнение с GAN

В игре Вассерштейна GAN дискриминатор обеспечивает лучший градиент, чем в игре GAN.

Рассмотрим, например, игру на реальной линии, где и являются гауссовыми. Тогда оптимальный критик Вассерштейна и оптимальный дискриминатор GAN отображаются следующим образом:

Оптимальный критик Вассерштейна и оптимальный дискриминатор GAN для фиксированного эталонного распределения и распределения генератора . Как критик Вассерштейна , так и дискриминатор GAN уменьшены для соответствия графику.

Для фиксированного дискриминатора генератор должен минимизировать следующие цели:

Пусть параметризовано с помощью , тогда мы можем выполнить стохастический градиентный спуск , используя две несмещенные оценки градиента: где мы использовали прием репараметризации . [примечание 2]

Тот же график, но дискриминатор GAN заменен на (и уменьшен для соответствия графику)

Как показано, генератор в GAN мотивирован позволить себе «скатиться с пика» . Аналогично для генератора в GAN Вассерштейна.

Для Вассерштейна GAN, имеет градиент 1 почти везде, в то время как для GAN, имеет плоский градиент в середине и крутой градиент в других местах. В результате дисперсия для оценки в GAN обычно намного больше, чем в Вассерштейне GAN. См. также Рисунок 3 из. [1]

Проблема с гораздо более серьезна в реальных ситуациях машинного обучения. Рассмотрим обучение GAN для генерации ImageNet , коллекции фотографий размером 256 на 256. Пространство всех таких фотографий равно , а распределение изображений ImageNet, , концентрируется на многообразии гораздо меньшей размерности в нем. Следовательно, любая стратегия генератора почти наверняка будет полностью не пересекаться с , делая . Таким образом, хороший дискриминатор может почти идеально различать от , а также любые близкие к . Таким образом, градиент , не создавая обучающего сигнала для генератора.

Подробные теоремы можно найти в [4] .

Обучение Вассерштейн GAN

Обучение генератора в Вассерштейновском GAN — это просто градиентный спуск , такой же, как в GAN (или большинстве методов глубокого обучения), но обучение дискриминатора отличается, поскольку дискриминатор теперь ограничен ограниченной нормой Липшица. Для этого есть несколько методов.

Верхняя граница нормы Липшица

Пусть функция дискриминатора реализуется многослойным персептроном : где , а — фиксированная функция активации с . Например, функция гиперболического тангенса удовлетворяет требованию.

Тогда для любого , пусть , по цепочке имеем : Таким образом, норма Липшица ограничена сверху величиной , где — операторная норма матрицы, то есть наибольшее сингулярное число матрицы, то есть спектральный радиус матрицы (эти понятия одинаковы для матриц, но различны для общих линейных операторов ).

Так как , то имеем , и, следовательно, верхнюю границу: Таким образом, если мы можем оценить сверху нормы операторов каждой матрицы, то мы можем оценить сверху норму Липшица .

Отсечение веса

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

Это метод отсечения веса, предложенный в оригинальной статье. [1]

Спектральная нормализация

Спектральный радиус можно эффективно вычислить с помощью следующего алгоритма:

ВХОДНАЯ матрица и начальное предположение

Итерация до сходимости . Это собственный вектор с собственным значением .

ВОЗВРАЩАТЬСЯ

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

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

Это метод спектральной нормализации. [5]

Штраф за градиент

Вместо строгого ограничения мы можем просто добавить термин «градиентный штраф» для дискриминатора в форме, где — фиксированное распределение, используемое для оценки того, насколько дискриминатор нарушил требование нормы Липшица. Дискриминатор, пытаясь минимизировать новую функцию потерь, естественным образом приблизится к везде, таким образом сделав .

Это метод градиентного штрафа. [6]

Дальнейшее чтение

Смотрите также

Ссылки

  1. ^ abc Арджовски, Мартин; Чинтала, Сумит; Ботту, Леон (2017-07-17). «Генеративно-состязательные сети Вассерштейна». Международная конференция по машинному обучению . PMLR: 214–223.
  2. ^ Венг, Лилиан (18 апреля 2019 г.). «От ГАН до ВГАН». arXiv : 1904.08994 [cs.LG].
  3. ^ Новозин, Себастьян; Чеке, Ботонд; Томиока, Рёта (2016). "f-GAN: Обучение генеративных нейронных сэмплеров с использованием минимизации вариационной дивергенции". Достижения в области нейронных систем обработки информации . 29. Curran Associates, Inc. arXiv : 1606.00709 .
  4. ^ Арджовски, Мартин; Ботту, Леон (01.01.2017). «К принципиальным методам обучения генеративно-состязательных сетей». arXiv : 1701.04862 . {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  5. ^ Миято, Такеру; Катаока, Тошики; Кояма, Масанори; Ёсида, Юичи (16 февраля 2018 г.). «Спектральная нормализация для генеративно-состязательных сетей». arXiv : 1802.05957 [cs.LG].
  6. ^ Гулраджани, Ишаан; Ахмед, Фарук; Арджовски, Мартин; Дюмулен, Винсент; Курвиль, Аарон С. (2017). «Улучшенное обучение сетей Вассерштейна GAN». Достижения в области нейронных систем обработки информации . 30. Curran Associates, Inc.

Примечания

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