Найти тему
Библиотека программиста

🤖🔢 Математические основы генеративных нейронных сетей: что нужно знать для их изучения

Генеративный ИИ получил широкую известность в 2022 году, благодаря появлению ChatGPT и Midjourney. Однако идея GenAI зародилась очень давно – в конце 1950-х годов, вместе с появлением концепции машинного обучения, а первый математический метод для генерации данных (цепи Маркова) был представлен еще раньше – в 1906 году. Какие разделы математики нужно знать для разработки современных генеративных моделей – расскажем в статье.

Что такое генеративный ИИ

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

Основные отличия генеративных ИИ-моделей от других видов ИИ:

  • Творческие способности – могут генерировать уникальный контент, в то время как другие ИИ-системы в основном используются для задач классификации, анализа, прогнозирования или принятия решений.
  • Вариативность – способны создавать множество разнообразных вариаций на основе одного входного сигнала, в отличие от других ИИ, которые обычно выдают один определенный результат.
  • Использование контекста – могут эффективно использовать неизвестные им ранее данные из контекста. Это позволяет им затем создавать оригинальный контент на темы, с которыми они не сталкивались в процессе обучения.
  • Универсальность – могут быть мультимодальными, то есть способны генерировать различные типы данных (текст, аудио, видео, графику), в то время как другие ИИ-системы используются для решения узких задач, связанных с обработкой и анализом существующего контента.

🤖🎨 Библиотека нейрокартинок

Все самое полезное про нейросети для генерации изображений вы найдете на нашем телеграм-канале «Библиотека нейрокартинок»

🤖🦾 Библиотека робототехники и беспилотников

Все самое полезное про роботов, беспилотники, автопилоты и интернет вещей вы найдете на нашем телеграм-канале «Библиотека робототехники и беспилотников»

🤖🔊 Библиотека нейрозвука

Все самое полезное про нейросети для звука: транскрибации, синтеза речи и музыки вы найдете на нашем телеграм-канале «Библиотека нейрозвука»

Первые генеративные модели

Первыми примитивными примерами генеративного ИИ можно считать статистические модели, которые могли генерировать новые последовательности на основе заданных входных данных. Одна из таких моделей была использована для предсказания итогов президентских выборов в США в 1952 году.

   С помощью статистической модели UNIVAC предсказал победу Дуайта Эйзенхауэра в ноябре 1952 года
С помощью статистической модели UNIVAC предсказал победу Дуайта Эйзенхауэра в ноябре 1952 года

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

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

Первые эпохальные разработки в генеративном ИИ

Стремительное развитие GenAI началось в 2014 году, когда Ян Гудфеллоу и его коллеги представили новый вид ИИ – генеративную состязательную сеть (GAN). Такие сети состоят из двух компонентов – генератора и дискриминатора, которые соревнуются друг с другом, что позволяет им, например, генерировать высококачественные изображения.

   Прогресс GAN с 2014 по 2020
Прогресс GAN с 2014 по 2020

Параллельно с GAN, вариационные автокодировщики (VAE) и рекуррентные нейронные сети (RNN) тоже продемонстрировали впечатляющие способности к генерации нового контента. С тех пор генеративный ИИ развивается с головокружительной скоростью, а конкуренция между ИИ-компаниями становится все более ожесточенной:

  • 2016 – компания DeepMind создала модель WaveNet, способную генерировать реалистичную человеческую речь.
  • 2017 – исследователи NVIDIA разработали технологию прогрессивного обучения GAN, в результате чего сеть смогла создавать фотореалистичные изображения в высоком разрешении.
  • 2019 и 2020OpenAI создала трансформеры GPT-2 и GPT-3, способные генерировать связный, осмысленный текст, похожий на человеческий.
  • 2022OpenAI, Midjourney и Stability AI выпустили модели для генерации изображений по текстовым описаниям.
  • Ноябрь 2022 OpenAI открыла доступ к чат-боту на основе GPT-3.5, набравшему миллион пользователей за 5 дней.
  • Январь 2024 OpenAI продемонстрировала сенсационную модель Sora для генерации видео.
  • Март 2024 – модель Claude 3 Opus, разработанная Anthropic, обошла ChatGPT-4 по всем показателям.
  • Апрель 2024 – модель Udio превзошла способности предудущего лидера Suno и стала эпохальным событием в генерации музыки.

Самые перспективные виды генеративного ИИ

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

  • Вариационные автокодировщики (VAE). Главная особенность этих моделей – способность изучать и «понимать» скрытую структуру входных данных, чтобы затем генерировать новые данные, максимально похожие на реальные. Применяются для синтеза текста и музыки, генерации и восстановления изображений, обнаружения аномалий (например, в сетевой безопасности и медицине).
  • Генеративные состязательные сети (GAN). Широко используются для генерации гиперреалистичных изображений, рендерингов дизайнерских концепций, видео (в особенности дипфейков). Применяются при создании визуальных эффектов (могут, например, реалистично состарить, омолодить или даже «воскресить» актера) и для восстановления/улучшения поврежденных/низкокачественных изображений.
  • Диффузионные модели. Отличаются гибкостью, управляемостью и глубоким «пониманием» структуры данных, позволяют задавать начальное состояние и/или промежуточные шаги. Помимо синтеза реалистичных изображений, видео и музыки, обладают значительным потенциалом в области генерации осмысленного текста.
  • Трансформеры. GPT-модели используют механизм внимания для оптимизации процесса обучения. Эффективное использование контекстных зависимостей обеспечивает высокую универсальность трансформеров: GPT отлично справляются с генерацией, перефразированием и переводом текста и программного кода, оптимально подходят для создания чат-ботов и ассистентов. Мультимодальные трансформеры могут генерировать 3D-модели, изображения, музыку, речь и видео.

***

-3

На курсе «Математика для Data Science» наши опытные преподаватели помогут вам преодолеть любые трудности и покажут, насколько красивой и захватывающей может быть математика.

Программа курса

  1. Школьная математика
  2. Математический анализ
  3. Линейная алгебра
  4. Комбинаторика
  5. Теория вероятностей и математическая статистика
  6. Машинное обучение

🔢 Интересно, хочу попробовать

(function () { let link = document .getElementById ("19a0390d-dca5-4fba-a402-a5c8a1e60932-https://proglib.io/w/1e996c74-26"); if (! link) return; let href = link .getAttribute ("href"); if (! href) return; let prefix = link .dataset .prefix; let action = link .dataset .action; link .addEventListener ("click", function (e) { let data = new FormData (); data .append ("url", href); apiFetch (action, { method: "POST", body: data }) .then (function (res) {}) .catch (function (err) { console .error (err); }); }) })();

Главное отличие генеративных моделей от всех остальных видов ИИ

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

Генеративные модели пытаются представить различные типы данных (изображения, звуки, текст) как выборки из вероятностных распределений. С точки зрения GenAI, цветное изображение – это выборка из совместного вероятностного распределения (R, G, B) пикселей, а предложение –выборка из совместного распределения слов или символов. Проблема в том, что эти совместные распределения обычно охватывают большой набор сложных данных, и как следствие – имеют очень высокую размерность. Например, изображение 100x100 пикселей с 3 цветовыми каналами имеет 30,000-мерное совместное распределение. Это приводит к вычислительным трудностям – напрямую оценить и работать с такими распределениями крайне сложно.

Для решения этой задачи генеративные модели используют следующий подход:

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

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

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

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

Статья по теме

🎲 Теория вероятностей: где она используется и нужна ли она рядовому разработчику

Какие разделы математики нужно знать для разработки генеративного ИИ

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

  • Линейная алгебра и матричные вычисления. Это базовый инструментарий для работы с многомерными данными, которые являются основой для большинства задач в ИИ.
  • Математический анализ. Знание дифференциального и интегрального исчисления, производных и градиентов необходимо для оптимизации моделей и обучения.
  • Теория вероятностей и математическая статистика. Эти разделы необходимы для понимания и моделирования неопределенности, которая присутствует во всех реальных данных.
  • Численные методы оптимизации. Для обучения генеративных моделей требуется применение специальных оптимизационных алгоритмов (градиентный спуск, методы второго порядка, эволюционные алгоритмы, винзоризация, байесовский вывод).

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

  • Графовые вероятностные модели. Это мощный подход к моделированию сложных вероятностных распределений данных, который лежит в основе многих генеративных ИИ-моделей.
  • Теория информации и энтропия. Эти концепции помогают количественно оценивать сложность и неопределенность данных, что критически важно для построения эффективных генеративных моделей.
  • Углубленный матанализ – теория функций и функциональный анализ. Теория функций изучает вопросы представления и приближения функций, их локальные и глобальные свойства, а функциональный анализ занимается бесконечномерными топологическими векторными пространствами и их отображениями. Вместе эти разделы обеспечивают теоретическую основу для глубоких нейронных сетей, которые лежат в основе большинства современных генеративных моделей.
  • Дифференциальная геометрия. Изучение свойств многообразий и метрик в пространстве данных важно для понимания и моделирования распределений сложных данных (3D-графика, видeо и аудио).

Статья по теме

⚗️ 5 областей применения линейной алгебры в программировании

Что почитать

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

Demystifying Deep Learning: An Introduction to the Mathematics of Neural Networks («Понятное глубокое обучение: введение в математику нейронных сетей»), Дуглас Дж. Сантри, 2024

-4

Essential Math for AI: Next-Level Mathematics for Efficient and Successful AI Systems («Необходимая математика для ИИ: продвинутые математические концепции для создания эффективных и производительных ИИ-систем»), Хала Нельсон, 2023

-5

📖 Скачать книгу в тг-канале «Книги для дата сайентистов»

(function () { let link = document .getElementById ("19a0390d-dca5-4fba-a402-a5c8a1e60932-https://t.me/dsprogbook/45-48"); if (! link) return; let href = link .getAttribute ("href"); if (! href) return; let prefix = link .dataset .prefix; let action = link .dataset .action; link .addEventListener ("click", function (e) { let data = new FormData (); data .append ("url", href); apiFetch (action, { method: "POST", body: data }) .then (function (res) {}) .catch (function (err) { console .error (err); }); }) })();

Interpretable Machine Learning («Интерпретируемое машинное обучение»), Кристоф Мольнар, 2023. Книга доступна бесплатно, регулярно обновляется. Содержит подробные объяснения самых свежих ML-концепций.

-6

Model-Based Machine Learning («Модели машинного обучения»), Джон Уинн и коллектив авторов, 2023. Книга отличается простым и понятным объяснением сложных математических концепций.

-7

📖 Скачать книгу в тг-канале «Книги для дата сайентистов»

(function () { let link = document .getElementById ("19a0390d-dca5-4fba-a402-a5c8a1e60932-https://t.me/dsprogbook/151-54"); if (! link) return; let href = link .getAttribute ("href"); if (! href) return; let prefix = link .dataset .prefix; let action = link .dataset .action; link .addEventListener ("click", function (e) { let data = new FormData (); data .append ("url", href); apiFetch (action, { method: "POST", body: data }) .then (function (res) {}) .catch (function (err) { console .error (err); }); }) })();

Книги, которые уже стали классикой:

Mathematics for Machine Learning («Математика для машинного обучения»), Марк Питер Дейзенрот и коллеги, 2020.

-8

📖 Скачать книгу в тг-канале «Книги для дата сайентистов»

(function () { let link = document .getElementById ("19a0390d-dca5-4fba-a402-a5c8a1e60932-https://t.me/dsprogbook/144-58"); if (! link) return; let href = link .getAttribute ("href"); if (! href) return; let prefix = link .dataset .prefix; let action = link .dataset .action; link .addEventListener ("click", function (e) { let data = new FormData (); data .append ("url", href); apiFetch (action, { method: "POST", body: data }) .then (function (res) {}) .catch (function (err) { console .error (err); }); }) })();

Deep Learning («Глубокое обучение»), Ян Гудфеллоу и коллеги, 2019. Последнюю редакцию книги можно почитать бесплатно на сайте авторов.

-9

🤖📖 Больше полезных книг вы найдете на нашем телеграм-канале «Книги для дата сайентистов»