Неограниченные мощности виртуальных дата-центров, распределенные системы и возможность создавать новые данные на основе ранее изученной информации — всё это позволило принимать эффективные решения, основанные на фактах, а не на интуиции.
Интересно, что создать доступные и революционные инструменты, которые придали индустрии огромный импульс, помогли методики из мира физики. Так, в разработке микроэлектроники, оптических технологий или оптимизации производственных процессов не разобраться без понимания физических законов и теорий.
Более того, знание физики — хард скилл, без которого, вероятно, вы останетесь за бортом прогресса в одной из самых динамично развивающихся областей. Этот тезис иллюстрирует статья «Quanta magazine», перевод которой мы подготовили.
Попросите DALL·E 2 — систему генерирования изображений, созданную в OpenAI, — нарисовать картинку с «золотой рыбкой, пьющей кока-колу на пляже», и она выдаст именно такой сюрреалистичный сюжет. При обучении модель должна была встретить изображения пляжей, золотой рыбки и кока-колы, но очень маловероятно, что ей попалась картинка сразу со всеми этими тремя элементами. И всё же DALL·E 2 может так удачно собрать их в единую композицию, что это принесло ей широкую популярность.
DALL·E 2 — представитель генеративных моделей: система, пытающаяся на основе ранее изученных данных создавать что-то новое, сравнимое по качеству и разнообразию. На сегодня это одна из сложнейших задач в машинном обучении.
Первые важные генеративные модели для создания изображений использовали нейросети: программы, состоящие многочисленных слоёв с вычислительными модулями — искусственными нейронами. Но, несмотря на рост качества генерируемых изображений, применявшиеся ранее нейросети оказались ненадёжными и сложнообучаемыми. Тем временем лежавшая без дела мощная генеративная модель, созданная докторантом [ученым, готовящимся к защите докторской диссертации], увлекающимся физикой, внезапно ожила благодаря техническим находкам двух аспирантов.
Речь идет о DALL·E 2. Ключевая находка, лежащая в основе создаваемых моделью изображений, — как и у её конкурентов Stable Diffusion и Imagen, — пришла из мира физики. Речь идёт о диффузионной модели, авторов которой во многом вдохновила термодинамика неравновесных процессов, которая описывает такие явления, как распределение жидкостей и газов. Вообще говоря, сегодня в машинном обучении важную роль играет немало методик, которые пришли из мира физики.
И хотя реалистичные изображения, создаваемые диффузными моделями, иногда отражают социальные и культурные предубеждения, всё же генеративные нейросети полезны для решения задач, которые улучшают качество прогнозных ИИ-моделей.
Высокие вероятности
Чтобы понять, как создаются исходные данные для изображений, разберём пример с картинкой из двух прилегающих друг к другу серых пикселей. Это изображение можно полностью описать двумя значениями оттенков пикселей (от нуля для абсолютно чёрного до 255 для абсолютно белого). Эти значения можно использовать для генерирования двумерного изображения.
Если мы отобразим множественные изображения в виде точек, то могут образовываться кластеры — определённые изображения и соответствующие им значения пикселей, возникающие чаще других. Теперь представьте некую поверхность над плоскостью, изменение высоты которой соответствует плотности кластеров. Эта поверхность отражает вероятностное распределение. Отдельные точки окажутся рядом с самыми высокими и самыми низкими участками поверхности.
DALL·E 2 сгенерировала эти изображения по фразе «goldfish slurping Coca-Cola on a beach»
Теперь вы можете использовать это вероятностное распределение для создания новых изображений. Для этого нужно случайно генерировать новые точки данных, при этом соблюдая ограничение, согласно которому вы чаще генерируете более вероятные данные — этот процесс называется «выборкой» распределения. Каждая новая точка — новое изображение.
Тот же анализ применим и к более реалистичным чёрно-белым фотографиям, скажем, каждой из одного миллиона пикселей. Только в этом случае для отображения картинки потребуется не две оси, а миллион. Вероятностное распределение для таких изображений будет представлять собой поверхность размерностью миллион плюс один. Если вы сделаете выборку из такого распределения, то получите значения для миллиона пикселей. Напечатайте их на листе бумаги, и картинка будет выглядеть похожей на фотографию из исходного набора.
Трудность создания генеративных моделей заключается в том, чтобы выяснить сложность вероятностного распределения для набора обучающих изображений. Распределение полезно отчасти потому, что содержит обширную информацию о данных, и отчасти потому, что исследователи могут комбинировать распределения для разных типов данных (например, текста и изображений) для получения сюрреалистического результата, вроде золотой рыбки, пьющей колу на пляже. Можно смешать и сопоставить различные концепции и получить совершенно новые сценарии, не встречавшиеся в обучающих данных.
Реалистичные изображения впервые были созданы в 2014 году генеративно-состязательной сетью (generative adversarial network, GAN). Но подобные модели трудно обучать: они могут и не научиться полному вероятностному распределению, замкнувшись на создании изображений на основе лишь какой-то части общего распределения. Например, GAN, обученная на изображениях разных животных, может создавать картинки одних лишь собак. Поэтому требовалось разработать более устойчивые решения. И одно из них предложил Яша Золь-Дикштайн (Jascha Sohl-Dickstein), вдохновившийся физическими концепциями.
Сгустки шума
Когда изобретали GAN, Золь-Дикштайн был докторантом в Стенфордском университете. Он работал над генеративными моделями, попутно увлекаясь неравновесной термодинамикой. Это направление в физике посвящено изучению систем, не находящихся в температурном равновесии — в них протекает внутренний перенос материи и энергии, а также обмен ими с окружающей средой.
В качестве примера неравновесной системы можно привести каплю чернил, растворяющуюся в стакане воды. Сначала в одном месте — в точке — возникает тёмный сгусток. Если для этой точки вы захотите вычислить вероятность обнаружения молекулы чернил в объёме стакана, то вам понадобится вероятностное распределение, которое ясно моделирует начальное состояние, прежде чем чернила начнут распределяться. Но такое распределение будет сложным, из него трудно будет делать выборку.
Однако в конце концов чернила растворятся в воде и поменяют её цвет. Это приводит к гораздо более простому, более равномерному вероятностному распределению молекул, которое можно описать несложным математическим выражением. Неравновесная термодинамика описывает распределение на каждом этапе диффузии. Важно, что все этапы являются обратимыми: если они достаточно малы, то можно вернуться от простого распределения обратно к сложному.
Золь-Дикштайн использовал эти принципы диффузии для разработки алгоритма генеративного моделирования. Идея простая: сначала алгоритм превращает сложные изображения из обучающего набора в простой шум — то есть пытается перейти от сгустка чернил к равномерно окрашенной воде, — а потом учит систему обратному процессу, превращению шума в изображения.
Вот как это работает. Сначала алгоритм берёт изображение из обучающего набора. Как и прежде, будем считать, что у каждого из миллиона пикселей есть какое-то значение, и мы можем отобразить картинку в виде точки в миллиономерном пространстве. На каждом этапе алгоритм добавляет к каждому пикселю некий шум, аналогичный диффузии чернил спустя какой-то короткий промежуток. По мере протекания этого процесса значения пикселей будут постепенно утрачивать связь со значениями из исходного изображения, пиксели будут всё больше выглядеть как распределение шума. Также на каждом этапе алгоритм слегка сдвигает значение каждого пикселя к началу координат всех осей. Это не даёт значениям расти слишком сильно, чтобы компьютерам легче было справляться с вычислениями.
Когда всё это будет проделано для всех изображений из обучающего набора, исходное сложное распределение точек в миллиономерном пространстве (которое не получится легко описать и из которого трудно делать выборки) превращается в простое, нормальное распределение точек вокруг начала координат. Последовательность трансформаций очень медленно превращает распределение исходных данных в простой шар шума. Этот «прямой процесс» позволяет получить распределение, из которого легко делать выборки.
Затем в дело вступает машинное обучение: нейросеть берёт зашумлённые изображения, полученные на каждом этапе прямого процесса, и учится прогнозировать менее зашумлённые изображения из предыдущего этапа. Сначала нейросеть ошибается, и нужно настраивать её параметры для получения более качественного результата. В конце концов у неё получается надёжно превращать зашумлённую картинку, представляющую собой выборку из простого распределения, в картинку, представляющую собой выборку из сложного распределения.
Так мы получим полностью обученную генеративную модель. Теперь для выполнения прямого процесса вам даже не нужно исходное изображение, потому что у вас есть полное математическое описание простого распределения, из которого вы можете брать выборки. Нейросеть способна превратить эту выборку — по сути, просто статичную — в финальное изображение, которое похоже на картинку из обучающего набора.
Предвидение будущего
Золь-Дикштайн опубликовал алгоритм диффузионного моделирования в 2015 году, но ему пока было далеко до результатов работы GANов. Хотя диффузионные модели могли делать выборки по всему распределению и никогда не замыкались только на какой-то части изображений, получавшиеся картинки выглядели хуже, а генерирование шло слишком медленно. Проложить путь от исходной разработки до современных диффузионных моделей вроде DALL·E 2 удалось двум студентам, не знакомым ни с Золь-Дикштайном, ни друг с другом.
Первым был Сонг (Song), аспирант в Стенфорде. В 2019 году он со своим научным руководителем опубликовал новый метод создания генеративных моделей, которые вычисляют не вероятностное распределение данных (многомерную поверхность), а градиент распределения (можно назвать это наклоном многомерного пространства).
Сонг обнаружил, что его метод работал лучше, если сначала исказить каждое изображение из обучающего набора возрастающим уровнем шума, а затем попросить нейросеть построить исходное изображение с помощью градиентов распределения, эффективно очистив его от шума. Однажды обученная, его нейросеть взяла зашумлённую картинку из простого распределения и последовательно превратила её снова в изображение из обучающего набора. Качество было отличным, но модель всё ещё делала выборку очень медленно. И этого Сонг добился, не будучи знакомым с работой Золь-Дикштайна.
В 2020 году другой студент заметил сильное сходство между двумя разработками и понял, что идеи Сонга могут улучшить диффузионные модели Золь-Дикштайна. Джонатан Хо недавно закончил свою докторскую диссертацию о генеративном моделировании в Университете Калифорнии, но всё ещё продолжал трудиться над этой темой. Он переработал модель Золь-Дикштайна с учётом идей Сонга и других наработок из мира нейросетей. Интуиция его не подвела. Хо с коллегами представил свою новую диффузионную модель в 2020 году в работе «Denoising Diffusion Probabilistic Models». Вскоре она стала настолько популярна, что исследователи стали называть такие модели просто DDPM.
Согласно одному бенчмарку качества изображений, который сравнивает распределение сгенерированной картинки с распределением обучающего набора, DDPM были сравнимы или превосходили прочие генеративные модели, в том числе GANы. Вскоре на работу Хо обратили внимание крупные компании, и на основе DDPM возникли DALL·E 2, Stable Diffusion, Imagen и другие коммерческие модели.
У современных диффузионных моделей есть ещё один ключевой ингредиент: большие языковые модели (large language model, LLM), такие как GPT-3. Это генеративные модели, которые на текстах из интернета обучены вероятностным распределениям слов, а не изображений. В 2021 году Хо, теперь уже исследователь в одной из компаний, со своим коллегой Тимом Саллимансом из Google Research и командами из других стран показал, как сочетать информацию из LLM и диффузионных визуализационных моделей, чтобы с помощью текста управлять диффузией, а следовательно и генерированием изображений. Этот процесс под названием «управляемая диффузия» обеспечил успех таких моделей, как DALL·E 2, создающих картинки по текстовым описаниям.
Генерирование проблем
Насколько бы ни были популярны эти модели, изображения из DALL·E 2 и ей подобных всё ещё далеки от идеала. Большие языковые модели могут отражать в генерируемых ими текстах социальные и культурные предубеждения. LLM, обученные вероятностному распределению из подобных текстов, становятся пропитаны содержащимися в них предубеждениями. Кроме того, для обучения диффузионных моделей изображения из интернета берут без предварительного модерирования, и они тоже могут отражать какие-то предубеждения. Неудивительно, что результаты работы подобных моделей иногда отражают недостатки общества.
Например, по словам Анимы Анандкумар (Anima Anandkumar), исследователя из Калифорнийского технологического института и старшего директора по исследованиям в области машинного обучения в Nvidia, когда она попыталась сгенерировать для себя стилизованные аватарки, то была потрясена их сексуализированностью, в отличие от мужских изображений. Проникновение предубеждений в модели можно снизить модерацией и фильтрованием данных (крайне сложная задача, учитывая объёмы информации) или внедрением проверок на входе и выходе из моделей.
Заключение
У диффузионных моделей большое будущее. Скажем, команда под руководством той же Анандкумар разработала модели для создания синтетических обучающих данных недостаточно представленных классов, например, более смуглых тонов кожи для распознавания лиц. Генеративные модели помогут разобраться, как человеческий мозг работает с зашумлённой информацией, или как он строит мысленные образы и обдумывает будущие действия. Создание более сложных моделей поможет разработать ИИ с аналогичными способностями.
Такие вычисления невозможно провести без мощных вычислительных ресурсов, которые крайне трудно развернуть локально на предприятии. Так что если вы хотите хранить и обрабатывать данные, не упираясь в физические ограничения ваших серверов, то лучше всего воспользоваться облачными услугами.