Генеративні змагальні мережі (GAN): Вступ

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

Ця передова технологія може допомогти вам формувати свої продукти та послуги. Його також можна використовувати для покращення якості зображення, щоб зберегти спогади.

Хоча GAN є благом для багатьох, деякі вважають це занепокоєнням.

Але що це за технологія?

У цій статті я розповім, що таке GAN, як він працює та його застосування.

Отже, давайте зануримося прямо!

Що таке генеративна змагальна мережа?

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

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

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

Два блоки конкуренції в GAN:

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

Дискримінатор: це деконволюційна нейронна мережа, яка може ідентифікувати ті результати, які створені штучно.

Ключові поняття

Щоб краще зрозуміти концепцію GAN, давайте швидко розберемося з деякими важливими пов’язаними концепціями.

Машинне навчання (ML)

Машинне навчання — це частина штучного інтелекту (ШІ), яка передбачає навчання та створення моделей, що використовують дані для підвищення продуктивності та точності під час виконання завдань або прийняття рішень чи прогнозів.

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

Дискримінаційна модель

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

Наприклад, розрізняти різні фрукти чи тварин.

Генеративна модель

У генеративних моделях випадкові вибірки створюють нові реалістичні зображення. Він вчиться на реальних зображеннях деяких об’єктів або живих істот створювати власні реалістичні, але імітовані ідеї. Ці моделі бувають двох видів:

Варіаційні автокодери: вони використовують кодери та декодери, які є окремими нейронними мережами. Це працює, оскільки дане реалістичне зображення проходить через кодер, щоб представити ці зображення як вектори в прихованому просторі.

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

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

Контрольоване навчання

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

  Виберіть інгредієнти та отримуйте рецепти з інформацією про калорії

Навчання без контролю

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

Отже, GAN пов’язані з виконанням неконтрольованого навчання в ML. Він має дві моделі, які можуть автоматично розкривати та вивчати шаблони з вхідних даних. Ці дві моделі – генератор і дискримінатор.

Давайте розберемося в них трохи більше.

Частини GAN

Термін «змагальний» включено в GAN, оскільки він складається з двох частин — генератора та знаменника, що конкурують. Це робиться для захоплення, ретельного вивчення та повторення варіацій даних у наборі даних. Давайте краще зрозуміємо ці дві частини GAN.

Генератор

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

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

Генератор навчений такими компонентами:

  • Зашумлені вхідні вектори
  • Генеруюча мережа для перетворення випадкового введення в екземпляр даних
  • Мережа дискримінатора для класифікації згенерованих даних
  • Втрата генератора покарає генератор, оскільки йому не вдається обдурити дискримінатор

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

Дискримінатор

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

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

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

Як працює GAN?

У генеративній змагальній мережі (GAN) три речі включають:

  • Генеративна модель для опису способу генерації даних.
  • Змагальна обстановка, де навчається модель.
  • Глибинні нейронні мережі як алгоритми ШІ для навчання.

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

Наприклад, ви хочете перевірити, чи справжнє зображення чи підробка. Ви можете використовувати введені вручну дані для передачі в генератор. Це створить нові копійовані зображення як результат.

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

Далі цей результат надходитиме до дискримінатора разом із набором зображень із реальних даних, щоб визначити, чи є ці зображення автентичними чи ні. Це негативно діє на генератор, незалежно від того, наскільки сильно він намагається імітувати; дискримінатор допоможе відрізнити фактичні дані від фейкових.

  Заблокуйте посилання "Mailto:" і скопіюйте адресу електронної пошти в буфер обміну [Chrome]

Дискримінатор візьме як підроблені, так і справжні дані, щоб повернути ймовірність 0 або 1. Тут 1 означає справжність, а 0 означає підробку.

У цьому процесі є дві петлі зворотного зв’язку:

  • Генератор приєднується до контуру зворотного зв’язку з дискримінатором
  • Дискримінатор приєднується до іншої петлі зворотного зв’язку з набором реальних зображень

Навчання GAN працює, оскільки і генератор, і дискримінатор проходять навчання. Генератор постійно навчається, передаючи помилкові вхідні дані, тоді як дискримінатор навчатиметься покращувати виявлення. Тут обидва динамічні.

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

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

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

Типи ГАН

Генеративні змагальні мережі бувають різних типів залежно від реалізації. Ось основні типи GAN, які активно використовуються:

  • Умовний GAN (CGAN): це техніка глибокого навчання, яка включає певні умовні параметри, щоб допомогти розрізнити справжні дані від підроблених. Він також включає додатковий параметр – «y» у фазі генератора для отримання відповідних даних. Крім того, мітки додаються до цього входу та передаються дискримінатору, щоб він міг перевірити, чи дані є автентичними чи підробленими.
  • Vanilla GAN: це простий тип GAN, де дискримінатор і генератор є простішими та багаторівневими перцептронами. Його алгоритми прості, оптимізують математичне рівняння за допомогою стохастичного градієнтного спуску.
  • Глибока згортка GAN (DCGAN): популярна і вважається найуспішнішою реалізацією GAN. DCGAN складається з ConvNets, а не з багаторівневих перцептронів. Ці ConvNets застосовуються без використання таких методів, як максимальне об’єднання або повне з’єднання шарів.
  • Суперроздільна здатність GAN (SRGAN): це реалізація GAN, яка використовує глибоку нейронну мережу поряд із суперницькою мережею, щоб створити зображення високої якості. SRGAN особливо корисний для ефективного масштабування оригінальних зображень із низькою роздільною здатністю, щоб покращити їх деталі та мінімізувати помилки.
  • Піраміда Лапласа GAN (LAPGAN): це оборотне та лінійне представлення, яке включає кілька смугових зображень, які розміщені через вісім інтервалів один від одного з низькочастотними залишками. LAPGAN використовує кілька мереж дискримінаторів і генераторів і кілька рівнів піраміди Лапласа.

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

Застосування GAN

Генеративні змагальні мережі використовуються в різних сферах, таких як:

Наука

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

GAN можуть прискорити моделювання та підвищити точність моделювання. Крім того, GAN можуть допомогти досліджувати темну матерію, імітуючи гравітаційні лінзи та покращуючи астрономічні зображення.

Відео ігри

Світ відеоігор також використав GAN для масштабування двовимірних даних із низькою роздільною здатністю, які використовуються в старих відеоіграх. Це допоможе вам відтворити такі дані в роздільній здатності 4k або навіть вищій за допомогою навчання зображень. Далі ви можете знизити роздільну здатність даних або зображень, щоб зробити їх придатними для реальної роздільної здатності відеоігри.

Забезпечте належне навчання своїх моделей GAN. Вони можуть запропонувати чіткіші та чіткіші 2D-зображення вражаючої якості порівняно з вихідними даними, зберігаючи при цьому деталі реального зображення, наприклад кольори.

Відеоігри, які використовують GAN, включають Resident Evil Remake, Final Fantasy VIII та IX тощо.

Мистецтво і мода

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

  Як налаштувати робочий стіл Pantheon

реклама

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

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

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

Синтез аудіо

Ви можете створювати аудіофайли з набору аудіокліпів за допомогою GAN. Це також відомо як генеративний звук. Будь ласка, не плутайте це з Amazon Alexa, Apple Siri або іншими голосами штучного інтелекту, де голосові фрагменти добре зшиваються та створюються на вимогу.

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

Передача навчання

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

Інші застосування GAN включають:

  • Діагностика повної або часткової втрати зору шляхом виявлення глаукоматозних зображень
  • Візуалізуйте промисловий дизайн, дизайн інтер’єру, предмети одягу, взуття, сумок тощо
  • реконструювати судово-медичні риси обличчя хворої людини
  • створювати 3D-моделі предмета із зображення, створювати нові об’єкти у вигляді 3D-хмари точок, моделювати моделі руху у відео
  • Продемонструйте зовнішній вигляд людини зі зміною віку
  • Розширення даних, наприклад покращення класифікатора DNN
  • Намалюйте відсутні об’єкти на карті, покращте вигляд вулиць, перенесіть стилі карт тощо
  • Створення зображень, заміна системи пошуку зображень тощо.
  • Створюйте керуючі входи для нелінійної динамічної системи за допомогою варіації GAN
  • Проаналізуйте вплив зміни клімату на будинок
  • Створіть обличчя людини, використовуючи її голос як вхідні дані
  • Створіть нові молекули для кількох білкових мішеней при раку, фіброзі та запаленні
  • Анімація gif зі звичайного зображення

Є багато інших застосувань GAN у різних областях, і їх використання розширюється. Однак є також численні випадки його зловживання. Зображення людей на основі GAN використовувалися для зловісних випадків, таких як створення підроблених відео та зображень.

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

Хоча GNA можуть бути благом у багатьох сферах, їх неправильне використання також може бути катастрофічним. Отже, для його використання необхідно дотримуватися відповідних інструкцій.

Висновок

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

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