Объяснение генеративных моделей искусственного интеллекта

Опубликовано: 2024-04-15

Когда вы думаете о генеративных моделях ИИ, вы, вероятно, думаете о больших языковых моделях (LLM), которые произвели такой фурор в последние годы. Однако сам по себе генеративный ИИ возник уже много десятилетий назад, и LLM — это лишь последняя ступень развития. Помимо LLM, для различных инструментов и вариантов использования генеративного ИИ используется множество различных типов генеративных моделей ИИ, например модели диффузии, которые используются для генерации изображений.

В этой статье мы объясним, что такое генеративные модели ИИ, как они разрабатываются, а также предоставим более глубокое погружение в некоторые из наиболее распространенных сегодня генеративных моделей ИИ — достаточно, чтобы дать вам концептуальное понимание этих моделей, которые произведут на вас впечатление. друзьями и коллегами, без необходимости проходить курс обучения в колледже по машинному обучению (ML).

Что такое генеративная модель ИИ?

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

Работайте умнее с Grammarly
Партнер по написанию ИИ для всех, у кого есть работа

Как работают генеративные модели ИИ

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

Для иллюстрации рассмотрим нейронную сеть, которой поручено различать изображения пирогов и пирожных. Сеть анализирует изображение на детальном уровне, разбивая его на пиксели. На самом базовом уровне в сети будут разные узлы, предназначенные для понимания разных пикселей и групп пикселей. Может быть, кто-то проверит, есть ли в десерте прослойки, а кто-то определит, есть ли глазурь или корочка. Каждый узел хранит информацию о характеристиках того, как выглядит пирог по сравнению с тортом, и всякий раз, когда в игру вступает новое изображение, оно обрабатывается через каждый узел для вывода окончательного прогноза.

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

Как разрабатываются генеративные модели ИИ?

Разработка генеративных моделей ИИ включает в себя ряд сложных и взаимосвязанных шагов, обычно выполняемых группами исследователей и инженеров. Эти модели, такие как GPT (генеративный предварительно обученный преобразователь) от OpenAI и другие подобные архитектуры, предназначены для генерации нового контента, имитирующего распределение данных, на которых они обучались.

Вот пошаговое описание этого процесса:

1 Сбор данных

Специалисты по данным и инженеры сначала определяют цели и требования своего проекта, что помогает им собрать широкий и подходящий набор данных. Они часто используют общедоступные наборы данных, которые предлагают огромное количество текста или изображений для их нужд. Например, обучение ChatGPT (GPT-3.5) включало обработку 570 ГБ данных, что эквивалентно 300 миллиардам слов из общедоступных интернет-источников, включая почти весь контент Википедии.

2 Выбор модели

Выбор правильной архитектуры модели — важнейший шаг в разработке генеративных систем искусственного интеллекта. Решение зависит от характера поставленной задачи, типа доступных данных, желаемого качества выходных данных и вычислительных ограничений. Конкретные архитектуры, включая VAE, GAN, а также модели на основе трансформаторов и диффузии, будут обсуждаться более подробно позже в этой статье. На этом этапе важно понимать, что новые модели часто начинаются с уже существующей архитектуры. Этот подход использует проверенные структуры в качестве основы, позволяя вносить усовершенствования и инновации, адаптированные к уникальным требованиям текущего проекта.

3 Обучение модели

Выбранная модель обучается с использованием собранного набора данных с первого шага. Обучение генеративных моделей искусственного интеллекта часто требует больших вычислительных мощностей с использованием специального оборудования, такого как графические процессоры (графические процессоры) и TPU (тензорные процессоры). Хотя подход к обучению различается в зависимости от архитектуры модели, все модели проходят процесс, называемый настройкой гиперпараметров. Именно здесь ученые, работающие с данными, настраивают определенные параметры производительности для достижения наилучших результатов.

4 Оценка и доработка

Наконец, производительность модели оценивается или тестируется в реальном мире. Оценка генеративных моделей ИИ отличается от оценки традиционных моделей МО, поскольку генеративный ИИ создает совершенно новый результат, а качество этого результата имеет тенденцию быть субъективным. Метрики различаются в зависимости от того, что создает модель, а методы оценки генеративного ИИ обычно включают использование людей-оценщиков и могут использовать стратегию, при которой модели генеративного ИИ оценивают друг друга. Информация, полученная на этапе оценки, обычно применяется при точной настройке модели или даже ее переобучении. После проверки работоспособности модели она готова к производству.

Типы генеративных моделей ИИ

Основываясь на наших фундаментальных знаниях о генеративных моделях ИИ и нейронных сетях, которые их поддерживают, мы теперь готовы погрузиться в конкретные типы архитектур моделей, которые появились с начала 2010-х годов. Мы рассмотрим уникальные сильные и слабые стороны каждой модели, а также их практическое применение.

Вот краткий обзор моделей, о которых мы будем говорить:

  • Вариационные автоэнкодеры (VAE)умеют изучать сложные распределения данных и часто используются для таких задач, как создание и редактирование изображений.
  • Генеративно-состязательные сети (GAN)известны своей способностью создавать очень реалистичные изображения и стали популярными в различных творческих приложениях.
  • Модели диффузии— это новый класс моделей, которые генерируют высококачественные образцы посредством процесса постепенного добавления, а затем удаления шума.
  • Языковые моделипревосходно понимают и генерируют человеческий язык, что делает их полезными для таких приложений, как чат-боты и дополнение текста.
  • Модели на основе преобразователейизначально были разработаны для задач обработки естественного языка (NLP), но были адаптированы для использования в генеративных моделях благодаря их мощной способности обрабатывать последовательные данные.

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

Вариационные автоэнкодеры (VAE)

Вариационные автоэнкодеры были изобретены Максом Веллингом и Дидериком П. Кингмой в 2013 году. Они полагаются на тот факт, что нейронная сеть может кодировать концепции высокого уровня, которые модель изучает на этапе обучения. Иногда это называют «сжатием» или «проецированием» необработанных данных.

Например, если модель смотрит на изображение торта, она может превратить его в кодировку, содержащую все характеристики изображения — посыпку, цвет глазури, губчатые слои и т. д. Эта кодировка выглядит как набор чисел, который имеет смысл модель, но не для людей. Его может декодировать другая нейронная сеть, чтобы попытаться воссоздать исходное изображение, хотя в нем будут некоторые пробелы, поскольку кодирование представляет собой сжатие. Этот тип модели, в котором части кодера и декодера работают вместе, называется автокодировщиком.

Вариационные автоэнкодеры реализуют идею автоэнкодера для генерации новых результатов. При создании кодировок VAE использует вероятности вместо дискретных чисел. В конце концов, считаются ли взбитые сливки глазурью? Иногда да; иногда нет.

Оказывается, если обучить нейронную сеть создавать эти вероятностные кодировки, а другую нейронную сеть — их декодировать, можно получить довольно интересные результаты. Декодер может выбирать точки в «пространстве» вариационного кодирования и создавать совершенно новые выходные данные, которые по-прежнему будут выглядеть реалистичными, поскольку они сохранили вероятностные связи обучающих данных.

Преимущества и недостатки

Вариационные автокодировщики используют обучение без учителя, что означает, что модель учится самостоятельно на необработанных данных, не требуя от людей маркировать различные функции или результаты. Такие модели особенно успешны при создании контента, незначительно отличающегося от оригинала. Благодаря тому, как они работают с кодировками, им также можно давать конкретные инструкции, основанные на особенностях обучающих данных: «Покажите мне десерт, который представляет собой идеальную середину между тортом и пирогом». Тем не менее, VAE оптимизируются для вероятных результатов, поэтому они вряд ли преуспеют в создании очень оригинального или новаторского контента.

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

Варианты использования

Вариационные автокодировщики работают со всеми видами данных, но в основном они используются для создания изображений, аудио и текста. Одним из интересных приложений является обнаружение аномалий: в наборе данных VAE могут найти точки данных, которые больше всего отклоняются от нормы, поскольку эти точки будут иметь самую высокую ошибку реконструкции, то есть они будут дальше всего от вероятностей, закодированных VAE.

Генеративно-состязательные сети (GAN)

Генеративно-состязательные сети были разработаны Яном Гудфеллоу в 2014 году. Хотя до этого нейронные сети умели генерировать изображения, результаты, как правило, были размытыми и неубедительными. Основной вопрос (и идея), лежащий в основе GAN, заключается в следующем: что произойдет, если вы столкнете две нейронные сети друг с другом? Один, называемый генератором, обучается генерировать новый контент, а другой, называемый дискриминатором, обучается различать реальный и поддельный контент.

Генератор создает изображения-кандидаты и показывает их дискриминатору. На основании обратной связи генератор соответствующим образом обновляет свои прогнозы, все лучше и лучше «обманывая» дискриминатор. Как только он сможет обмануть дискриминатор в 50% случаев (так же хорошо, как подбрасывание монеты между реальным и фальшивым), цикл обучения обратной связи прекращается. Генераторная часть GAN готова к оценке и производству.

С 2014 года были разработаны сотни вариантов GAN для различных вариантов использования и для того, чтобы сбалансировать присущие им преимущества и недостатки.

Преимущества и недостатки

Генеративно-состязательные сети, наряду с VAE, изначально вызвали много шума вокруг потенциала генеративного ИИ. Они используют обучение без учителя, поэтому модель становится лучше сама по себе, и исследователям не нужно сообщать ей, хороши или плохи ее результаты. Генеративно-состязательные сети также учатся очень быстро; по сравнению с другими существующими решениями, когда они были впервые выпущены, они могли получить хорошие результаты с гораздо меньшим количеством обучающих данных — сотни изображений по сравнению с тысячами.

Однако GAN обычно с трудом создают контент, который не похож на их обучающие данные — они имитаторы, а не создатели. А иногда они могут «переобучить» свои тренировочные данные, например, когда GAN создавали изображения фотографий кошек, содержащих буквы, потому что им показывали много кошачьих мемов.

Обучение GAN — непростая задача. Во время тренировки необходимо жонглировать двумя сетями. Проблемы также могут возникнуть, когда дискриминатор слишком хорош, что приводит к бесконечным циклам обучения, или если дискриминатор недостаточно хорош, что приводит к плохим результатам. Они также могут пострадать от так называемого коллапса режима, когда они не могут выдавать разнообразные выходные данные, потому что генератор изучает несколько способов обмануть дискриминатор и сосредотачивается на этих стратегиях, исключая другие.

Варианты использования

Генеративно-состязательные сети используются в первую очередь для создания контента, очень похожего на оригинал. Например, они могут создавать убедительные человеческие лица или реалистичные фотографии интерьеров или пейзажей для использования в стоковых фотографиях или видеоиграх. Они также могут создавать изображения, которые были каким-либо образом изменены, например, изменение изображения с цветного на черно-белое или состаривание лица на изображении. Тем не менее, не все GAN создают изображения. Например, некоторые GAN использовались для преобразования текста в речь.

Диффузионные модели

Модели диффузии также появились в середине 2010-х годов, предложив некоторые прорывы, которые обеспечили лучшую производительность к началу 2020-х годов. Они используются в таких инструментах создания изображений, как DALL-E, Stable Diffusion и Midjourney.

Модели диффузии работают путем введения гауссовского шума в изображение, его искажения за несколько шагов, а затем обучения модели, чтобы обратить эти шаги вспять и преобразовать «зашумленное» изображение в четкое. («Гауссов шум» просто означает, что шум добавляется случайным образом с использованием колоколообразной кривой вероятностей.)

Вы можете думать о зашумленном изображении как о чем-то вроде кодирования VAE, и действительно, VAE и модели диффузии связаны между собой. Изображения обучающих данных, скажем, лаймового пирога, в конечном итоге будут иметь довольно похожие шумные версии. Но даже одно и то же зашумленное изображение не будет каждый раз «очищаться» до одного и того же, потому что модель по пути делает обоснованные предположения.

Возможно, вы уже догадались, где задействована генеративная часть. Если вы дадите модели представление изображения в зашумленном пространстве, она сможет убрать шум с изображения и создать совершенно новую, четкую картинку. Это похоже на то, как декодер извлекает образцы из кодировки. Но есть одно важное отличие: при этом не было никакого сжатия. Таким образом, реальной потери данных не произошло, и полученное изображение будет более высокого качества.

Генеративные инструменты искусственного интеллекта, которые преобразуют текстовую подсказку в изображение, делают это с помощью отдельной модели, которая понимает, как что-то вроде «праздничного торта на тему единорога» может сопоставляться с различными характеристиками изображения. Затем шумная версия этих функций переворачивается, чтобы показать четкую картину.

Преимущества и недостатки

Модели диффузии не сжимают обучающие данные, поэтому им удается создавать очень реалистичные и качественные изображения. Однако для их обучения требуется значительно больше ресурсов и времени, чем для других моделей. Тем не менее, само обучение является более простым, поскольку оно не сталкивается с коллапсом режима GAN и другими недостатками состязательной сети. Они также не страдают от потери данных (и, как следствие, более низкого качества результатов), как у VAE.

Варианты использования

Модели диффузии в основном используются для генерации изображений, звука и видео. Нет никакой внутренней причины, по которой их нельзя было бы использовать и для генерации текста, но до сих пор модели на основе преобразователей были более эффективны для естественного языка.

Языковые модели

Языковые модели относятся к любому методу машинного обучения, который генерирует вероятностную модель естественного языка. Самым известным типом языковой модели сегодня является LLM, которая обучается на огромных объемах необработанных данных и использует архитектуру на основе преобразователей для генерации текста. (Подробнее о трансформаторах в следующем разделе.)

До появления моделей на основе преобразователей в большинстве современных языковых моделей использовались рекуррентные нейронные сети (RNN). RNN вводят небольшие петли во взаимосвязях между узлами, так что в дополнение к обучению на текущих сигналах, как в традиционной нейронной сети прямого распространения (FNN), узлы также могут учиться на недавнем прошлом. Это важно для обработки или генерации естественного языка, например потока текста или голосового ввода. В отличие от изображений, язык очень контекстуален: то, как мы его интерпретируем, зависит от того, что было раньше.

Преимущества и недостатки

Поскольку «языковые модели» относятся к такой большой группе моделей, трудно сделать общий вывод об их преимуществах и недостатках. Проблемы языкового моделирования включают тот факт, что язык настолько многомерен: в любом языке существует огромное количество разных слов, и некоторые комбинации могут никогда не появиться в обучающих данных.

Более того, язык во многом зависит от контекста того, что было раньше в последовательности, что требует от сети каким-то образом обрабатывать или представлять этот контекст. Способность удовлетворить эту потребность привела к тому, что RNN с долговременной и краткосрочной памятью, а затем и преобразователи, которые могут обрабатывать все предложение целиком, стали современной архитектурой для языковых моделей.

Варианты использования

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

Трансформаторные модели

Трансформеры, изобретенные исследователями Google и Университета Торонто в 2017 году, произвели революцию в области глубокого обучения. LLM, такие как ChatGPT, представляют собой модели на основе преобразователей, и результаты поиска Google также основаны на преобразователях.

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

При анализе текста модель использует это базовое понимание для построения объекта, напоминающего огромную электронную таблицу. Он может найти любые два слова в тексте и получить ответ о том, насколько они, вероятно, связаны.

Используя эти контекстуальные сигналы, модель преобразователя умело интерпретирует язык и прогнозирует потенциальную непрерывность разговора. Например, если кто-то упоминает торт в одном сегменте, а затем переходит к обсуждению своего дня рождения в следующем, модель предвидит возможное упоминание свечей или вечеринки на основе установленных лингвистических связей.

Преимущества и недостатки

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

Однако для хорошей работы преобразователям требуется много данных, а с меньшими наборами данных более традиционные архитектуры нейронных сетей могут работать лучше.

Варианты использования

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

Наиболее известны модели LLM, основанные на трансформаторах. Языковые модели используют только декодерную часть архитектуры. Подсказка вводится в модель как кодировка — тот набор числовых значений, вероятностей и данных о внимании, о которых мы упоминали ранее. Модель декодирует ввод, используя механизм самообслуживания и параллельно просматривая все слова в подсказке. Цель модели — вывести прогноз для следующего слова в предложении.

Трансформеры имеют множество применений, помимо генерации текста при обработке естественного языка. Фактически, изначально они были задуманы для перевода или преобразования текста с одного языка на другой. Компания Grammarly провела исследование по использованию преобразователей для исправления грамматических ошибок.

Работайте умнее с Grammarly
Партнер по написанию ИИ для всех, у кого есть работа

Заключение

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