Дифференциальное и матричное исчисление
Интегралы — необходимый минимум
Площадь, замена переменной и якобиан — ровно то, без чего не определить ожидание и не понять normalizing flows
Зачем интегралы в этом плане
Ровно за тремя вещами, и все три — из блока 3 и дальше:
- Ожидание непрерывной случайной величины определяется интегралом.
- Нормировка плотности: .
- Замена переменных с якобианом — это normalizing flows целиком, и половина диффузионных моделей.
Техники интегрирования — по частям, подстановки, таблицы — нужны не будут. Библиотеки считают численно, а в выкладках интеграл почти всегда остаётся необращённым символом. Что нужно — понимать, что он означает и как ведёт себя при замене переменной.
Интеграл как предел суммы
Разбиваем отрезок, умножаем значение на ширину, складываем, измельчаем разбиение. Именно эта форма — «сумма произведений значения на меру» — переносится на всё остальное: ожидание, свёртку, ELBO.
Полезно держать в голове аналогию с из блока 0: интеграл это сумма, у которой индекс стал непрерывным. Знак — исторически вытянутая буква S от summa.
Основная теорема анализа связывает интеграл с производной:
Дифференцирование и интегрирование обратны друг другу. Практическое следствие, которым мы воспользуемся в проверке: интеграл многочлена считается точно через первообразную, и численный метод можно с ней сверить.
Замена переменной
Одномерный случай:
Множитель обязателен: он говорит, во сколько раз замена растягивает элемент длины. Забыть его — самая частая ошибка, и она меняет ответ, а не только запись.
Многомерный случай: якобиан
Вместо появляется
Модуль нужен потому, что объём не бывает отрицательным, а определитель — бывает, если замена меняет ориентацию.
Почему это и есть normalizing flows
Пусть имеет известную плотность , а — результат обратимого преобразования. Плотность получается из формулы замены переменных:
Читается так: вероятность сохраняется, а плотность — нет. Если преобразование растянуло область, та же вероятность распределилась по большему объёму, значит плотность упала — ровно на .
Отсюда вся конструкция потоков: берём простое распределение, применяем цепочку обратимых преобразований, честно отслеживаем на каждом шаге. И отсюда же архитектурные ограничения — преобразования выбирают такими, чтобы определитель считался дёшево: треугольный якобиан (как в autoregressive flows) даёт произведение диагонали вместо общего .
Логарифм здесь не для красоты: определители перемножаются, а логарифмы складываются, и в -форме цепочка из сотни слоёв не переполняется.
Кратный интеграл и маргинализация
Считается последовательно, по одной переменной за раз. Порядок можно менять, если функция достаточно приличная (теорема Фубини) — тот же вопрос, что смена порядка суммирования в блоке 0, и та же оговорка «для абсолютно сходящихся».
Практически это нужно для маргинализации: чтобы получить из совместной , интегрируют по :
Именно этот интеграл почти всегда неберущийся, и именно поэтому существуют вариационные методы. Всё блок 4 и VAE вырастают из того, что этот интеграл нельзя посчитать честно.
Что пропускаем сознательно
Интегрирование по частям, тригонометрические подстановки, несобственные интегралы как теория, признаки сходимости, ОДУ вручную, векторный анализ с ротором и теоремой Стокса. Ни одно из этого не понадобится для чтения современных работ.
Единственное исключение — численные солверы ОДУ, но они появятся в ветке про диффузию, и не как техника интегрирования, а как способ двигаться по траектории.
Источники
- 3Blue1Brown — Essence of Calculus, эпизоды 8–10 — Интеграл как площадь, основная теорема анализа
- Deisenroth, Faisal, Ong — Mathematics for Machine Learning, гл. 6.4.1 — Замена переменных и якобиан в интеграле
Проверки
0 из 2Замена переменных и плотность
Пусть — обратимое преобразование. Отметьте все верные утверждения.
Численное интегрирование и точный ответ
Реализуйте
trapezoid(coeffs, a, b, n)— интеграл многочлена отaдоbметодом трапеций сnотрезками.coeffsзадаёт многочлен по возрастанию степеней, как в первом уроке блока. Формула:Метод трапеций точен для линейных функций — трапеция и есть линейная функция на отрезке. Для параболы он даёт ошибку, и она убывает как : удвоив
n, ошибка падает вчетверо.Сверяться есть с чем: у многочлена первообразная считается точно, так что истинное значение известно. Это и есть смысл упражнения — увидеть разницу между численным и точным ответом на задаче, где точный доступен.
Загрузка редактора…
Ctrl/⌘ + Enter