Генеративни състезателни мрежи (GAN): Въведение

Генеративните състезателни мрежи (GANs) са една от модерните технологии, които предлагат голям потенциал в много случаи на употреба, от създаване на вашите остарели снимки и увеличаване на гласа ви до предоставяне на различни приложения в медицината и други индустрии.

Тази модерна технология може да ви помогне да оформите вашите продукти и услуги. Може да се използва и за подобряване на качеството на изображението, за да запази спомените.

Докато GAN са благодат за мнозина, някои го намират за обезпокоително.

Но каква точно е тази технология?

В тази статия ще обсъдя какво е GAN, как работи и приложенията му.

Така че, нека се потопим направо!

Какво е генеративна състезателна мрежа?

Generative Adversarial Network (GAN) е рамка за машинно обучение, състояща се от две невронни мрежи, които се състезават да произвеждат по-точни прогнози като снимки, уникална музика, рисунки и т.н.

GANs е проектиран през 2014 г. от компютърен учен и инженер Иън Гудфелоу и някои от неговите колеги. Те са уникални дълбоки невронни мрежи, способни да генерират нови данни, подобни на тези, на които се обучават. Те се състезават в игра с нулева сума, която води до това, че един агент губи играта, докато другият я печели.

Първоначално GAN бяха предложени като генеративен модел за машинно обучение, главно обучение без надзор. Но GAN също са полезни за пълно контролирано обучение, полу-контролирано обучение и обучение за засилване.

Двата блока в конкуренцията в GAN са:

Генераторът: Това е конволюционна невронна мрежа, която изкуствено произвежда резултати, подобни на действителните данни.

Дискриминаторът: Това е деконволюционна невронна мрежа, която може да идентифицира тези изходи, които са изкуствено създадени.

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

За да разберем по-добре концепцията за GAN, нека бързо разберем някои важни свързани понятия.

Машинно обучение (ML)

Машинното обучение е част от изкуствения интелект (AI), която включва обучение и изграждане на модели, използващи данни за подобряване на производителността и точността при изпълнение на задачи или вземане на решения или прогнози.

Алгоритмите за ML създават модели въз основа на данни за обучение, като се подобряват с непрекъснато обучение. Те се използват в множество области, включително компютърно зрение, автоматизирано вземане на решения, филтриране на имейли, медицина, банкиране, качество на данните, киберсигурност, разпознаване на реч, системи за препоръки и др.

Дискриминиращ модел

При дълбокото обучение и машинното обучение, дискриминиращият модел работи като класификатор за разграничаване между набор от нива или два класа.

Например, разграничаване на различни плодове или животни.

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

В генеративните модели се счита, че произволните проби създават нови реалистични картини. То се учи от реални изображения на някои обекти или живи същества, за да генерира свои собствени реалистични, но имитирани идеи. Тези модели са два вида:

Вариационни автокодери: Те използват кодери и декодери, които са отделни невронни мрежи. Това работи, защото дадено реалистично изображение преминава през енкодер, за да представи тези изображения като вектори в латентно пространство.

След това се използва декодер, за да вземе тези интерпретации, за да създаде някои реалистични копия на тези изображения. Първоначално качеството на изображението може да е ниско, но ще се подобри, след като декодерът стане напълно функционален и можете да пренебрегнете енкодера.

Генеративни състезателни мрежи (GAN): Както беше обсъдено по-горе, GAN е дълбока невронна мрежа, способна да генерира нови, подобни данни от въведените данни, с които е предоставена. Той попада под неконтролирано машинно обучение, което е един от видовете машинно обучение, обсъдени по-долу.

Учене под наблюдение

При контролирано обучение една машина се обучава с помощта на добре обозначени данни. Това означава, че някои данни вече ще бъдат маркирани с правилния отговор. Тук на машината се дават някои данни или примери, за да се даде възможност на алгоритъма за контролирано обучение да анализира данните за обучение и да произведе точен резултат от тези етикетирани данни.

  Вие сте жертва на кражба на самоличност? Ето 8 неща, които трябва да направите по въпроса

Учене без надзор

Неконтролираното обучение включва обучение на машина с помощта на данни, които не са нито етикетирани, нито класифицирани. Това позволява на алгоритъма за машинно обучение да работи върху тези данни без насоки. При този тип обучение задачата на машината е да категоризира несортирани данни въз основа на моделите, приликите и разликите без предварително обучение на данни.

И така, GAN са свързани с извършване на неконтролирано обучение в ML. Той има два модела, които могат автоматично да разкриват и научават моделите от входните данни. Тези два модела са генератор и дискриминатор.

Нека ги разберем малко повече.

Части от GAN

Терминът „съперничество“ е включен в GAN, защото има две части – конкуриращи се генератор и знаменател. Това се прави, за да се уловят, разгледат и възпроизведат вариациите на данните в набор от данни. Нека разберем по-добре тези две части на GAN.

Генератор

Генераторът е невронна мрежа, способна да учи и генерира фалшиви точки от данни като изображения и аудио, които изглеждат реалистични. Използва се при обучение и се подобрява с непрекъснато учене.

Данните, генерирани от генератора, се използват като отрицателен пример за другата част – знаменателят, който ще видим по-нататък. Генераторът приема произволен вектор с фиксирана дължина като вход, за да произведе примерен изход. Той има за цел да представи изхода пред дискриминатора, така че да може да класифицира дали е истински или фалшив.

Генераторът е обучен с тези компоненти:

  • Шумни входни вектори
  • Генерираща мрежа за трансформиране на случаен вход в екземпляра на данните
  • Дискриминаторна мрежа за класифициране на генерираните данни
  • Загуба на генератора, която наказва генератора, тъй като не успява да заблуди дискриминатора

Генераторът работи като крадец, за да възпроизвежда и създава реалистични данни, за да заблуди дискриминатора. Тя има за цел да заобиколи няколко извършени проверки. Въпреки че може да се провали ужасно в началните етапи, той продължава да се подобрява, докато генерира множество реалистични, висококачествени данни и може да избегне тестовете. След като тази способност бъде постигната, можете да използвате само генератора, без да се нуждаете от отделен дискриминатор.

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

Дискриминаторът също е невронна мрежа, която може да прави разлика между фалшиво и истинско изображение или други типове данни. Подобно на генератор, той играе жизненоважна роля по време на фазата на обучение.

Действа като полицията, за да хване крадеца (фалшиви данни от генератора). Той цели откриване на фалшиви изображения и аномалии в екземпляр на данни.

Както беше обсъдено по-рано, генераторът се учи и продължава да се подобрява, за да достигне точка, в която става самостоятелен за създаване на висококачествени изображения, които не изискват дискриминатор. Когато висококачествените данни от генератора преминават през дискриминатора, той вече не може да прави разлика между истинско и фалшиво изображение. Така че, можете да отидете само с генератора.

Как работи GAN?

В генеративната състезателна мрежа (GAN) три неща включват:

  • Генеративен модел за описание на начина, по който се генерират данни.
  • Състезателна среда, в която се обучава модел.
  • Дълбоките невронни мрежи като AI алгоритми за обучение.

Двете невронни мрежи на GAN – генератор и дискриминатор – се използват за игра на състезателна игра. Генераторът взема входните данни, като аудио файлове, изображения и т.н., за да генерира подобен екземпляр на данни, докато дискриминаторът потвърждава автентичността на този екземпляр на данни. Последният ще определи дали екземплярът на данните, който е прегледал, е реален или не.

Например искате да проверите дали дадено изображение е истинско или фалшиво. Можете да използвате ръчно генерирани данни, които да подадете към генератора. Той ще създаде нови, репликирани изображения като изход.

Докато прави това, генераторът има за цел всички изображения, които генерира, да се считат за автентични, въпреки че са фалшиви. Той иска да създаде приемливи резултати, за да лъже и да избегне да бъде хванат.

След това този изход ще отиде до дискриминатора заедно с набор от изображения от реални данни, за да се установи дали тези изображения са автентични или не. Той действа неблагоприятно на генератора, без значение колко трудно се опитва да имитира; дискриминаторът ще помогне да се разграничат фактическите данни от фалшивите.

  Как да вмъкнете картина или друг обект в Microsoft Office

Дискриминаторът ще вземе както фалшиви, така и реални данни, за да върне вероятност от 0 или 1. Тук 1 представлява автентичност, докато 0 представлява фалшива.

В този процес има две вериги за обратна връзка:

  • Генераторът се присъединява към верига за обратна връзка с дискриминатор
  • Дискриминаторът се присъединява към друга верига за обратна връзка с набор от реални изображения

Обучението на GAN работи, защото и генераторът, и дискриминаторът са в процес на обучение. Генераторът непрекъснато се учи, като предава фалшиви входове, докато дискриминаторът ще се научи да подобрява откриването. Тук и двете са динамични.

Дискриминаторът е конволюционна мрежа, способна да категоризира изображенията, доставени към нея. Работи като биномен класификатор за етикетиране на изображения като фалшиви или истински.

От друга страна, генераторът е като обратна конволюционна мрежа, която взема произволни проби от данни, за да създаде изображения. Но дискриминаторът проверява данните с помощта на техники за намаляване на дискретизацията, като максимално обединяване.

И двете мрежи се опитват да оптимизират противникова и различна функция на загуба или цел в състезателна игра. Техните загуби им позволяват да се натискат още по-силно един срещу друг.

Видове 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 или дори по-високи разделителни способности чрез обучение на изображения. След това можете да намалите данните или изображенията, за да ги направите подходящи за реалната разделителна способност на видеоиграта.

  Как да зададете двойно междуредово разстояние в Microsoft Word за академична работа

Осигурете подходящо обучение на вашите GAN модели. Те могат да предложат по-отчетливи и ясни 2D изображения с впечатляващо качество в сравнение с естествените данни, като същевременно запазват детайлите на реалното изображение, като цветове.

Видеоигрите, които използват GAN, включват Resident Evil Remake, Final Fantasy VIII и IX и др.

Изкуство и мода

Можете да използвате GAN за генериране на изкуство, като например създаване на изображения на хора, които никога не са съществували, снимки в боя, създаване на снимки на нереални модни модели и много други. Използва се и в чертежи, генериращи виртуални сенки и скици.

реклама

Използването на GAN за създаване и производство на вашите реклами ще спести време и ресурси. Както се вижда по-горе, ако искате да продадете бижутата си, можете да създадете въображаем модел, приличащ на истински човек, с помощта на GAN.

По този начин можете да накарате модела да носи вашите бижута и да ги покажете на клиентите си. Това ще ви спести от наемането на модел и плащането за него. Можете дори да премахнете допълнителните разходи като плащане на транспорт, наемане на студио, организиране на фотографи, гримьори и др.

Това значително ще помогне, ако сте разрастващ се бизнес и не можете да си позволите да наемете модел или да разполагате с инфраструктура за рекламни снимки.

Аудио синтез

Можете да създавате аудио файлове от набор от аудио клипове с помощта на GAN. Това също е известно като генериращо аудио. Моля, не бъркайте това с Amazon Alexa, Apple Siri или други AI гласове, където гласовите фрагменти се съединяват добре и се произвеждат при поискване.

Вместо това генеративното аудио използва невронни мрежи за изследване на статистическите свойства на аудио източника. След това той директно възпроизвежда тези свойства в даден контекст. Тук моделирането представлява начина, по който речта се променя след всяка милисекунда.

Трансферно обучение

Проучванията за усъвършенствано обучение за трансфер използват GAN за привеждане в съответствие на най-новите функционални пространства като обучение с дълбоко укрепване. За тази цел вгражданията на източника и целевата задача се подават към дискриминатора, за да се определи контекста. След това резултатът се предава обратно чрез енкодера. По този начин моделът продължава да се учи.

Други приложения на GAN включват:

  • Диагностика на пълна или частична загуба на зрение чрез откриване на глаукоматозни образи
  • Визуализирайте индустриален дизайн, интериорен дизайн, дрехи, обувки, чанти и др
  • реконструира съдебномедицински черти на лицето на болен човек
  • създаване на 3D модели на елемент от изображение, създаване на нови обекти като 3D облак от точки, моделиране на модели на движение във видео
  • Покажете външния вид на човек с променяща се възраст
  • Увеличаване на данните, като например подобряване на DNN класификатора
  • Нарисувайте липсваща функция в карта, подобрете изгледи на улицата, прехвърлете стилове за картографиране и др
  • Създаване на изображения, замяна на система за търсене на изображения и т.н.
  • Генериране на контролни входове към нелинейна динамична система чрез използване на GAN вариант
  • Анализирайте въздействието на климатичните промени върху къщата
  • Създайте лице на човек, като вземете неговия глас като вход
  • Създайте нови молекули за няколко протеинови цели при рак, фиброза и възпаление
  • Анимирайте GIF файлове от обикновено изображение

Има много повече приложения на GAN в различни области и тяхното използване се разширява. Има обаче и множество случаи на злоупотреба с него. Човешки изображения, базирани на GAN, са били използвани за зловещи случаи на употреба, като например създаване на фалшиви видеоклипове и снимки.

GAN също могат да се използват за създаване на реалистични снимки и профили на хора в социалните медии, които никога не са съществували на земята. Други опасни злоупотреби с GNA са създаването на фалшива порнография без съгласието на представени лица, разпространението на фалшиви видеоклипове на политически кандидати и т.н.

Въпреки че GNA могат да бъдат благодат в много области, злоупотребата им може да бъде и пагубна. Следователно трябва да се прилагат правилни насоки за употребата му.

Заключение

GANs са един забележителен пример за модерна технология. Той предоставя уникален и по-добър начин за генериране на данни и подпомагане на функции като визуална диагностика, синтез на изображения, изследвания, увеличаване на данни, изкуства и наука и много други.

Може също да се интересувате от платформи за машинно обучение с нисък код и без код за изграждане на иновативни приложения.