Несколько слов про генеративные состязательные сети | OTUS
⚡ Подписка на курсы OTUS!
Интенсивная прокачка навыков для IT-специалистов!
Подробнее

Курсы

Программирование
Python Developer. Professional
-3%
Разработчик на Spring Framework
-5%
iOS Developer. Professional
-8%
Golang Developer. Professional
-6%
Базы данных
-12%
Agile Project Manager
-5%
Android Developer. Professional
-11%
Microservice Architecture
-5%
C++ Developer. Professional
-5%
Highload Architect
-6%
JavaScript Developer. Basic
-8%
Kotlin Backend Developer
-9%
C# Developer. Professional
-9%
Team Lead
-6%
Алгоритмы и структуры данных Разработчик программных роботов (RPA) на базе UiPath и PIX Unity Game Developer. Basic Разработчик голосовых ассистентов и чат-ботов Vue.js разработчик VOIP инженер NoSQL Супер-практикум по использованию и настройке GIT Symfony Framework iOS Developer. Basic Супер-интенсив «СУБД в высоконагруженных системах» Супер-интенсив "Tarantool"
Инфраструктура
DevOps практики и инструменты
-12%
Базы данных
-12%
Network engineer. Basic
-10%
Network engineer
-4%
Экcпресс-курс «ELK»
-10%
Инфраструктурная платформа на основе Kubernetes
-6%
Administrator Linux.Basic
-10%
Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes»
-30%
Дизайн сетей ЦОД
-13%
PostgreSQL
-8%
Разработчик программных роботов (RPA) на базе UiPath и PIX Reverse-Engineering. Professional Внедрение и работа в DevSecOps Administrator Linux. Advanced Infrastructure as a code in Ansible Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Экспресс-курс «IaC Ansible»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Несколько слов про генеративные состязательные сети

MLDeep_29_05_Site.png

На самом пике волне хайпа искусственного интеллекта уверенно держатся генеративные состязательные сети. Не все знают, но генеративные модели появились ещё в 18-ом веке, когда преподобный Томас Байес сформулировал своё знаменитое правило связавшее «приорное» и «постериорное» распределения. Формула1.png Но до недавнего времени генеративный подход в решении задач машинного обучения натыкался на трудности в оценке распределения на данных ввиду его сложности. Именно эту проблему и решил (конечно, в некотором приближении) Ян Гудфеллоу в своей уже знаменитой статье «Generative Adversarial Networks», научив нас сэмплировать из этого сложного распределения.

Давайте разберёмся с ней

График1.png Изображение из книги “Глубокое обучение”

Основная идея заключается в том, чтобы обучать одновременно две нейронные сети. Первую будем называть «Генератор» и её/его задача — породить примеры похожие на те, что есть в обучающей выборке с точки зрения второй сети — «Дискриминатора». Задача Дискриминатора же — учиться отличать порождённые генератором примеры от тех, что есть в той же обучающей выборке.

При этом Генератор, конечно, не занимается творчеством, а является, как это обычно бывает с нейронными сетями, сложной многомерной функцией, получающей на вход вектора из какого-нибудь многомерного пространства и выдающей на выходе примеры из пространства данных. Формула2.png Где theta — параметры сети, а Z — то самое входное пространство, на котором мы ещё и зададим приорное распределение, например N(0,1). Дискриминатор же получает на вход примеры из пространства данных и выдаёт бинарный ответ — является ли очередной пример «настоящим» или он порождён Генератором: Формула3.png Это состязание можно формализовать в виде минимаксной игры: Формула4.png И, что самое главное, существует такой набор условий, при котором мы можем математически гарантировать сходимость обучения, что в конечном счёте и обуславливает эффективность GAN'ов.

В идеальном мире в процессе совместного обучения примеры порождаемые Генератором будут всё более похожи на исходные, и, в конце концов, Дискриминатор не сможет отличить первые от вторых. На простых датасетах типа MNISTа всё так и происходит.

График 2.png Картинка взята из оригинальной статьи GANs

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

Остались вопросы? Напишите в комментариях!

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
🔥 Только до 28.02
Успейте приобрести курсы февраля на выгодных условиях! Подробности в чате.