Всем привет! Меня зовут Анна Васильева, руководитель отдела развития технологий и методологии ДКМ Fix Price. Предлагаю подробно рассмотреть основные принципы работы генеративных моделей для создания текста и изображений: решения, основанные на генеративных моделях, позволяют существенно упростить процесс создания контента и открывают новые возможности для оптимизации рабочих процессов. Мы пройдемся по ключевым алгоритмам, лежащим в основе этих моделей, а также рассмотрим некоторые варианты применения выбранных решений, что позволит лучше понять их потенциал.
Определение и основные типы генеративных моделей
Генеративные модели — это тип моделей машинного обучения, которые обучаются на больших наборах информации и способны создавать образцы данных, похожие на те, что были в тренировочном наборе. Таким образом, генеративные модели создают новый контент, что делает их особенно полезными для задач, связанных с оптимизацией рабочего процесса. Есть несколько типов нейросетей, на которых основаны генеративные модели. У каждой свои особенности и области применения.
Глубокие нейронные сети (Deep Neural Networks, DNN) — основа многих современных генеративных моделей. Состоят из слоев нейронов, где каждый слой обрабатывает данные и передает их на следующий уровень. Используются для обнаружения сложных зависимостей и представлений, необходимых для создания новых данных.
Автоэнкодеры (Autoencoders) — это особый вид нейронных сетей, предназначенный для сжатия данных. Сначала они преобразуют входные данные в упрощенное, или сжатое, представление, а затем восстанавливают их обратно в исходный формат. Этот процесс позволяет автоэнкодерам изучать важные характеристики данных и эффективно уменьшать их размер.
Генеративно-состязательные сети (Generative Adversarial Networks, GAN) состоят из генератора, который создаёт новые данные, имитируя реальные, и дискриминатора, который пытается отличить сгенерированные данные от реальных. Состязание сетей постепенно улучшает качество сгенерированных данных. GAN применяют в разработке реалистичных моделей для создания изображений и видео.
Вариационные автоэнкодеры (Variational Autoencoders, VAE) — улучшенная версия автоэнкодеров, которая кодирует данные с учетом вероятностей, что позволяет не только восстанавливать исходные данные, но и генерировать новые. Это делает VAE особенно полезными для задач, где требуется генерировать новые реалистичные данные.
Теперь рассмотрим конкретные модели, которые используются для генерации текста и изображений, и примеры их использования в нашей компании.
Генерация текста
Самым известным семейством моделей для генерации текста является GPT (Generative Pre-trained Transformer), который разрабатывается компанией OpenAI с 2017 года. Основой этих моделей является архитектура трансформеров, которая стала революционной в обработке естественного языка.
Работает это следующим образом. GPT использует архитектуру, состоящую из слоев самообучения (self-attention) и слоев с полными связями. Модель сначала обучается на огромных объемах текстовых данных, чтобы понять структуру языка, синтаксис и семантику. Этот этап называется предобучением. На следующем этапе модель может быть дообучена на меньших объемах данных для решения более специализированных задач, что называется тонкой настройкой (fine-tuning).
Во время генерации текста GPT получает начальную последовательность слов (промпт) и, используя свою способность предсказывать следующие слова, продолжает текст. Модель использует вероятностные распределения для выбора каждого следующего слова, что позволяет создавать связные и осмысленные тексты.
Где применяется GPT:
Чат-боты и виртуальные ассистенты. GPT используется для создания диалоговых систем, которые могут вести беседы, выглядящее естественно.
Автоматическое написание статей и контента. Модель помогает генерировать описания продуктов, новости и другие виды текстов.
Перевод и суммаризация. GPT применяется для улучшения качества автоматического перевода и создания кратких резюме больших текстов.
Креативные задачи. Генерация «заготовок» для стихотворений и рассказов, создание сценариев.
Мы в Fix Price используем GPT 4 в рамках студии видеодизайна для создания и редактирования текстов, применяемых в креативах, а также для написания и проверки кода, необходимого для разработки программ и утилит. Одним из примеров такого использования является разработка части кода для внутреннего программного обеспечения, которое автоматизирует рутинные задачи и освобождает ресурсы для креативов и выполнения более сложных задач.
Однако GPT не единственное семейство моделей, используемое для генерации текстового контента. Есть также BERT (Bidirectional Encoder Representations from Transformers) — семейство моделей, тоже основанное на трансформерной архитектуре, но с ключевым отличием: оно обучается с использованием двунаправленного контекста, то есть учитывает как предшествующие, так и последующие слова при обучении. Эта способность позволяет BERT лучше понимать контекст и значения слов в предложении.
BERT использует метод предобучения, включающий две основные задачи: маскированное моделирование языка (Masked Language Modeling, MLM) и предсказание следующего предложения (Next Sentence Prediction, NSP). В задаче MLM некоторые слова в предложении маскируются, и модель учится предсказывать их, основываясь на контексте. В задаче NSP модель учится понимать связь между двумя предложениями.
Основное отличие BERT от GPT заключается в направлении обработки текста:
GPT предсказывает следующее слово, основываясь только на предыдущих словах.
BERT, в свою очередь, использует двунаправленный подход, анализируя как предыдущие, так и последующие слова одновременно.
Это делает BERT более подходящей для задач, связанных с пониманием текста, таких как классификация, вопросно-ответные системы, тогда как GPT превосходит BERT в генерации связных текстов.
Где применяется BERT:
Обработка вопросов и ответов. Модель используется там, где нужно находить ответы на заданные вопросы в больших объемах текста.
Классификация текста. BERT применяется для задач классификации, таких как определение «настроения» текста или классификация документов.
Обнаружение данных. Модель помогает находить и классифицировать упоминания людей, организаций, мест и другой информации в тексте.
Перевод и резюмирование. Благодаря глубокому пониманию контекста BERT используется для улучшения качества перевода и создания кратких резюме текстов.
Мы, как бизнес, представленный в нескольких странах, активно применяем искусственный интеллект для перевода текстов с русского на иностранные языки. Fix Price следует этой тенденции и успешно использует модели для генерации текста в работе. Так, техническую информацию о товарах мы переводим с помощью ИИ. Используя нейросети также оптимизируем бюджет, благодаря сокращению расходов на агентства по переводу.
Генерация изображений
Для генерации графического контента используются модели двух типов: DCGAN и StyleGAN.
Deep Convolutional Generative Adversarial Networks (DCGAN) — это расширение традиционных генеративно-состязательных сетей (GAN), разработанное для работы с изображениями. В DCGAN используются сверточные нейронные сети (CNN) как в генераторе, так и в дискриминаторе, что позволяет моделям эффективно обрабатывать практически любые изображения.
Где применяется DCGAN:
Создание реалистичных изображений. DCGAN может генерировать изображения, которые выглядят как реальные.
Увеличение данных. Генерация новых образцов для увеличения объема тренировочных данных в различных задачах машинного обучения.
Перенос стиля. DCGAN может использоваться для переноса стиля одного изображения на другое.
StyleGAN (Style-Based Generator Architecture for Generative Adversarial Networks) — это улучшенная версия GAN, разработанная для генерации высококачественных и фотореалистичных изображений. StyleGAN представляет несколько инноваций, которые делают ее одной из самых продвинутых моделей для генерации изображений.
Главная особенность StyleGAN заключается в раздельной обработке информации о стиле. Это позволяет независимо друг от друга управлять различными аспектами генерируемого изображения, такими как поза, выражение лица, цвет и текстура. Также StyleGAN использует процедурные методы для генерации изображений, что позволяет получать очень детализированные и реалистичные результаты. Кроме того, обучение StyleGAN начинается с генерации изображений низкого разрешения, а затем разрешение постепенно увеличивается. Это улучшает стабильность обучения и качество конечных изображений.
Где применяется StyleGAN:
Создание фотореалистичных изображений. StyleGAN используется для создания изображений, которые фактически неотличимы от реальных фотографий людей, животных и объектов.
Редактирование изображений. Возможность точной настройки различных аспектов картинки позволяет создавать художественные эффекты и производить точные манипуляции с изображениями (например, заменять определенные фрагменты на более подходящие).
Создание медиа-контента. Генерация аватаров, персонажей для видеоигр, анимационных фильмов.
Мы в Fix Price прибегаем к помощи инструментов, основанных на принципах генеративно-состязательных нейронных сетей, при создании визуальных элементов и креативов для использования в видеопродакшене, рекламных баннерах и e-mail рассылках. Для производства визуального контента дизайнеры используют несколько инструментов. Первый — Kandinsky. Мы применяем модель для раскадровки сцен. Нейросеть проста в использовании и хорошо понимает запросы на русском языке.
Вторая генеративная модель — Generative Fill в Photoshop. С ее помощью мы дорисовываем фон к изображениям и создаем отдельные элементы статичной анимации. Также используем Generative Fill для создания генеративной заливки фона на видео.
Пример 1. Генерация фона в Generative Fill
Пример 2. Генерация GIF в Generative Fill
Надеемся, этот краткий обзор поможет разобраться, как работают генеративные модели, создающие текстовый и графический контент. Что же касается конкретных продуктов, основанных на описанных выше технологиях, то это тема отдельных статей. И, возможно, мы поговорим о них в будущем.