Generative Adversarial Network

Оновлено: 31.07.2023

ГВС знаходяться в авангарді численних передових підходів і застосувань штучного інтелекту, оскільки вони можуть генерувати абсолютно нові дані.

Так що ж таке GAN в машинному навчанні?

  • GAN (Generative Adversarial Network) - це модель у машинному навчанні, яка допомагає нейронним мережам ставати точнішими у своїх прогнозах.
.

Дискримінатор і генератор відносяться до двох нейронних мереж, які складають типи генеративних змагальних мереж. Згорткова нейронна мережа слугує генератором, тоді як деконволюційна нейронна мережа слугує дискримінатором. Мета генератора - генерувати вихідні дані, які можуть бути легко інтерпретовані як справжні дані. Завдання дискримінатора - з'ясувати, які з отриманих результатів були згенеровані навмисно.

Генеративна змагальна мережа (GAN) - це модель машинного навчання, в якій дві нейронні мережі змагаються за підвищення точності прогнозування. GAN зазвичай не контролюються і навчаються за допомогою кооперативної гри з нульовою сумою.

  • Модель GAN в машинному навчанні містить дві нейронні мережі, які називаються генератор і дискримінатор.
.

Архітектура генеративної змагальної мережі

Як ми вже говорили, GAN будується за допомогою моделі дискримінатора та генератора. Генераційні моделі використовуються для генерації нових даних про закономірності, вивчені на основі навчальних даних. Це їхній обов'язок. Функція моделі-дискримінатора полягає в тому, щоб дивитися на фотографії та визначати, чи є вони справжніми чи підробленими, припускаючи, що вона була навчена на зображеннях.

Дві моделі конкурують між собою і навчаються відповідно до теорії ігор. Мета моделі-дискримінатора - обдурити модель-генератор за допомогою оманливих зображень.

Завдання цієї моделі - перемогти модель генератора і зафіксувати фіктивні зображення, які він генерує.

  • Моделі конкурують між собою. Ситуація, в якій обидві моделі стають кращими, можлива завдяки тому, що вони здатні пов'язувати нові дані з шаблонами.
  • Моделі конкурують між собою.

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

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

Як працюють генеративні змагальні мережі?

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

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

Параметри дискримінатора не змінюються, коли модель правильно розрізняє справжні та хибні зображення. Коли модель не може відрізнити справжнє зображення від помилкового, вона змушена вносити значні зміни в параметри моделі. Аналогічно, друга модель (генеративна) карається і її параметри змінюються, якщо їй не вдається обдурити дискримінаційну модель. З іншого боку, її параметри винагороджуються або залишаються незмінними.

  • В ідеальному світі продуктивність генератора зросла б настільки, що модель дискримінатора не змогла б відрізнити справжні зображення від фальшивих.
.

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

Більшість застосувань GAN зосереджені на створенні зображень та елементів зображень. Для генерації відсутніх або обмежених даних зображень GAN часто використовують як засіб отримання необхідних даних. Давайте розглянемо деякі з найпоширеніших застосувань GAN.