Суперечкова гра: Мінімаксний поєдинок
GAN протиставляє два мережі одна проти одної в нульовій сумі. Генератор намагається виробляти штучні зразки, достатньо реалістичні, щоб обдурити дискримінатор, а дискримінатор намагається правильно класифікувати зразки як справжні чи підроблені. Формально, генератор мінімізує, а дискримінатор максимізує одну й ту ж функцію цілей – мінімаксну гру, де виграш однієї мережі є втратою для іншої. На ранніх етапах навчання генератор виробляє очевидний сміття, і дискримінатор легко це розпізнає, що призводить до сильного сигналу зворотного зв’язку до генератора. З плином навчання генератор покращується, завдання дискримінатора стає складнішим, а градієнт, який він повертає, стає більш інформативним і точним. Теоретичний кінець – це рівновага Неша, де дискримінатор не може зробити краще, ніж випадкове здогадування, що означає, що підробки генератора статистично не відрізняються від розподілу справжніх даних.
Від випадкового шуму до реалістичних фальшивок
Генератор починається з вектора випадкових чисел, часто називаного латентним вектором, вибірконого із простого розподілу, наприклад, гаусового. Він пропускає цей шум через кілька шарів навчених трансформацій, поступово перетворюючи безформний випадковий вхід у структуроване вихідне значення, що імітує реальні дані, будь то зображення, 2D-точковий малюнок або звукова хвиля. Жодна з цих трансформацій не розробляється вручну; кожну вагу налаштовують лише за допомогою градієнтного спуску, який винагороджує конфігурації, що обманюють дискримінатор. Оскільки відображення є безперервним, плавне зміна латентного вектора призводить до плавної зміни вихідних даних, тому інтерполяція між двома латентними точками часто дає правдоподібний мофізм між двома згенерованими зразками. Протягом багатьох епох навчання хмара вихідних значень, які генерує генератор із випадкових вхідних даних шуму, мігрує від розкиданого безглуздя до тієї ж форми, щільності та структури, що й реальний набір навчальних даних.
Змінний Поріг Рішення та Коли Тренування Не Проходить
Поріг рішення дискримінатора – це поверхня, що відокремлює області, які він маркує як реальні, від областей, які він маркує як фальшиві. У здоровому GAN цей поріг безперервно адаптується у міру зміни вихідних даних генератора, завжди торкаючись краю між двома хмарними точками. Коли навчання проходить успішно, поріг звужується і хмара фальшивих даних збігається з реальним многовидом до тих пір, поки вони майже не перекриваються. Навчання також може зазнавати невдач характерним чином. Звуження мод відбувається, коли генератор виявляє вузький трюк, який надійно обманює дискримінатор і генерує практично однакові вихідні дані незалежно від шуму вхідних даних, жертвуючи різноманітністю заради тимчасової переваги. Нестабільність навчання проявляється у вигляді коливаючих втрат, де генератор і дискримінатор безперервно перевершують один одного, не встановлюючи жодного врешті-решт, змушуючи поріг рішення хитатися хаотично замість плавної збіжності.
Чому GAN мають значення
GANs започаткували хвилю практичних генеративних технологій завдяки надзвичайній гнучкості сигналу конкурентної навчання, який не потребує явного визначення щільності або ручної розробки функції втрат для опису того, як виглядають реальні дані. Це дозволило дослідникам генерувати фотореалістичні обличчя людей, які не існують, синтезувати навчальні зображення для посилення рідкісних наборів даних для медичного або промислового машинного навчання та виконувати суперроздізнне збільшення розмитих зображень у чіткі деталі. Стильові перетворення, прогнозування відео та конвеєри текст-в-зображення походять від концепцій GAN або їх близьких родичів. Крім зображень, GANs застосовувалися для синтезу аудіо, дизайну молекул ліків і виявлення аномалій, де навчене відчуття нормальних даних дискримінатором допомагає виявляти відхилення. Розуміння динаміки генератора-дискримінатора залишається фундаментальним для розуміння сучасної генеративної штучного інтелекту, навіть якщо моделі дифузії стали популярною альтернативою для багатьох з тих самих завдань.
Часті запитання
Яка різниця між генератором і дискримінатором?
Генератор — це мережа, яка приймає випадковий шум на вхід і перетворює його на синтезовані дані, що мають нагадувати реальний навчальний набір, наприклад, штучні зображення або штучні шаблони точок. Дискримінатор — це окрема мережа, яка приймає зразок, будь-який справжній чи згенерований, і видає ймовірність того, що він є справжнім. Вони навчаються разом, але мають протилежні цілі: генератор прагне максимізувати помилку дискримінатора, а дискримінатор прагне мінімізувати свою власну помилку. Ця суперечлива тиск змушує вихідні дані генератора ставати все більш реалістичними з часом, оскільки будь-який спосіб обходу або недолік, на який покладається генератор, стає ціллю, яку дискримінатор вчиться використовувати.
Що таке колапс мод і чому це відбувається?
Колапс мод виникає, коли генератор навчається виробляти лише обмежену кількість результатів або навіть один результат замість того, щоб охоплювати повну різноманітність реального розподілу даних. Це відбувається тому, що генератор оптимізується лише для обману поточного дискримінатора, і якщо певний вихід надійно це робить, немає прямої мотивації продовжувати досліджувати інші валідні виходи. Дискримінатор може зрештою розпізнати цю хитрість, але генератор може перейти до іншого вузького рішення замість того, щоб навчитися повному розподілу. Методи, такі як мініпакетна дискримінація, розгорнуті GAN та терміни втрат, що сприяють різноманітності, є поширеними методами пом’якшення.
Чи залишаються GAN актуальними порівняно з моделями дифузії?
Так, хоча моделі дифузії перевершили GAN у багатьох бенчмарках щодо створення зображень завдяки більш стабільній навчанні та кращій різноманітності зразків, GAN залишаються привабливими там, де потрібне швидке однопроменеве генерування, оскільки навчена мережа генерує зразок за один прямовий прохід, а моделі дифузії зазвичай потребують багато ітеративних кроків шумозаглушення. GAN також все ще широко використовуються для завдань, таких як суперроздінення зображень, реальний стиль перенесення та спеціалізовані канали збільшення даних. Крім того, концепція суперечливого навчання була інтегрована в гібридні архітектури та функції втрат у генеративному моделюванні, тому основна ідея генератора-дискримінатора залишається впливовою навіть за межами чистих архітектур GAN.
Спробуйте наживо
Усе, що вище, працює прямо у вашому браузері — відкрийте GAN: Generator vs Discriminator Explained і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.
▶ Відкрити симуляцію GAN: Generator vs Discriminator Explained