Если мы можем обрезать градиент в WGAN, зачем беспокоиться о WGAN-GP?

Я работаю над WGAN и хочу внедрить WGAN-GP.

В своей исходной статье WGAN-GP реализована со штрафом за градиент из-за ограничения 1-Lipschitiz. Но такие пакеты, как Keras, могут обрезать норму градиента до 1 (что по определению эквивалентно ограничению 1-Lipschitiz), так почему мы утруждаемся наказанием за градиент? Почему бы нам просто не обрезать градиент?


person lwang024    schedule 06.11.2019    source источник


Ответы (2)


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

Если c мало, веса будут сильно обрезаны до небольшого диапазона значений. Вопрос в том, как определить подходящее значение c. Это зависит от вашей модели, набора данных в вопросе, процедуры обучения и т. Д. И т. Д. Так почему бы не попробовать мягкое наказание вместо жесткого отсечения? Вот почему документ WGAN-GP вводит дополнительное ограничение для функции потерь, которое заставляет норму градиента быть как можно ближе к 1, избегая жесткого сворачивания до предопределенных значений.

person CaptainTrunky    schedule 06.11.2019
comment
Если вы удовлетворены, пожалуйста, отметьте как решенное, так как есть пометки, которые нужно добавить. :) - person CaptainTrunky; 08.11.2019
comment
Я только что понял, что говорю об отсечении градиента, а не об отсечении весов. Применимо ли ваше объяснение к градиенту? - person lwang024; 11.11.2019
comment
@ lwang024 Не совсем так. WGAN вводит отсечение веса как способ упорядочения весов модели. WGAN-GP заменяет отсечение веса на штраф за градиент. Градиентная обрезка - это совсем другое дело, и ее нельзя использовать для этой задачи, она не накладывает надлежащих математических ограничений на модель / веса / ограничения. - person CaptainTrunky; 11.11.2019
comment
@ lwang024 Причина, я полагаю, в том, что текущий градиент, созданный текущей ошибкой и данными, даже ограниченный некоторым c, не гарантирует, что окончательная модель будет удовлетворять непрерывность липшица. - person CaptainTrunky; 11.11.2019
comment
Понятно. Это прекрасно отвечает на мой вопрос. - person lwang024; 11.11.2019

Ответ CaptainTrunky правильный, но я также хотел указать на один, действительно важный аспект.

Ссылаясь на исходный документ WGAN-GP:

Реализация ограничения k-Липшица с помощью ограничения веса склоняет критиков к гораздо более простым функциям. Как указывалось ранее в [Следствие 1], оптимальный критик WGAN имеет единичную норму градиента почти всюду под Pr и Pg; при ограничении ограничения веса мы наблюдаем, что наши нейросетевые архитектуры, которые пытаются достичь своей максимальной нормы градиента k, в конечном итоге изучают чрезвычайно простые функции.

Итак, как вы можете видеть, отсечение веса может (это зависит от данных, которые вы хотите сгенерировать - авторы этой статьи заявили, что это не всегда так) привести к нежелательному поведению. Когда вы попытаетесь обучить WGAN генерировать более сложные данные, у задачи будет высокая вероятность сбоя.

person Grzegorz Wilczyński    schedule 18.03.2020