SignalPlus: введение в генеративный ИИ

Первоначальный автор: Стивен Ван

«То, что я не могу создать, я не понимаю».

  • Ричард Фейнман

Предисловие

Вы используете Stable Diffusion и MidJourney для создания потрясающих изображений.

Вы умеете использовать ChatGPT и LLaMa для создания элегантных слов.

Вы переключаетесь между MuseNet и MuseGAN, чтобы создавать горную музыку.

Несомненно, самая уникальная способность человека — творить, но в сегодняшних постоянно меняющихся технологиях мы творим, создавая машины! Машина может рисовать оригинальные иллюстрации (рисовать), сочинять длинную связную статью (писать), сочинять мелодичную музыку (сочинять) и формулировать выигрышные стратегии для сложных игр (играть) в зависимости от стиля. Эта технология называется Генеративный искусственный интеллект (Generative Artificial Intelligence, GenAI), сейчас это только начало революции GenAI, сейчас лучшее время для изучения GenAI.

1. Генерация и различение моделей

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

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

SignalPlus: Введение в генеративный ИИ

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

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

SignalPlus: Введение в генеративный ИИ

При использовании дискриминативной модели каждый пример в обучающем наборе имеет метку (метку).Для приведенной выше задачи двух категорий метка картины Ван Гога обычно равна 1, а метка картины, не принадлежащей Ван Гогу, равна 0. На рисунке выше окончательная предсказанная вероятность модели равна 0,83, поэтому весьма вероятно, что она была сделана Ван Гогом. В отличие от дискриминативной модели, генеративная модель не требует, чтобы примеры содержали метки, поскольку ее цель — генерировать новые данные, а не предсказывать метки для данных.

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

  • Дискриминационная модель моделирует P(y|x) с учетом признаков x для оценки условной вероятности метки y.
  • Модель генерации моделирует P(x), напрямую оценивает вероятность признака x и делает выборки из этого распределения вероятностей для создания новых признаков.

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

2. Генерация каркаса модели

Прежде чем углубиться в структуру генеративной модели, давайте сыграем в игру. Предполагая, что точки на рисунке ниже генерируются каким-то правилом, мы называем это правило Pdata, теперь позвольте вам сгенерировать другое x = (x 1, x 2), чтобы эта точка выглядит как Сгенерированные по тем же правилам Pdata.

SignalPlus: Введение в генеративный ИИ

Как бы вы сгенерировали эту точку? Вы можете использовать заданные точки для создания модели P в уме, и точки, которые вы хотите, могут быть сгенерированы в позициях, занимаемых этой моделью. Можно видеть, что модель Pmodel является оценкой данных P. Тогда простейшая модель Pmodel — это оранжевая рамка на рисунке ниже Точки могут генерироваться только внутри рамки, но не вне ее.

SignalPlus: Введение в генеративный ИИ

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

Теперь мы можем официально предложить основу для генеративного обучения.

SignalPlus: Введение в генеративный ИИ

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

SignalPlus: Введение в генеративный ИИ

Очевидно, что наша модель Pmodel представляет собой упрощение правила Pdata. Изучение точек A, B и C на приведенном выше рисунке может помочь нам понять, успешно ли модель Pmodel имитирует правило Pdata.

  • Точка A не соответствует правилу Pdata, поскольку она находится в море, но может быть сгенерирована моделью Pmodel, поскольку она находится внутри оранжевого прямоугольника.
  • Точка B не может быть сгенерирована моделью Pmodel, потому что она находится за пределами оранжевого прямоугольника, но соответствует правилу Pdata, поскольку появляется на суше.
  • Точка C генерируется моделью Pmodel и соответствует правилу Pdata.

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

3. Первая генеративная модель

Предположим, вы директор по моде (CFO) компании, и ваша работа заключается в создании новой модной одежды. В этом году вы получили 50 наборов данных о модных словосочетаниях (как показано ниже), и вам нужно создать 10 новых модных словосочетаний.

SignalPlus: Введение в генеративный ИИ

Хотя вы директор по моде, вы также являетесь специалистом по данным, поэтому решили использовать генеративные модели для решения этой проблемы. Прочитав приведенные выше 50 картинок, вы решаете использовать пять функций: тип аксессуаров (тип аксессуаров), цвет одежды (цвет одежды), тип одежды (тип одежды), волосы. Цвет (цвет волос) и тип волос (тип волос) для описания модных словосочетаний.

Ниже перечислены 10 основных функций данных изображения.

SignalPlus: Введение в генеративный ИИ

Каждая функция также имеет разное количество собственных значений:

  • 3 типа аксессуаров (тип аксессуаров):

Пустой, Круглый, Солнцезащитные очки

  • 8 цветов одежды:

Черный, Синий 01, Серый 01, Пастельно-Зеленый, Пастельно-Оранжевый, Розовый, Красный, Белый

  • 4 типа одежды:

Толстовка с капюшоном, Комбинезон, Рубашка с круглым вырезом, Рубашка с v-образным вырезом

  • 6 цветов волос:

Черный, Блондинка, Коричневый, Пастельно-розовый, Красный, Серебристо-серый

  • 7 типов волос:

Без волос, Длинные волосы, Пучок, Длинные волосы, Длинные волосы, Прямые, Короткие волосы, Короткие волнистые, Короткие волосы, Короткие, Плоские, Короткие волосы, Вьющиеся

Таким образом, имеется 3 * 8 * 4 * 6 * 7 = 4032 комбинации признаков, поэтому можно представить, что выборочное пространство содержит 4032 точки. Из приведенных 50 точек данных видно, что Pdata предпочитает определенные значения признаков для разных признаков. Из вышеприведенной таблицы видно, что в образе больше белого цвета одежды и серебристо-серого цвета волос. Поскольку мы не знаем реальных данных P, мы можем использовать только эти 50 данных для построения модели P, чтобы она была похожа на данные P.

3.1 Минималистская модель

Один из самых простых способов — назначить параметр вероятности каждой точке из 4032 комбинаций признаков, тогда модель содержит 4031 параметр, потому что сумма всех параметров вероятности равна 1. Теперь проверим 50 данных один за другим, а затем обновим параметры модели **(**θ 1 , θ 2 ,...,θ 4031 ), выражение каждого параметр:

SignalPlus: Введение в генеративный ИИ

Среди них N — количество наблюдаемых данных, а именно 50, а nj — это номер j-й комбинации признаков, появляющейся в 50 данных.

Например, комбинация функций (называемая комбинацией 1) (LongHairStraight, Red, Round, ShirtScoopNeck, White) появляется дважды, затем

SignalPlus: Введение в генеративный ИИ

Например, если комбинация функций (называемая комбинацией 2) из (LongHairStraight, Red, Round, ShirtScoopNeck, Blue 01) не отображается, то

SignalPlus: Введение в генеративный ИИ

В соответствии с приведенными выше правилами мы вычисляем значение θ для всех комбинаций 4031. Нетрудно заметить, что существует множество значений θ, равных 0. Что еще хуже заключается в том, что мы не можем генерировать новые невидимые изображения ( θ = 0 означает, что ни одно изображение с такой комбинацией признаков никогда не наблюдалось). Чтобы исправить это, просто добавьте общее количество функций d к знаменателю и 1 к числителю, метод, называемый сглаживанием Лапласа.

SignalPlus: Введение в генеративный ИИ

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

  1. Репродукции оригинальных картин Ван Гога (нет в оригинальном наборе данных)
  2. Картины из случайных пикселей (не в исходном наборе данных)

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

3.2 Упрощенная модель

Наивная байесовская модель (Naive Bayes) позволяет значительно сократить количество комбинаций вышеперечисленных признаков, и согласно ее модели предполагается, что каждый признак независим друг от друга. Возвращаясь к приведенным выше данным, цвет волос человека (признак xj ) не связан с цветом его одежды (признак xk ), выраженный в математическом выражении:

p(xj | xk) = p(xk)

При таком предположении мы можем вычислить

SignalPlus: Введение в генеративный ИИ

Наивная байесовская модель упрощает исходную задачу "оценка вероятности для каждой комбинации признаков" до "оценка вероятности для каждого признака". Получается, что нам нужно использовать 4031 ( 3 * 8 \ * 4 \ * 6 \ * 7) параметров , теперь требуется только 23 (3 + 8 + 4 + 6 + 7) параметров, и выражение каждого параметра:

SignalPlus: Введение в генеративный ИИ

Среди них N — количество наблюдаемых данных, то есть 50, n*kl — номер k-го признака и ****l ***-е собственное значение под этим номером.

Через статистику 50 данных в следующей таблице приведены значения параметров наивной байесовской модели.

SignalPlus: Введение в генеративный ИИ

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

SignalPlus: Введение в генеративный ИИ

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

SignalPlus: Введение в генеративный ИИ

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

4. Сложности генерации моделей

4.1 Многомерные данные

Как директор по моде, вы успешно сгенерировали 10 новых модных словосочетаний с помощью наивного байесовского подхода.Вы настолько уверены, что ваша модель непобедима, пока не столкнетесь со следующим набором данных.

SignalPlus: Введение в генеративный ИИ

Набор данных больше не представлен пятью функциями, а 32* 32 = 1024 пикселя, каждое значение пикселя может быть от 0 до 255, 0 означает белый, 255 означает черный. В следующей таблице перечислены значения пикселей от 1 до 5 для первых 10 изображений.

SignalPlus: Введение в генеративный ИИ

Используйте одну и ту же модель для создания 10 наборов совершенно новых модных словосочетаний. Ниже приведен результат создания модели. Все они уродливы и похожи, и их нельзя различить по разным признакам. Почему это так?

SignalPlus: Введение в генеративный ИИ

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

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

Этот пример подчеркивает две трудности, которые генеративные модели должны преодолеть, чтобы быть успешными:

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

Чтобы генеративные модели были успешными в многомерных и сильно коррелированных выборочных пространствах, необходимо использовать модели глубокого обучения. Нам нужна модель, которая может вывести соответствующие структуры из данных, а не говорить, какие предположения делать заранее. Глубокое обучение может формировать свои особенности в низкоразмерном пространстве, и это форма репрезентативного обучения (representation learning).

4.2 Обучение представлению

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

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

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

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

SignalPlus: Введение в генеративный ИИ

Нетрудно заметить, что эти банки можно описать только двумя характеристиками: высотой и шириной. Следовательно, мы можем преобразовать многомерное пространство пикселей изображения в двумерное скрытое пространство, как показано на рисунке ниже. Таким образом, мы можем сэмплировать (синие точки) из скрытого пространства, а затем преобразовывать его в изображение с помощью функции отображения f.

SignalPlus: Введение в генеративный ИИ

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

5. Классификация сгенерированных моделей

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

  • явное моделирование (явное моделирование) функции плотности,

Но каким-то образом ограничьте модель, чтобы вычислить функцию плотности, например нормализующую модель ПОТОКА (нормализующую модель ПОТОКА)

Но для аппроксимации функции плотности, такой как вариационный автоэнкодер (iational autoencoder, VAE) и диффузионная модель (диффузионная модель)

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

SignalPlus: Введение в генеративный ИИ

Подведем итог

Генеративный искусственный интеллект (GenAI) — это тип искусственного интеллекта, который можно использовать для создания нового контента и идей, включая текст, изображения, видео и музыку. Как и весь искусственный интеллект, GenAI представляет собой сверхбольшую модель, предварительно обученную с помощью модели глубокого обучения, основанной на большом объеме данных, часто называемой базовой моделью (FM). С GenAI мы можем рисовать больше крутых изображений, писать более красивый текст и сочинять более трогательную музыку, но первый шаг требует от нас понимания того, как GenAI создает новые вещи, как сказал глава статьи Ричард Фейнман: «Я не пойму то, что я не могу создать».

Посмотреть Оригинал
  • Награда
  • комментарий
  • Поделиться
комментарий
Нет комментариев