Спикер о вебинаре:
А.Н. Колмогоров — крупнейший математик XX века, основоположник современной теории вероятностей, также заложивший основы теории марковских случайных процессов с непрерывным временем. Эти результаты, оказавшие огромное влияние на развитие прикладных методов обработки сигналов, фильтрации, моделирования и обработки финансовых данных, в 21 веке снова оказались в центре внимания в связи с развитием искусственного интеллекта и его приложений.
Действительно, для решения таких важных прикладных задач, как повышение разрешения изображений, синтезирование речи по тексту, генерация изображений на основе текстовых описаний, и др. требуются эффективные методы генеративного моделирования, которые способны порождать объекты из распределения, задаваемого выборкой примеров. Недавние достижения в области генеративного моделирования как раз и базируются на диффузионных моделях и используют математическую основу, заложенную еще в прошлом веке А.Н. Колмогоровым и его последователями.
В докладе будет рассказано о современных подходах к генеративному моделированию на основе диффузионных процессов и на основе решения задачи Монжа-Канторовича. Будет показана связь решения энтропийно-регуляризованной задачи Монжа-Канторовича с задачей построения диффузионного процесса с определенными экстремальными свойствами. Работа соответствующих алгоритмов будем продемонстрирована на примере решения различных задач обработки изображений.
Презентация: https://drive.google.com/file/d/1NV0OkagOYdYF_LylDtVpOzPo-PQxLcfA/
Видеозапись: https://youtu.be/fSbAHoCoUOk
Расшифровка вебинара:
Расшифровка выполнена с помощью системы автопрокотолирования Protocol.AI, разработанной НТР
Речь идет о генерировании изображений, даже тех, которые не существуют и могут соответствовать какому-либо текстовому описанию. Сегодня я поговорю о нескольких классах алгоритмов, которые могут решать эту задачу. И почему это вообще связано с искусственным интеллектом? А потому, что существуют два типичных подхода к решению подобных задач, и между ними есть некая связь, о которой я расскажу.
Генеративное удаление как таковое развивалось довольно давно, но в 2014 году появился новый подход на основе ГАНов (Генеративных adversarial networks) — это сверточные нейронные сети, которые берут на вход какой-то вектор шума или шумовую матрицу. Если правильно настроить параметры такой сверточной сети, на выходе можно получить изображения высокого разрешения, например, лиц людей, которые не существуют. Эта техника эксплуатирует факт, что если у нас есть простое распределение, например, равномерное гауссово, то нелинейным отображением его можно преобразовать в arbitrarily сложное многомерное распределение. Вопрос заключается в том, как это сделать.
То есть, мы можем не знать вид плотности распределения рэпле, но мы можем сгенерировать неявное представление этой плотности, которая проявляется в данном случае. Распределение данных, генерируемых ею, напоминает распределение реальных данных, причем этот факт используется в алгоритме, который назван градиентным неконкурентным нерассеивающимся. Кроме того, в 20-м году появился другой класс моделей, основанных на диффузионных процессах. Сначала генерируется шумовое изображение, а затем оно специальным образом расширяется, чтобы получилось изображение, похожее на реальное, как те, что были в обучающих выборках. Кроме того, в идеале изображение коррелирует с описанием, которое пользователь ввел. Эти результаты используют некоторые интересные факты и теорию вероятности, особенно в отношении второго подхода, основанного на диффузионных процессах. Эти факты были заложены теорией паронных процессов, разработанной Колмогоровым, известным математиком прошлого столетия. Вот собственно и три основные компоненты.
Я собираюсь сначала рассказать о диффузионных процессах, которые представляют собой первый подход к построению нериативных моделей. Второй подход — это оптимальный транспорт, который отличается от диффузионных процессов, но превосходит их математической строгостью и способностью достичь желаемого результата в различных ситуациях. Можно соединить эти два подхода с помощью моста Шелтингера, который также заслуживает внимания.
Диффузионный процесс в непрерывном времени — это просто преобразование переменной x в момент времени, которое можно записать более просто. Здесь x может быть многомерным и задается нелинейным уравнением, включающим коэффициент сноса. Кроме того, добавляется дополнительное движение, которое задает случайность. Существует начальное значение процесса, которое генерируется случайным образом, и затем траектория запускается из этой начальной точки.
Мы можем заинтересоваться свойствами такого случайного процесса. Например, если начальное распределение точки было сложным или даже представляло собой распределение некоторой сложной величины, такой как изображение, мы можем рассматривать изображение как реализацию случайно влеченной из неизвестного нам распределения реальных изображений.
«Предположим, что изображение реального мира является реализацией неизвестного нам распределения реальных изображений. Мы считаем, что существует некоторое распределение, которое описывает изображения в реальном мире, хотя мы не можем быть уверены в этом. Пусть у нас есть сложное начальное распределение для случайных процессов. Известно, что если мы запустим случайную траекторию из этого распределения, то при определенных условиях (не слишком ограничивающих) её предельное распределение будет стремиться к некоторому фиксированному гауссовскому распределению. То есть в каждый момент времени распределение значения в этой траектории будет сходиться к гауссовскому распределению.»
Этот факт, известный в теории марковских процессов в дискретном времени и в прерывистом случае, также применим к случайным процессам. Существует другой важный факт из теории случайных процессов: если случайный процесс в прямом времени удовлетворяет некоторому уравнению, то случайный процесс, определенный обратным временем, начинается с начального распределения, соответствующего предельному распределению прямого случайного процесса.
Если уравнение траектории такое, то оно сходится к предельному распределению, которое соответствует начальному распределению прямого процесса. Это интересный факт, но требует некоторых дополнительных предположений. Кроме того, необходимо знать плотность распределения прямого процесса в любой момент времени, потому что для запуска обратного процесса требуется знать градиент логарифма этой плотности. Если мы знаем это, то мы можем воспользоваться уравнением, обладающим определенным удивительным свойством, как показано на рисунке. Это также очень важный факт из теории случайных процессов. Почему это оказывается полезным?
Предположим, у нас есть некоторое начальное распределение, например, распределение векторов, каждый компонент которых соответствует пикселю изображения. Мы взяли arbitrarily одну случайную картинку из Интернета, как будто она была сгенерирована из этого распределения, которое нам неизвестно, но мы хотим иметь возможность моделировать его, т.е. генерировать из него наблюдения, похожие на реальные изображения. Мы запускаем траекторию случайного процесса из arbitrarily выбранной начальной точки. Что произойдет дальше?
Если все будет сделано правильно, траектория сходится к предельному распределению, например, гауссовому. Фактически, мы начинаем зашумлять изображение. После определенного количества шагов, где каждый пиксель изображения преобразуется случайным диффузионным процессом, мы получим изображение с пикселями, которые представляют собой гауссовский шум. Если мы можем записать уравнение обратного процесса для данного диффузионного процесса, то мы можем размыть изображение, т.е. взять arbitrarily случайное изображение и преобразовать его в объект из распределения, как будто оно было сгенерировано из начального распределения, которое соответствует распределению реальных изображений. Если мы точно знаем начальное распределение, то мы должны получить изображение, похожее на начальное, а не на шум. Вот как можно реализовать эту идею?
Конечно, для этого необходимо конкретное уравнение, которое удовлетворяет необходимому предельному свойству. Например, такими могут быть уравнения вида «капп», но в нашем случае будем использовать очень простое. В качестве коэффициента диффузии выступает некая функция брата, которая с течением определенного времени стремится к определенному значению с определенной скоростью. Таким образом, мы можем записать уравнение для обратного процесса. Основная сложность заключается в том, что мы не можем явно записать плотность распределения в этом процессе, поскольку оно зависит не только от текущего момента времени, но также от начального распределения, которое нам неизвестно и которое мы именно желаем бы моделировать.
Предположим, нам удалось сделать это с помощью нейросети, в частности, используя универсальный парокситатор. Мы можем ассимилировать градиент логарифма плотности распределения неким хитрым образом. Если нам это удалось сделать, мы получаем следующую систему: у нас есть процесс, который зашумляет изображение, т.е. мы можем применить диффузионный процесс к любой начальной картинке и получить в результате просто шум. Если мы построили такой зашумляющий процесс, его можно обратить, построив некоторую нейросеть, которая аппроксимирует градиент логарифма плотности процесса. Таким образом, мы можем легко размыть изображение
С помощью такого уравнения мы можем легко размыть изображение. Конечно, это уравнение записывается в дискретном времени, и мы вычисляем, как оно взаимодействует с arbitrarily выбранной картинкой, постепенно размывая ее и получая результат, похожий на те картинки, которые мы зашумляли для оценки градиента логарифма плотности распределения. Теперь осталось научить нейросеть размывать изображения таким же образом. На самом деле, все эти методы широко используются в теории случайных процессов.
Если у нас есть распределение траекторий случайного процесса на некотором отрезке для процесса, градиент логарифма плотности которого мы знаем точно, то мы можем оценить распределение траекторий процесса с помощью некоторого расстояния Кульбака-Лейблера между двумя траекториями, рассматриваемыми как случайные функции. Это расстояние задается определенным уравнением, которое включает математическое ожидание внутреннего произведения. В таком случае, что мы могли бы сделать?
Мы вычисляем этот интеграл с помощью модели авторегрессии, вместо интегрирования по времени. Затем мы подставляем значение этой величины, которая задается математическим ожиданием по траектории, во все уравнение и оптимизируем его по параметрам, чтобы обучить нейросеть размывать изображения. Проблема заключается в том, что мы обычно не можем выписать эту формулу явно. Но мы можем воспользоваться следующим трюком: разделим математическое ожидание на две части.
Мы ожидаем не по времени, а по картинкам из обучающей выборки. Мы аппроксимируем это ожидание усреднением по обучающей выборке. Затем мы явно разделяем ожидание на две части: ожидание по картинкам и ожидание по траектории. Мы подставляем оценку плотности логарифма распределения, которую можем вычислить явно для конкретной диффузионной модели, в формулу. Затем мы минимизируем по параметрам. Вот что еще можно сделать: мы можем оценивать все остальное по формуле Монте-Карло для конкретного диффузионного процесса
Здесь мы можем сгенерировать не только картинки, но и картинки, обусловленные текстом. Для этого нам нужно взять выборку пар «картинка-текстовое описание» и добавить в качестве параметра скор-функции некоторый вектор, представляющий условие на текст. Этот вектор получается с помощью вложения текста в некоторое пространство с помощью нейросети. Таким образом, мы можем управлять генерацией картинок с помощью текста.
Хорошо, давайте продолжим. Мы уже обсудили один из подходов к моделям деления. Теперь перейдем ко второму методу, основанному на теории оптимального транспорта. Идея следующая: была задача Монжа, затем Канторовича. В современной постановке задача формулируется так: есть две меры, и мы хотим построить такое отображение T, чтобы оно точно переводило одно распределение в другое. Я уже упоминал, что можно преобразовать любое распределение в любое другое в этом же пространстве, если применить достаточно сложное отображение. Так вот, наша цель — найти среди всех возможных отображений такое, которое минимально изменяет исходное распределение.
Леонид Витальевич Канторович был выдающимся математиком, который работал как в теории, так и на практике, решая множество важных прикладных задач. Он предложил теоретический подход к решению задачи, который оказался очень важным и полезным. Это по сути генеративно-состязательная сеть (ГАН), поскольку генеративные адверсариальные сети — это способ построения отображения, которое трансформирует простое распределение Гаусса в распределение изображений. Важно то, как устроен алгоритм оценки этого отображения и какой целевой функционал оптимизируется.
Теперь обобщим: мы строим генератор, который трансформирует одно распределение в другое, и оптимизируем функционал, который при этом естественно возникает. На самом деле мы не знаем исходные распределения точно; они представлены наборами точек, сгенерированных из этих распределений. Если мы построили такое отображение, можно для любой новой точки предсказать, какой точке она соответствует. Это позволяет трансформировать один домен в другой.
Теперь о классической задаче, также известной как слабый оптимальный транспорт. Если в классическом случае каждую точку одного распределения мы переносим в точку другого распределения так, что кажется, будто последняя была сгенерирована из второго распределения, то в случае слабого оптимального транспорта каждая точка переносится в окрестность, где существует условное распределение в зависимости от этой точки. Мы используем более общее описание функции стоимости, которое не просто учитывает квадрат разности, а зависит от способности порождать новые точки из условного распределения. И вот мы минимизируем этот функционал по всем возможным совместным распределения.
Это то, что называется транспортным планом. В качестве функционала 𝐶C можно использовать квадратичный функционал, который учитывает разность между 𝑌Y и генерированным 𝑌Y из условного распределения при заданном 𝑋X. Однако, если использовать только квадратичную функцию стоимости, это может привести к вырождению транспортного плана в дельта-функцию, то есть условное распределение будет порождать только одну конкретную точку для каждого фиксированного 𝑋X, что нежелательно. Чтобы избежать этого, следует добавить регуляризацию, которая предотвращает вырождение условного распределения.
Такой подход позволяет создавать много разных условных точек 𝑌Y для каждого 𝑋X, используя штраф на дисперсию условного распределения. Это гарантирует, что условное распределение не будет вырожденным. Теперь возникает вопрос, как решать такую задачу оптимального транспорта. Очевидно, что нужно использовать нелинейные преобразования, если ранее мы использовали их для неявного представления распределений. Если раньше у нас было простое распределение, которое трансформировалось в сложное, то теперь ситуация немного сложнее.
Имеется начальная точка 𝑋X, которую мы отображаем в точку 𝑌Y. Однако 𝑌Y не однозначен и как будто генерируется из распределения при фиксированном 𝑋X. Чтобы учесть эту неоднозначность, мы можем генерировать случайные значения шума 𝑍Z, например, из Гауссовского распределения, и за счёт этого дополнительного источника шума разные 𝑋X пропускают этот шум через нелинейное преобразование, получая разные 𝑌Y, как если бы они были сгенерированы из условного распределения.
Это неявный способ моделирования условного распределения, который может усовершенствовать любое условное распределение. Почему эта задача на самом деле важна на практике? Многие задачи анализа данных могут быть поставлены в непарной постановке. Например, мы хотим каждой фотографии сопоставить аниме-лицо, похожее на лицо человека на фотографии, но у нас нет пар «фотография — аниме-лицо». Мы не знаем, какое аниме-лицо на самом деле соответствует каждому человеческому лицу, но мы хотим достичь некоторой разумности в сопоставлении.
Для этого мы задаём функцию стоимости, которая сравнивает лицо реального человека с аниме-лицом, и решая оптимизационную задачу, мы строим такое отображение, которое любую точку из распределения реальных лиц отображает в аниме-лицо, которое похоже с точки зрения функции стоимости на реальное лицо. Это отображение в идеале должно быть эффективным, и предполагается, что меры 𝜇𝑋μX и 𝜇𝑌μY существуют в одном пространстве одной размерности.
Важно, что при определённых условиях можно достичь того, что отображение будет взаимнооднозначным. Если говорить об исходной задаче, то всегда существует решение. Эту задачу оптимизации можно переписать в двойственной форме, чтобы найти соответствующее отображение. Необходимо взять это отображение и другое преобразование, которое действует как дискриминатор, и оптимизировать данный целевой функционал, что выполняется довольно просто.
Это похоже на задачу, возникающую в генеративно-состязательных сетях (ГАНах), где также присутствует оптимизационная минимаксная задача. Основное отличие здесь заключается в том, что в случае ГАНов существует дополнительное ограничение, которого нет в рассматриваемом нами случае. Задача оптимизируется по параметрам двух моделей, и находится седловая точка. Интегралы в этой двойственной задаче оцениваются методами, предложенными Карлом Декартом.
На практике предположим, у нас есть картинки сумок, и мы хотим для каждой сумки сгенерировать обувь, похожую на структуру сумки. Поскольку из второго распределения при условии точки из первого можно сгенерировать множество различных образцов обуви, мы можем получить множество различных пар обуви для одной и той же сумки.
Примеры подтверждают, что если использовать различные метрики, такие как Receptive Field или другие подобные метрики, качество трансфера может быть таким же или даже лучше. В случае анимационных лиц мы видим, что в целом сохраняется определенная семантика — выражение лица, цветовая гамма, что достигается даже с использованием самых простых функций стоимости.
В этом контексте параметр гамма, о котором идет речь, имеет большое значение: чем больше гамма, тем больше дисперсия условного распределения, что влияет на результаты, которые мы получаем для заданного лица. Это можно использовать на практике, например, для трансформации поля ветра из одного домена, соответствующего климатической модели, в домен, соответствующий реальным измерениям. Это улучшает климатический прогноз, придавая ему свойства, близкие к реальным измерениям, что позволяет более точно оценивать феноменологические риски.
Перейдем к третьей части моего рассказа о мошеннингере, который включает задачу построения оптимального транспорта. Транспортное отображение строится с учетом некоторой функции стоимости, что позволяет генерировать условные 𝑌Y, зафиксированные на 𝑋X, при условии, что функция стоимости не квадратичная и включает регуляризацию для предотвращения вырождения транспортного плана. В качестве такой реализации я использовал дисперсию, но можно применять и другие подходы, например, энтропию этого распределения ΠΠ.
В случае использования энтропии, решение задачи слабого оптимального транспорта в многомерном случае становится практически невозможным, потому что оценка многомерной энтропии распределения ΠΠ в многомерном пространстве — это сложная и неблагодарная работа. Несмотря на то, что энтропия является часто используемым и теоретически привлекательным функционалом, применение его в непрерывных задачах оптимального транспорта, где распределение 𝜇μ известно только выборочно, делает его использование нецелесообразным.
Тем не менее, можно решить задачу оптимального транспорта с энтропийной регуляризацией, просто для этого нужно действовать иначе.
Итак, это мост Шрёдингера. Существует задача, которая связывает дефиниционные процессы и оптимальный транспорт. Идея динамического моста Шрёдингера заключается в том, что он представляет собой стохастический процесс, управляемый стохастическим дифференциальным уравнением, который эволюционирует из одного распределения в другое. Мы требуем, чтобы начальное и конечное распределения точно совпадали, и при этом стремимся минимизировать квадрат сноса процесса, делая его траектории как можно более близкими к нулю.
Оказывается, что между решением задачи моста Шрёдингера и оптимального транспорта существует взаимно однозначное соответствие: если решить задачу моста Шрёдингера с определёнными распределениями, то совместное распределение начального и конечного состояний этого процесса будет являться оптимальным транспортным планом для задачи оптимального транспорта. Это интересный факт, показывающий, что вместо прямого решения одной сложной задачи, можно переформулировать её и решить альтернативную задачу моста Шрёдингера.
Как это работает на практике? Рассмотрим прикладную задачу: допустим, у нас есть изображения в плохом разрешении и мы хотим преобразовать их в изображения хорошего разрешения. Технически сложно сделать точные пары изображений одной сцены в разных разрешениях, поэтому традиционный регрессионный подход не применим. Вместо этого у нас есть множество непарных изображений, и мы хотим построить модель, которая «наделяет» изображение в плохом разрешении характеристиками изображения в хорошем разрешении.
Здесь на помощь приходит мост Шрёдингера: начиная с изображения в плохом разрешении и применяя оптимальный стохастический процесс, мы можем постепенно преобразовать его в изображение хорошего разрешения. Если параметр стохастичности 𝜖=0ϵ=0, процесс является детерминированным, и мы получаем прямое преобразование. При 𝜖=1ϵ=1, процесс включает стохастичность, что добавляет вариативность в генерируемые изображения, делая результаты более разнообразными, но похожими на исходное изображение.
Интересно наблюдать, как изменение параметра 𝜖ϵ влияет на «температуру» преобразования: при увеличении 𝜖ϵ стохастичность увеличивается, и конечное изображение может сильно отличаться от исходного, сохраняя при этом общие характеристики.
Эти теоретические разработки важны, поскольку они позволяют формулировать строгие задачи для построения инновационных моделей. Из этих постановок можно извлечь теоретические оценки, объясняющие, почему те или иные алгоритмы работают эффективно. В отличие от эмпирических подходов, таких как ГАНы, где теоретические оценки часто сложны или невозможны, мост Шрёдингера предоставляет возможность для строгой теоретической оценки и объединения нескольких подходов в единую конструкцию.
В заключение, мост Шрёдингера не только решает практические задачи, но и обеспечивает глубокое теоретическое понимание связей между различными областями математики и компьютерных наук.