Нормализующий поток
Материал из MachineLearning.
| | Статья написана с использованием LLM DeepSeek и проверена участником К.А.Савицкий 18:52, 15 июль 2026 (UTC) |
Нормализующий поток (normalizing flow) — класс генеративных моделей в машинном обучении, предназначенных для моделирования сложных многомерных вероятностных распределений путём применения цепочки обратимых гладких преобразований к простой базовой случайной величине. Основное преимущество нормализующих потоков заключается в способности точно вычислять плотность распределения данных и эффективно генерировать новые выборки, что делает их мощным инструментом в задачах оценки плотности, генерации данных, вариационного вывода и научных вычислений.
Содержание |
Интуитивное введение
Представьте себе резиновый шар (простое гауссово облако точек) в трёхмерном пространстве. Если шар деформировать — растянуть, изогнуть, сжать — можно получить фигуру намного более сложной формы, например, детальную модель животного. При этом каждая точка исходного шара перемещается по определённому правилу, и, что важно, это правило можно обратить: если мы знаем, как точка сложной фигуры получилась из шара, мы всегда можем вернуться обратно. Нормализующий поток действует аналогично: он обучает последовательность таких обратимых деформаций, превращая простое распределение (например, стандартное нормальное) в распределение, максимально соответствующее наблюдаемым данным.
Такая конструкция позволяет одновременно и генерировать новые примеры (применяя деформации к свежим точкам из шара), и вычислять вероятность конкретной точки данных (возвращая её в исходный шар и подсчитывая, насколько «плотно» она лежит). Именно эта комбинация точной плотности и способности к синтезу выделяет потоки среди других генеративных подходов.
Определение
Пусть — скрытая (латентная) переменная с известной и простой плотностью
, обычно стандартным нормальным распределением
. Нормализующий поток задаёт биективное (взаимно-однозначное) дифференцируемое преобразование
такое, что наблюдаемая переменная
. Плотность наблюдаемых данных определяется формулой замены переменных:
Величина называется модулем якобиана преобразования и показывает, как локально изменяется объём при переходе от латентного пространства к пространству данных. Чтобы преобразование могло моделировать сложные распределения, его обычно составляют из композиции
более простых обратимых отображений:
Плотность конечной переменной последовательно преобразуется:
Таким образом, вычисление логарифма плотности сводится к вычислению логарифма плотности в латентном пространстве и суммы логарифмов модулей якобианов всех промежуточных шагов.
История развития
Идея использования композиции нелинейных обратимых преобразований для моделирования сложных распределений восходит к классическим работам по методам Монте-Карло и нелинейному анализу независимых компонент (ICA). В контексте глубокого обучения современная концепция нормализующих потоков была предложена Данило Резенде и Шакиром Мохамедом в статье 2015 года «Variational Inference with Normalizing Flows». Они ввели планарные и радиальные потоки — элементарные обратимые преобразования, наращиваемые на скрытое пространство вариационного автокодировщика.
Следующим важным шагом стало семейство архитектур, основанных на идее разделения измерений (coupling layers). Дин и соавторы в модели NICE (2014) и Real NVP (2016) предложили аффинные coupling-слои, в которых половина компонент остаётся неизменной, а вторая половина аффинно преобразуется в зависимости от первой. Это позволило строить глубокие, быстро обратимые и вычислительно эффективные потоки. Кингма и Дхаривал в 2018 году расширили Real NVP до модели Glow, добавив обратимые 1×1 свёртки и активационную нормализацию, что позволило генерировать реалистичные изображения высокого разрешения.
Параллельно развивались авторегрессионные потоки: Masked Autoregressive Flow (MAF) Папамакариоса и др. (2017) и Inverse Autoregressive Flow (IAF) Кингмы и др. (2016). Эти модели используют маскированные авторегрессионные сети (MADE) для параметризации преобразований, гарантируя треугольную структуру якобиана, что упрощает вычисление определителя.
Дальнейшее развитие включало потоки на основе сплайнов (нейронные сплайновые потоки Дуркана и др., 2019), обеспечивающие большую гибкость преобразований; непрерывные во времени потоки, основанные на нейронных обыкновенных дифференциальных уравнениях (Neural ODE, FFJORD); а также остаточные потоки (Residual Flows), использующие методы оценки логарифма определителя для липшицевых остаточных сетей.
Математические основы
Формула замены переменных в плотности
Пусть — случайный вектор, и
— диффеоморфизм (гладкое биективное отображение с гладким обратным). Тогда распределение случайного вектора
имеет плотность:
где , а
— матрица Якоби. Эквивалентно, через прямое преобразование:
Это классический результат из теории вероятностей. В контексте потоков он служит основой для точного вычисления логарифмического правдоподобия.
Построение сложных потоков через композицию
Одиночное обратимое преобразование с простой структурой ограничено в выразительности. Моделирование сложных многомодальных распределений достигается композицией преобразований
. Благодаря правилу цепочки для якобианов, логарифм модуля определителя общей композиции равен сумме логарифмов модулей определителей каждого шага:
Это даёт аддитивный вклад каждого слоя в логарифм плотности и позволяет обучать глубокие потоковые модели с помощью стохастического градиентного спуска.
Вычисление логарифма плотности
Для заданного наблюдения вычисление
требует:
- Прямого прохода по потоку в обратном направлении:
.
- Вычисления
.
- Вычисления и суммирования логарифмов модулей якобианов каждого обратного слоя
.
Для генерации выборки из модели, напротив, осуществляют проход в прямом направлении: извлекают и применяют
.
Архитектуры нормализующих потоков
Элементарные преобразования
Первые нейросетевые потоки, предложенные Резенде и Мохамедом, — планарный и радиальный. Планарный поток задаётся как
,
где
— векторы,
— скаляр,
— гладкая функция активации. Такие преобразования легко обратимы при определённых ограничениях, но имеют ограниченную выразительность и требуют наращивания большого числа слоёв для моделирования сложных распределений.
Потоки с разделением измерений (coupling flows)
Наиболее популярный класс архитектур. Входной вектор разбивается на две части:
. Преобразование имеет вид:
где
— обратимая функция (например, аффинная:
), а
— произвольная нейронная сеть, не обязанная быть обратимой. Якобиан такого слоя имеет блочно-треугольную структуру, и его определитель равен произведению диагональных элементов матрицы
, что вычисляется очень эффективно. Модели NICE (аддитивное coupling, где
), Real NVP (аффинное coupling) и Glow (добавляет обратимые 1×1 свёртки и чередование маскирования по каналам и пространственным измерениям) основаны на этом принципе.
Авторегрессионные потоки
В авторегрессионных потоках преобразование имеет вид:
где
— нейросетевой параметризатор, зависящий только от предыдущих компонент. Тогда матрица Якоби нижнетреугольная, и определитель сводится к произведению частных производных
. Masked Autoregressive Flow (MAF) использует маскированные авторегрессионные сети (MADE) для одновременного получения всех
и удобен для вычисления плотности (обратный проход), но генерация требует последовательного прохода по размерности. Inverse Autoregressive Flow (IAF) меняет направление зависимости, делая генерацию быстрой, а вычисление плотности — медленным.
Потоки на основе сплайнов
Чтобы повысить гибкость по сравнению с аффинными преобразованиями, в качестве элементарных обратимых функций применяются монотонные рациональные квадратичные или кубические сплайны. Параметры сплайна (узлы, производные) предсказываются нейронной сетью на основе «неизменной» части вектора. Такие потоки достигают высокой выразительности при относительно небольшом числе слоёв и демонстрируют передовые результаты в оценке плотности.
Непрерывные во времени потоки
Идея, основанная на нейронных ОДУ (Neural ODE, Chen et al., 2018). Вместо дискретной композиции слоёв, преобразование задаётся как решение задачи Коши:
где
— нейронная сеть, определяющая поле скоростей. Логарифм изменения плотности вдоль траектории даётся уравнением на мгновенное изменение логарифма плотности (формула Лиувилля-Остроградского):
Метод FFJORD (Grathwohl et al., 2019) использует стохастическую оценку следа матрицы для эффективного обучения таких непрерывных потоков без явного вычисления якобиана.
Остаточные потоки
Остаточные сети вида могут быть обратимыми при ограничении константы Липшица
(например,
). Residual Flows (Behrmann et al., 2019) и i-ResNet используют методы оценки логарифма определителя через разложение в степенной ряд, что позволяет применять глубокие остаточные архитектуры в качестве потоков.
Обучение нормализующих потоков
Максимизация правдоподобия
Стандартный подход к обучению — максимизация правдоподобия на обучающей выборке . Целевая функция — средний логарифм правдоподобия:
Подставляя выражение потока, получаем
Параметры нейронных сетей, входящих в слои, оптимизируются градиентными методами, при этом обратное распространение проходит через прямое/обратное преобразование и вычисление якобиана.
Вариационный вывод с потоками
Нормализующие потоки могут использоваться для построения богатых апостериорных распределений в вариационных автокодировщиках (VAE). Поток преобразует простое начальное приближение
в более выразительное вариационное распределение
. Нижняя граница свидетельства (ELBO) в этом случае принимает вид:
причём
вычисляется по формуле замены переменных, аналогичной основной. Такой подход, предложенный в пионерской работе Резенде и Мохамеда, позволяет приближать сложные апостериорные распределения и повышает качество латентных представлений.
Другие критерии обучения
Помимо максимизации правдоподобия, потоки могут обучаться с помощью:
- Байесовского вывода — как гибкие семейства приближений;
- Контрастных и моментных методов — в задачах, где плотность известна с точностью до константы;
- Обучения с учителем — для моделирования условных распределений
с помощью условных нормализующих потоков.
Связь с генеративным моделированием
Нормализующие потоки принадлежат к классу моделей с явной плотностью (в отличие от GAN, которые моделируют только семплер, и VAE, которые оптимизируют нижнюю границу правдоподобия). Это даёт ряд уникальных свойств:
- Точное вычисление правдоподобия — возможно прямое сравнение моделей по тестовому правдоподобию и применение в задачах детекции аномалий.
- Эффективная генерация — прямое преобразование латентных переменных, без MCMC или стохастических итераций.
- Обратимость — естественное получение латентного представления для любого входа, что полезно в задачах сжатия, интерпретации и редактирования атрибутов.
По сравнению с диффузионными моделями, потоки также предоставляют точную плотность, но делают это за один проход сети, а не через многошаговый процесс, хотя современные диффузионные модели могут достигать более высокого качества генерации изображений. Потоки часто служат компонентами в более сложных системах: например, нормализующие потоки используются в VAE как априорное или апостериорное распределение, а также для построения сложных латентных пространств в дисперсионных и гибридных моделях.
Преимущества и ограничения
Преимущества
- Точная оценка плотности: аналитически вычисляемое правдоподобие позволяет строго оценивать качество модели и решать задачи, где значение плотности критично (поиск аномалий, статистические тесты).
- Эффективная генерация: выборка из модели требует лишь одного прямого прохода, без сэмплирования из цепи Маркова.
- Обратимость и латентное представление: каждому наблюдению однозначно сопоставляется латентный код, что упрощает анализ скрытых факторов и интерполяции.
- Гибкость: архитектура потоков может адаптироваться под структуру данных (изображения, временные ряды, графы).
Ограничения
- Сохранение размерности: стандартные потоки требуют, чтобы размерность латентного пространства совпадала с размерностью данных, что может быть неэффективно для высокоразмерных данных с низкой внутренней размерностью. Существуют обобщения (инжективные потоки, многоуровневые модели), но это усложняет архитектуру.
- Вычислительные затраты: вычисление якобиана и обратного преобразования для некоторых архитектур может быть ресурсоёмким, особенно в авторегрессионных потоках при генерации или в непрерывных потоках.
- Ограниченная выразительность при малом числе слоёв: для моделирования сложных распределений с резкими границами могут потребоваться очень глубокие композиции или неограниченно гибкие элементы (сплайны, остаточные потоки), что увеличивает объём вычислений.
- Топологические ограничения: диффеоморфизмы сохраняют топологию носителя распределения; если истинное распределение данных имеет принципиально иную топологию (например, сосредоточено на несвязных многообразиях), классические потоки могут испытывать трудности. Частичное решение — использование разрывов или стягивающих отображений.
Применения
Оценка плотности и детекция аномалий
Благодаря точному логарифмическому правдоподобию, потоки успешно применяются для обнаружения аномалий в изображениях, трафике сетей, промышленных данных. Низкое значение плотности подсказывает, что пример не характерен для обучающей выборки.
Генерация данных
Нормализующие потоки способны генерировать изображения (модель Glow), аудио (WaveFlow), трёхмерные молекулярные конфигурации и другие типы данных. Хотя по качеству изображений они могут уступать современным GAN и диффузионным моделям, возможность точного контроля над латентным пространством делает их привлекательными для задач, где важна интерпретируемость.
Улучшение вариационного вывода
Потоки используются для построения гибких апостериорных приближений в вариационных автокодировщиках (normalizing flow-based VAE). Это повышает логарифмическую нижнюю границу свидетельства и улучшает качество латентных представлений.
Обратные задачи и научные вычисления
Обратимость и точная плотность делают потоки подходящими для решения обратных задач (восстановление изображений, инпэинтинг), где необходимо семплировать из условных распределений. В вычислительной физике потоки применяются для моделирования плотности состояний, ускорения марковских цепей Монте-Карло (MCMC) и генерации конфигураций в статистических системах.
Другие области
- Байесовский анализ: аппроксимация апостериорных распределений.
- Сжатие данных: обратимость позволяет строить эффективные кодеки с точным контролем битрейта.
- Стилизация и перенос признаков: манипуляции в латентном пространстве потока.
См. также
- Генеративное моделирование
- Вариационный автокодировщик
- Генеративно-состязательная сеть
- Диффузионные модели
- Авторегрессионная модель
- Метод Монте-Карло
- Байесовский вывод
Примечания
Rezende D. J., Mohamed S. Variational Inference with Normalizing Flows // Proceedings of the 32nd International Conference on Machine Learning (ICML). — 2015. — С. 1530–1538. Dinh L., Krueger D., Bengio Y. NICE: Non-linear Independent Components Estimation // 3rd International Conference on Learning Representations (ICLR), Workshop Track. — 2015. Dinh L., Sohl-Dickstein J., Bengio S. Density estimation using Real NVP // 5th International Conference on Learning Representations (ICLR). — 2017. Kingma D. P., Dhariwal P. Glow: Generative Flow with Invertible 1x1 Convolutions // Advances in Neural Information Processing Systems 31 (NeurIPS). — 2018. Papamakarios G., Pavlakou T., Murray I. Masked Autoregressive Flow for Density Estimation // Advances in Neural Information Processing Systems 30 (NIPS). — 2017. Kingma D. P., Salimans T., Jozefowicz R. et al. Improving Variational Inference with Inverse Autoregressive Flow // Advances in Neural Information Processing Systems 29 (NIPS). — 2016. Chen R. T. Q., Rubanova Y., Bettencourt J., Duvenaud D. Neural Ordinary Differential Equations // Advances in Neural Information Processing Systems 31 (NeurIPS). — 2018. Grathwohl W., Chen R. T. Q., Bettencourt J., Sutskever I., Duvenaud D. FFJORD: Free-form Continuous Dynamics for Scalable Reversible Generative Models // 7th International Conference on Learning Representations (ICLR). — 2019. Durkan C., Bekasov A., Murray I., Papamakarios G. Neural Spline Flows // Advances in Neural Information Processing Systems 32 (NeurIPS). — 2019. Behrmann J., Grathwohl W., Chen R. T. Q., Duvenaud D., Jacobsen J.-H. Invertible Residual Networks // Proceedings of the 36th International Conference on Machine Learning (ICML). — 2019. Papamakarios G., Nalisnick E., Rezende D. J., Mohamed S., Lakshminarayanan B. Normalizing Flows for Probabilistic Modeling and Inference // Journal of Machine Learning Research. — 2021. — Т. 22. — № 57. — С. 1–64. Kobyzev I., Prince S. J. D., Brubaker M. A. Normalizing Flows: An Introduction and Review of Current Methods. — IEEE Transactions on Pattern Analysis and Machine Intelligence, 2021.

