Розуміння функції втрат GAN


17

Я намагаюся зрозуміти функцію втрат GAN, як це передбачено в розумінні генеративних змагальних мереж (повідомлення в блозі, написане Даніелем Сейтою).

У стандартній крос-ентропійній втраті у нас є вихід, який пройшов через сигмоподібну функцію та отриману в результаті бінарну класифікацію.

Сієта констатує

х1

Н((х1,у1),D)=-у1журналD(х1)-(1-у1)журнал(1-D(х1))

Це лише журнал очікування, який має сенс, але як ми можемо, використовуючи функцію втрати GAN, обробляти дані з істинного розподілу та дані генеративної моделі в одній ітерації?

Відповіді:


6

Фокус цього питання

"Як можна ... ми обробляємо дані з істинного розподілу та дані з генеративної моделі в одній ітерації?

Аналіз Основної публікації

На переліченій сторінці « Розуміння генеративних змагальних мереж» (2017) доктор-кандидат Даніель Сієта правильно посилається на Генеральні змагальні мережі, Goodfellow, Поугет-Абаді, Мірза, Сю, Уорд-Фарлі, Озер, Курвіль та Бенджо, червень 2014 року . Це абстрактні твердження: "Ми пропонуємо нову основу для оцінки генеративних моделей за допомогою змагального процесу, в якому ми одночасно навчаємо дві моделі ..." Цей оригінальний документ визначає дві моделі, визначені як MLP (багатошарові перцептрони).

  • Генеративна модель, Г
  • Дискримінаційна модель, D

Ці дві моделі керуються таким чином, коли одна забезпечує форму негативного зворотного зв’язку щодо іншої, отже, термін змагальний.

  • G навчений захоплювати розподіл даних набору прикладів досить добре, щоб обдурити D.
  • D проходить навчання, щоб виявити, чи є його вхідними макетами G чи набором прикладів для системи GAN.

(Набір прикладів для системи GAN іноді називають реальними зразками, але вони можуть бути не більш реальними, ніж створені. Обидва - це числові масиви в комп'ютері, один набір із внутрішнім походженням, а другий із зовнішнім Походження зовнішніх даних від камери, спрямованої на фізичну сцену, не стосується роботи GAN.)

Імовірнісно, ​​що обман D є синонімом до максимізації ймовірності того, що D генерує стільки помилкових позитивних і помилкових негативів, скільки правильних категоризацій, 50% кожен. В інформатиці це означає, що межа інформації D має G підходів 0, оскільки t наближається до нескінченності. Це процес максимізації ентропії G з точки зору D, таким чином, термін перехресна ентропія.

Як здійснюється конвергенція

Оскільки функція втрат, відтворена в записі Sieta за 2017 рік у запитанні, є функцією D, розробленою для мінімізації перехресної ентропії (або кореляції) між двома розподілами при застосуванні до повного набору балів за заданий тренувальний стан.

Н((х1,у1),D)=1D(х1)

Існує окрема функція втрат для G, призначена для максимізації поперечної ентропії. Зауважте, що в системі є ДВА рівня деталізації навчання.

  • Ця гра рухається у грі для двох гравців
  • Таблиця навчальних зразків

Вони виробляють вкладені ітерації із зовнішньою ітерацією наступним чином.

  • Навчання G надходжень за допомогою функції втрат Г.
  • Модельні схеми введення генеруються з G при його поточному стані підготовки.
  • Навчання D надходжень за допомогою функції втрати D.
  • Повторіть, якщо перехресна ентропія ще не є достатньо максимальною, D все одно може розрізнити.

Коли D нарешті програє гру, ми досягли своєї мети.

  • G відновив розподіл даних про навчання
  • D зводився до неефективності ("1/2 ймовірності скрізь")

Чому одночасне навчання необхідне

Якби обидві моделі не навчалися вперед і назад для імітації одночасності, конвергенція в змагальній площині (зовнішня ітерація) не відбулася б за унікальним рішенням, заявленим у документі 2014 року.

Більше інформації

Поза питанням, наступний предмет, який цікавиться роботою Sieta, полягає в тому, що «погана конструкція функції втрат генератора» може призвести до недостатнього значення градієнта, щоб керувати спуском і створювати те, що іноді називають насиченням. Насичення - це просто зменшення сигналу зворотного зв’язку, який спрямовує спуск при зворотному поширенні до хаотичного шуму, що виникає в результаті округлення плаваючої точки. Термін походить від теорії сигналів.

Я пропоную вивчити документ про 2014 рік Goodfellow et alia (досвідчені дослідники), щоб дізнатися про технологію GAN, а не про сторінку 2017 року.


3

Почнемо з початку. GAN - це моделі, які можуть навчитися створювати дані, подібні до даних, які ми їм надаємо.

Під час навчання генеративної моделі, відмінної від GAN, найпростіша функція втрат, яку можна придумати, - це, мабуть, помилка середнього квадрату (MSE).

Будь ласка, дозвольте навести вам приклад ( Trickot L 2017 ):

Тепер припустимо, що ви хочете породити котів; ви можете навести свої моделі прикладів конкретних котів на фотографіях. Вибір функції втрати означає, що ваша модель повинна точно відтворювати кожну кішку, щоб уникнути покарання.

Але це не обов’язково те, що ми хочемо! Ви просто хочете, щоб ваша модель породила котів, будь-яка кішка буде робити це, поки це правдоподібна кішка. Отже, вам потрібно змінити функцію втрат.

Однак яка функція може знехтувати конкретними пікселями та зосередитись на виявленні котів на фотографії?

Це нейронна мережа. Це роль дискримінатора в GAN. Завдання дискримінатора - оцінити, наскільки правдоподібний образ.

У роботі, яку ви цитуєте, Розуміння генеративних змагальних мереж (Daniel S 2017), перераховано дві основні думки.

Основна інформація 1: Функція втрати дискримінатора є функцією поперечної ентропії.

Основне розуміння 2: розуміння того, як насиченість градієнта може чи не може негативно впливати на тренування. Насиченість градієнта є загальною проблемою, коли градієнти занадто малі (тобто нульові), щоб виконати будь-яке навчання.

Щоб відповісти на ваше запитання, ми мусимо детальніше зупинитися на другому головному розумінні.

У контексті GAN може відбутися насичення градієнта через погану конструкцію функції втрат генератора, тому це "головне розуміння" ... засноване на розумінні компромісів між різними функціями втрат для генератора.

Дизайн, реалізований у статті, вирішує проблему втрати, маючи дуже специфічну функцію (розрізняти два класи). Найкращий спосіб зробити це за допомогою перехресної ентропії (Insight 1). Як йдеться у записі блогу:

Перехресна ентропія - це велика функція втрат, оскільки вона розроблена частково для прискорення навчання та уникнення насичення градієнтом лише тоді, коли класифікатор правильний.

Як було уточнено в коментарях до блогу:

Очікування [у функції поперечної ентропії] походить від сум. Якщо ви подивитесь на визначення очікування для дискретної випадкової величини, ви побачите, що вам потрібно підсумовувати різні можливі значення випадкової величини, зважуючи кожну з них за їх вірогідністю. Тут вірогідність становить лише 1/2 для кожного, і ми можемо трактувати їх як такі, що надходять від генератора чи дискримінатора.


Питання не задавало питання, що найпростіше використовувати як функцію втрат для ANN. Специфіка математики для @tryingtolearn була незрозумілою, а цитування студента, не надаючи жодних пояснень, не з'ясовує.
Фахристиян

1

Ви можете розглядати комбінацію zвведення та xвведення як єдиний зразок, і ви оцінюєте, наскільки добре дискримінатор виконав класифікацію кожного з них.

Ось чому пізніше публікація розділяє сингл yна - E(p~data)і, E(z)по суті, у вас є різні очікування (y ів) для кожного з входів дискриминатора і вам потрібно виміряти і в той же час , щоб оцінити , наскільки добре распознаватель виконує.

Ось чому функція втрат мислиться як поєднання як позитивної класифікації реального вкладу, так і негативної класифікації негативного входу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.