От конфет до авиабезопасности: как Стэндфорд учит формальной логике критических систем

Stanford Online 671 1 ч 11 мин 4 мин 07.04.2025
Главное

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

🍬 Выявление весов через предпочтения: метод «кэнди-логики» 0:05

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

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

В качестве эксперимента со студентами был использован набор сладостей (M&Ms, Sour Patch Kids и Skittles). Вместо задания весового вектора $W$ напрямую, участнику предлагалось выбирать между двумя пакетами с разным количеством конфет .

Каждый выбор формирует математическое ограничение:

Важные нюансы метода:

  1. Активное обучение: можно не просто давать случайные пакеты, а подбирать такие пары, которые максимально делят оставшееся пространство весов пополам .
  2. Иррациональность: если эксперт дает противоречивые ответы, область допустимых весов может стать пустой . В реальных задачах (например, в обучении с подкреплением на основе человеческих предпочтений, RLHF) это решается переходом к вероятностным моделям и байесовскому оцениванию .

🧩 Основы формальной логики: от атомов до предикатов 18:50

Логическая спецификация — это четкое определение требований к системе, которое всегда вычисляется в «истину» (true) или «ложь» (false) .

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

Логика первого порядка расширяет эти возможности, добавляя переменные, предикаты и кванторы .

⏳ Временная логика (LTL и STL) 30:51

Для систем, действующих во времени, пропозициональной логики недостаточно. Линейная временная логика (LTL) вводит операторы для описания последовательностей :

  1. Always ($\square$): свойство должно быть истинным во все моменты времени в будущем .
  2. Eventually ($\diamondsuit$): свойство станет истинным хотя бы один раз в будущем .
  3. Until ($U$): условие $P$ должно выполняться до тех пор, пока не станет истинным условие $Q$ .

Временная логика сигналов (STL) делает еще один шаг вперед, позволяя работать с сигналами, принимающими вещественные значения, и временными интервалами . На лекции был приведен пример спецификации для авиации: относительная высота между самолетами должна быть более 50 метров именно в интервале от 40 до 41 секунды полета (момент потенциального сближения) .

📈 Робастность и «гладкая» логика 49:39

Обычная логика бинарна: система либо нарушила правило, либо нет. Однако STL позволяет вычислить робастность — числовое значение, которое показывает «запас прочности» до нарушения спецификации .

Проблема градиентов: При оптимизации систем инженерам нужно знать, в какую сторону менять параметры, чтобы повысить безопасность. Однако использование функций $min$ и $max$ в формулах STL создает «ступенчатые» градиенты: производная равна либо 0, либо 1 только в одной точке, что бесполезно для алгоритмов оптимизации .

Решение — Smooth Robustness (Гладкая робастность): Операторы $min$ и $max$ заменяются на Soft-Min и Soft-Max . С помощью параметра $W$ можно регулировать «мягкость» функции:

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

💬 Цитаты

«Спецификация с использованием логических формул — это точный способ определить, работает ли система так, как мы ожидаем.»

Лектор Стэнфорда 18:50

«Робастность позволяет нам не просто сказать 'да' или 'нет', а измерить, насколько близко мы были к провалу.»

Лектор Стэнфорда 52:06
👥 Спикер
📚 Упомянутые книги
🔗 Упомянутые сайты и проекты
📖 Термины
Фронт Парето
Набор решений, где ни один показатель нельзя улучшить без ухудшения другого.
Пропозициональная логика
Раздел логики, изучающий высказывания, которые могут быть истинными или ложными.
Предикат
Функция, которая принимает объект и возвращает логическое значение (истину или ложь).
Робастность (в STL)
Количественная мера того, насколько сильно сигнал удовлетворяет или нарушает логическое свойство.
📊 Цифры
⚖️ Другая сторона
Инженерия Stanford Online Linear Temporal Logic Signal Temporal Logic AA228V валидация систем