GLS: Get Lost to Survive
Все мы знаем, что у GAN есть одна распространённая проблема — mode collapse. Модель находит один способ, который дискриминатор считает реальным, и перестаёт развиваться. Генератор сходится к узкому набору решений, теряя разнообразие. Всё потому, что дискриминатор побеждает слишком сильно или, наоборот, застревает в локальной дыре.
Что с этим делать?
Конечно, есть много способов, от простых до сложных. Вы спросите: зачем изобретать велосипед, если он уже есть? Но этот способ не требует десятков строк сложной математики или дополнительных регуляризаторов.
Суть метода GLS — каждые N (например, 50) итераций мы полностью сбрасываем дискриминатор. Создаём новый, с нуля. Зачем? Чтобы генератор выжил.
Дискриминатор сбрасывается для того, чтобы он не успевал «запоминать» слабые места генератора и не фиксировал их. Каждый раз генератор встречается с новым оппонентом, который не знает его старых трюков. Это заставляет генератор учиться по-настоящему, а не подстраиваться под конкретного дискриминатора.
После сброса новый дискриминатор быстро «разогревается» — 20 шагов интенсивного обучения на текущих фейках. Затем в основном цикле дискриминатор обучается 10 шагов, а генератор — только 1. Это даёт генератору фору и не даёт дискриминатору стать всесильным.
В итоге обучение идёт волнами: дискриминатор выигрывает, потом генератор, потом снова дискриминатор. Никто не доминирует. Генератор получает ровно 50% уверенности и 50% тревожности — идеальный баланс для постоянного роста.
Результат:
Генератор не коллапсирует (шанс mode collapse → 0.9%)
Генератор учится с первых эпох (loss падает с 2.0 до 0.5–0.6)
Дискриминатор всегда остаётся «свежим» и даёт полезные градиенты
Обучение можно автоматизировать: запустил — и забыл
GLS (Get Lost to Survive) — это не просто трюк. Это стратегия выживания для генератора в мире, где дискриминатор всегда хочет его победить. Дискриминатор теряется (get lost), чтобы генератор выжил (survive).
Если у вас есть какие-то вопросы или более лучшие способы, напишите в комментариях, пожалуйста.