Что такое генеративная адверсарная сеть? Простое руководство

Что такое генеративная адверсарная сеть? Простое руководство
Искусственный интеллект (ИИ) переживает нечто вроде ["Кембрийского взрыва"] (https://www.pbs.org/wgbh/evolution/library/03/4/l_034_02.html). То, что еще недавно казалось научной фантастикой, за последние несколько лет превратилось в реальность. И интерес к нему только растет благодаря появлению таких инструментов, как ChatGPT. Но, как и в случае с кембрийским взрывом, эволюционный скачок ИИ - это не просто что-то одно. На самом деле существует множество направлений, по которым мы одновременно развиваем программное обеспечение ИИ.
В этом посте мы расскажем об одном из таких видов ИИ: генеративных состязательных сетях, эффективной модели ИИ, используемой для решения различных задач.
Дискриминативный против генеративного
Подобно тому, как мы классифицируем ископаемых животных по доменам, царствам и филам, мы классифицируем и сети ИИ. На самом высоком уровне мы классифицируем сети ИИ как "дискриминационные" и "генеративные". Генеративная нейронная сеть - это ИИ, который создает что-то новое. Это отличается от дискриминационной сети, которая классифицирует что-то уже существующее по определенным категориям. Примерно так же, как мы делаем это сейчас, распределяя генеративные состязательные сети (GAN) по соответствующим классификациям.
Так, если бы вы оказались в ситуации, когда вам нужно использовать текстовые теги для создания нового визуального образа, как в случае с Midjourney, вы бы использовали генеративную сеть. Однако если бы у вас была огромная куча данных, которые нужно было бы классифицировать и пометить, вы бы использовали дискриминативную модель.
Где находится генеративная адверсарная сеть?
Из названия следует, что GAN является генеративной. Но второе слово здесь тоже очень важно. GAN - это умное применение как дискриминативных, так и генеративных моделей. Модель GAN обучается на начальной группе классифицированных обучающих данных. Затем генеративная модель пытается сгенерировать новые экземпляры, которые, по ее мнению, соответствуют модели. Во втором раунде дискриминативная модель получает как сгенерированный контент, так и контент обучающего набора. Она попытается классифицировать контент как сгенерированный или как часть обучающего набора.
Это и есть адверсарная часть аббревиатуры GAN. Генеративная часть модели пытается создавать все более и более качественный контент, пока не сможет надежно "обмануть" дискриминативную модель. Основная цель GAN - обучить генеративную модель, которая генерирует высококачественный контент, но для достижения этой цели используются как генеративные, так и дискриминативные модели.
Supervised vs. Unsupervised
После классификации доменов на дискриминативные и генеративные, следующая классификация - "контролируемая" или "неконтролируемая" модель. Это классификация, которая может быть немного более мутной. Хотя классификация на контролируемые и неконтролируемые является поучительной, многие типы моделей ИИ используют гибридный подход. Модель с супервизией, как следует из названия, обычно предполагает человеческий контроль на этапе обучения. Этап обучения модели с супервизией включает в себя несколько раундов исходных данных и желаемых результатов.
Неконтролируемые модели, как следует из названия, работают при меньшем участии человека или вообще без него. Цель модели - взять исходный обучающий набор и пройти несколько раундов все более совершенного обучения, чтобы после каждого раунда генерировать лучший контент.
К какому типу относится генеративная адверсарная сеть?
GAN - это неконтролируемая модель искусственного интеллекта. Стиль обучения "спина к спине" в состязательных циклах предназначен для постоянного улучшения генерируемого контента. Разработчику, работающему с GAN, необходимо предоставить высококачественные классификации исходного обучающего набора данных и обеспечить вычислительную мощность для выполнения нескольких итераций. Но как только вы обеспечите необходимые ресурсы, вы сможете запускать GAN с минимальным взаимодействием с человеком.
Генеративная адверсарная сеть против конволюционной нейронной сети
Частый вопрос, возникающий у начинающих разработчиков, работающих с GAN, - как они соотносятся с конволюционной нейронной сетью (CNN). CNN - это тип дискриминационной модели, которая используется для классификации данных на основе существующего помеченного контента. Многие GAN используют CNN в качестве дискриминационной модели, которая бросает вызов сгенерированному контенту в первом начале цикла обучения. CNN очень часто используются для классификации изображений для использования в компьютерных архитектурах распознавания образов.
CNN также иногда используются в качестве генеративного шага в архитектуре GAN. Использование CNN для генерации контента на выходе генеративного шага обычно требует добавления дополнительной логики, такой как вариативный автоэнкодер, а не использования традиционного CNN. Если использовать этот инструмент в сочетании с традиционным CNN, можно использовать CNN как для генерационного, так и для состязательного этапов процесса обучения GAN.
Часто задаваемые вопросы
Теперь, когда мы имеем довольно хорошее представление о том, что такое GAN и что он делает, давайте рассмотрим несколько часто задаваемых вопросов о GAN и о том, почему вы можете выбрать его для своего проекта.
Каковы некоторые распространенные способы использования GAN?
Одно из главных преимуществ GAN заключается в том, что она может генерировать реалистичные примеры самого разнообразного контента. При наличии соответствующих обучающих данных вы можете использовать текстовые подсказки для создания любого из следующих видов контента:
- Изображения
- Аудиоконтент (например, музыка)
- Преобразование черно-белых изображений в цветные
- Преобразование нарисованных от руки эскизов в фотореалистичные изображения
- Предсказание будущих кадров видео на основе предыдущих кадров
- Создание deepfakes
Почему вы выбрали генеративную адверсарную сеть?
Мы много говорили о том, как классифицируются GAN, как они работают и что могут делать. Но мы не ответили на простой вопрос: почему вы решили использовать GAN? Одна из причин, по которой вы можете использовать GAN, - это проблемы, для решения которых у вас нет большого набора данных для обучения. Природа GAN заключается в том, что вы можете работать с ограниченным количеством обучающих данных, а затем позволить GAN генерировать больше данных, которые будут снова использоваться в процессе обучения. Многие системы машинного обучения требуют обучения на значительном количестве предварительно помеченных данных. При использовании GAN такого требования нет.
GAN также особенно сильны в работе с изображениями и их генерации. Будь то создание новых изображений на основе текстовых подсказок или обновление входного изображения с помощью сгенерированного контента, GAN интересны тем, что дают визуально впечатляющие результаты.
Почему стоит избегать использования генеративной адверсарной сети?
Если вы подумываете о том, чтобы использовать GAN, вам следует учесть несколько недостатков. Для начала, GAN не подходит, если вы пытаетесь обучить свою модель по дешевке. Обучение GAN особенно дорого из-за многоступенчатого цикла обучения и необходимости проходить несколько раундов обучения. Поэтому, если вы пытаетесь уложиться в строгий бюджет, использование GAN может оказаться не самым лучшим выбором.
Кроме того, GAN иногда подвергаются так называемому mode collapse, когда на выходе получается ограниченное подмножество обучающих данных, а не то разнообразие, на которое вы рассчитываете.
GAN обеспечивают большую полезность, когда они подходят
Возвращаясь к нашей эволюционной метафоре, GAN - это не краб и не черепаха. Это не животное, которое вы увидите все еще выполняющим ту же роль через несколько лет. Вместо этого GAN развиваются. Исследователи все еще выясняют, на что способны GAN, как их лучше разрабатывать и обучать. Если вы думаете о внедрении машинного обучения в свои рабочие процессы, изучение GAN имеет большой смысл, но, возможно, они не являются подходящим инструментом для вашей работы. Если они не кажутся таковыми, то не стоит пытаться впихнуть их в работу, где они не подходят. Но если вы выполняете работу, которая подходит для GAN, особенно манипулирование изображениями или их создание, то внедрение и обучение GAN, скорее всего, принесет большие преимущества вашим рабочим процессам.
Посмотрите Zilliz, экономически эффективный алгоритм векторной базы данных.
- Дискриминативный против генеративного
- Supervised vs. Unsupervised
- Генеративная адверсарная сеть против конволюционной нейронной сети
- Часто задаваемые вопросы
- GAN обеспечивают большую полезность, когда они подходят
Контент
Начните бесплатно, масштабируйтесь легко
Попробуйте полностью управляемую векторную базу данных, созданную для ваших GenAI приложений.
Попробуйте Zilliz Cloud бесплатно