Как зашумленный датчик высоты и фрисби помогают валидировать системы

Stanford Online 1 тыс. 1 ч 9 мин 9 мин 07.04.2025
Главное

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

✈️ Введение в моделирование: пример с датчиком высоты самолета 0:05

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

Рассматривая датчик высоты, мы получаем зашумленные измерения реальной высоты — это и есть наши наблюдения или собираемые данные. Если предположить, что в ходе реальных испытаний использовался также очень дорогой и точный эталонный датчик, дающий истинное значение (ground truth), исследователи получают пары данных вида $h$ (истинная высота) и $\hat{h}$ (измеренное значение) для $m$ точек данных.

Процесс работы с моделью включает следующие шаги:

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

🧠 Байесовское обучение параметров и вероятностное программирование 6:16

В отличие от метода максимального правдоподобия, дающего одну фиксированную оценку параметров, байесовский подход позволяет сохранять распределение вероятностей по всем возможным параметрам. Лектор признается в собственной нерешительности и отмечает, что именно поэтому предпочитает байесовское обучение. Мы стремимся смоделировать апостериорное распределение $p(\theta | D)$, но не можем вычислить его напрямую. Зато мы умеем вычислять правдоподобие данных при заданных параметрах $p(D | \theta)$, что приводит к необходимости использования правила Байеса.

Формула Байеса включает в себя:

В непрерывном случае вычисление знаменателя формулы Байеса требует аналитического расчета сложного интеграла, что зачастую невозможно. Количество членов в дискретной сумме растет экспоненциально с ростом размерности $\theta$. Однако если зафиксировать конкретное значение $\theta$, числитель легко вычисляется. Благодаря технологиям вероятностного программирования (probabilistic programming) можно генерировать выборки (семплы) из апостериорного распределения, используя методы Марковских цепей Монте-Карло (MCMC).

Для решения этих задач в языке Julia разработан пакет Turing.jl. В него передаются модель правдоподобия, априорное распределение, тип семплера и желаемое количество семплов. Популярным алгоритмом является No-U-Turn Sampler (NUTS). Эксперименты показывают, что увеличение количества используемых точек данных (например, с 20 до 100 и 200) приводит к сужению апостериорного распределения, поскольку уверенность в правильности параметров возрастает.

🥏 Эксперимент с фрисби и сопряженные априорные распределения 20:15

Для демонстрации аналитического решения байесовского вывода лектор предлагает провести живой эксперимент с подбрасыванием тарелок фрисби (лаборатория лектора играет в фрисби по средам в 4 часа дня на Wrigley Field). При игре вместо монетки подбрасывают две фрисби, чтобы определить сторону поля или право атаки. Лектор выдвигает гипотезу, что фрисби с большей вероятностью упадут в одинаковом направлении (обе вверх или обе вниз).

Обозначим $\theta$ как вероятность того, что обе фрисби приземлятся одинаково, а $1-\theta$ — в разных направлениях. Если в серии из $m$ бросков мы получили $n$ совпадений, то функция правдоподобия описывается биномиальным распределением: $\theta^n \cdot (1-\theta)^{m-n}$. По словам лектора, если в качестве априорного распределения выбрать бета-распределение с параметрами $\alpha$ и $\beta$, то апостериорное распределение также окажется бета-распределением с обновленными параметрами.

Такое свойство называется сопряженным априорным распределением (conjugate prior):

В ходе интерактивного сбора данных со студентами в аудитории результаты показали преобладание разных направлений (например, серии 4-6, 2-8, 3-7), в итоге получилось 9 совпадений и 21 различие. Апостериорное распределение сместилось в район $\theta \approx 0.3$. Гипотеза лектора о том, что одинаковое положение более вероятно, оказалась несостоятельной, а вероятность того, что $\theta > 0.5$, составила всего 1%.

Когда распределение получено, иногда приходится выбирать конкретное значение параметров. Мы можем взять математическое ожидание, но если распределение мультимодальное (имеет несколько пиков), это даст значение с низкой плотностью вероятности. В таком случае берут значение с максимальной плотностью — оценку максимума апостериорной вероятности (Maximum A Posteriori, MAP), также называемую модой. Оценки MAP и максимального правдоподобия в общем случае не совпадают.

📉 Оценка обобщающей способности и переобучение 36:32

Лектор предупреждает о необходимости осторожного отношения к обобщающей способности моделей (generalization). Слишком сложная модель может идеально соответствовать обучающей выборке, демонстрируя переобучение (overfitting), но совершенно не отражать реальное распределение при добавлении новых точек.

Для контроля переобучения используются два стандартных метода:

  1. Метод отложенной выборки (hold-out method) — выделение отдельного валидационного набора данных, на котором модель не обучалась, для последующей оценки ее качества.
  2. Кросс-валидация (cross-validation) — разделение данных на несколько непересекающихся подмножеств (фолдов) и повторение процесса обучения и валидации несколько раз со сменой проверочного фолда. Ошибки валидации затем усредняются, при этом модель никогда не тестируется на тех данных, которые видела при обучении.

🔍 Валидация моделей: визуальная диагностика и метрики 39:38

Обученную модель необходимо валидировать. В качестве шутки над экономистами лектор рассказывает анекдот о физике, химике и экономисте, оказавшихся на необитаемом острове с банкой консервов. Физик и химик придумали сложные механизмы открытия банки, а экономист просто сказал: «Предположим, что у нас есть консервный нож». Лектор подчеркивает, что предположения ничего не значат, если они не привязаны к реальности, а неверная базовая модель обесценит все последующие результаты валидации.

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

Для численной оценки близости распределений используются сводные метрики:

Если модель включает несколько признаков, маргинальные графики по отдельности могут показывать хорошее совпадение, скрывая отсутствие учета взаимосвязей между переменными. Для фиксации этих взаимодействий можно спроецировать многомерные данные на специально разработанную одномерную линию (например, $y=x$) или рассчитывать многомерную дивергенцию Кульбака — Лейблера. При работе с условными распределениями область кондиционирования разбивают на небольшие корзины (bins), внутри которых вычисляют стандартные метрики для безусловных переменных.

👥 Тест типа Тьюринга с привлечением экспертов 52:11

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

Задача эксперта — определить источник каждой траектории. Если эксперт угадывает источник в 100% случаев, модель считается некачественной, так как различия очевидны. Напротив, если точность эксперта близка к случайному угадыванию (около 50%), это свидетельствует о высоком качестве модели и ее неотличимости от реальности.

📊 Спецификация свойств: метрики против спецификаций 53:18

Вторым компонентом валидации выступает формальное описание того, что система должна делать. Поведение системы квантифицируется двумя способами:

Метрики и спецификации могут выводиться друг из друга. Например, в системе предупреждения столкновений самолетов метрикой служит минимальное расстояние сближения (miss distance). На основе этой метрики формируется спецификация: «расстояние сближения должно превышать 50 метров». В свою очередь, из этой спецификации можно получить новую метрику, вычислив вероятность того, что расстояние сближения будет больше 50 метров. Данные свойства могут оцениваться как для одиночных траекторий, так и усредняться по целым наборам (например, среднее расстояние сближения).

🎲 Стохастические метрики и оценка риска (VAR и CVAR) 57:02

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

В системах, критически важных для безопасности, фокус смещается на консервативные оценки худших сценариев с использованием метрик риска (risk metrics), где более высокие значения соответствуют худшим исходам. Пример — инвертированная метрика потери эшелонирования: 2000 метров минус расстояние сближения. Нулевое расстояние означает полную потерю разделения, что ведет к катастрофе.

Для анализа «тяжелых хвостов» распределений риска используются две ключевые финансовые метрики:

Если параметр $\alpha$ устремить к 0, метрика CVAR становится равной обычному математическому ожиданию всей выборки, так как в расчет принимается 100% распределения. При приближении $\alpha$ к 1 метрика концентрируется исключительно на абсолютном худшем случае.

⚖️ Композитные метрики и граница Парето 1:05:23

Зачастую разработчикам приходится балансировать между несколькими противоречащими друг другу целями. В задаче предотвращения столкновений самолетов такими метриками выступают частота ложных предупреждений (alert rate), которая раздражает пилотов, и частота столкновений (collision rate). Обе метрики необходимо минимизировать.

Для разрешения подобных противоречий применяется концепция Парето-оптимальности. Дизайн системы признается Парето-оптимальным, если невозможно улучшить одну метрику без ухудшения другой. Множество таких точек формирует границу Парето (Pareto frontier).

Для выбора конкретной точки на границе Парето конструируются композитные метрики:

Выбор конкретных весовых коэффициентов осуществляется через процедуру выявления предпочтений (preference elicitation), которую лектор планирует разобрать на следующем занятии.

💬 Цитаты

«Наши предположения не имеют большого значения, если они не привязаны к реальности.»

Преподаватель Стэнфорда 40:18

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

Преподаватель Стэнфорда 59:03
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Апостериорное распределение
Распределение вероятностей параметров после учета полученных экспериментальных данных.
Сопряженное априорное распределение
Априорное распределение, которое при сочетании с определенной функцией правдоподобия дает апостериорное распределение того же класса.
График квантиль-квантиль (QQ-plot)
Графический метод сравнения двух распределений вероятностей путем сопоставления их квантилей.
Value at Risk (VAR)
Метрика, определяющая пороговое значение риска, которое не будет превышено с заданной вероятностью.
Граница Парето
Множество вариантов проектирования системы, при которых невозможно улучшить один показатель без ухудшения других.
📊 Цифры
⚖️ Другая сторона
Инженерия Turing.jl Stanford University Валидация систем Квантиль-квантиль