中文翻译暂不可用,显示俄语原文。
Что такое adversarial patch для vision-language моделей (физическая атака)?
Краткий тезис
Adversarial patch — это физический объект (например, наклейка, плакат или напечатанный узор), который при попадании в поле зрения vision-language (VL) модели заставляет её ошибочно интерпретировать сцену. В отличие от цифровых атак, патч существует в реальном мире и должен сохранять эффективность при изменении освещения, угла обзора и расстояния. Такие атаки критичны для агентов, использующих VL-модели в физической среде (роботы, беспилотники), и требуют специальных методов защиты: adversarial training на физических патчах и детекции аномалий в изображении.
1. Определение: adversarial patch и физическая атака
Adversarial patch — это ограниченная область изображения (обычно прямоугольник), содержащая специально сгенерированный шум или узор, который при добавлении к исходному изображению заставляет модель изменить предсказание. В контексте физической атаки патч печатается на бумаге, наклейке или другом материале и размещается в реальной сцене. Камера захватывает сцену с патчем, и VL-модель, обрабатывающая видеопоток, выдаёт неверный результат.
Физическая атака отличается от цифровой тем, что патч должен быть робастным к естественным вариациям: поворотам, масштабированию, изменению яркости, частичному перекрытию. Поэтому генерация физического патча включает симуляцию этих трансформаций во время оптимизации.
2. Как работают VL-модели и почему они уязвимы
Современные VL-модели (CLIP, LLaVA, BLIP-2, Flava) состоят из визуального энкодера (обычно ViT или ResNet) и текстового энкодера (трансформер). Они обучаются на парах изображение-текст предсказывать соответствие. При инференсе модель вычисляет эмбеддинги изображения и текстовых кандидатов, затем выбирает наиболее близкий.
Уязвимость возникает из-за линейности и высокой размерности пространства эмбеддингов. Небольшое, но целенаправленное возмущение в пикселях может сдвинуть эмбеддинг изображения в сторону эмбеддинга другого текста. Adversarial patch — это такое возмущение, сконцентрированное в малой области, что позволяет реализовать его физически.
3. Примеры атак на VL-модели
| Сценарий | Исходное изображение | Цель атаки | Результат |
|---|---|---|---|
| Дорожный знак | Stop sign | Классифицировать как Speed limit | Наклейка с узором на знаке заставляет модель ошибиться |
| Продукт на полке | Банан | Определить как тостер | Патч на банане меняет категорию |
| Лицо человека | Человек | Распознать как другого человека | Очки с узором обманывают систему распознавания |
| Сцена для VQA | Кухня | Ответить «гараж» | Плакат на стене меняет ответ модели на вопрос «Где это?» |
Эти примеры показывают, что атака может быть направлена как на классификацию, так и на более сложные задачи: visual question answering (VQA), image captioning, grounding.
4. Отличие от цифровых adversarial примеров
| Характеристика | Цифровой adversarial пример | Физический adversarial patch |
|---|---|---|
| Область возмущения | Весь кадр (незаметный шум) | Локальная область (явный узор) |
| Робастность к трансформациям | Не требуется | Критична (поворот, масштаб, свет) |
| Реализация | Изменение пикселей в файле | Печать, наклейка, проекция |
| Заметность для человека | Почти невидим | Часто заметен (но может маскироваться) |
| Цель | Обмануть модель на конкретном примере | Обманывать модель в различных условиях |
Физический патч жертвует незаметностью ради практической реализуемости. Однако существуют методы, делающие патч менее заметным (например, имитация текстуры поверхности).
5. Методы генерации adversarial patch
Основной подход — оптимизация с учётом физических трансформаций (Expectation Over Transformation, EOT). Алгоритм:
- Выбрать целевую VL-модель (например, CLIP).
- Определить целевую метку (текст, который хотим получить).
- Инициализировать патч случайным шумом или узором.
- На каждой итерации:
- Наложить патч на случайное фоновое изображение.
- Применить случайные аффинные преобразования (поворот, сдвиг, масштаб) и фотометрические (яркость, контраст).
- Вычислить loss: например, cosine distance между эмбеддингом изображения с патчем и эмбеддингом целевого текста.
- Обновить пиксели патча градиентным спуском.
- После сходимости — напечатать патч и протестировать в реальных условиях.
Формально:
patch* = argmin_{patch} E_{t~T}[ L( f( apply(patch, image, t) ), target ) ]
где T — распределение трансформаций, f — VL-модель, L — функция потерь.
6. Защиты от физических атак
6.1 Adversarial training на физических патчах
Добавление в обучающую выборку изображений с синтезированными патчами. Модель учится игнорировать или корректно обрабатывать такие возмущения. Недостаток: снижение точности на чистых данных.
6.2 Детекция аномалий в изображении
Использование отдельного детектора (например, на основе GAN или autoencoder), который выявляет области, статистически отличающиеся от естественного фона. Патч часто имеет неестественные границы или текстуру.
6.3 Сегментация и маскирование
Если модель может сегментировать объекты, она может игнорировать области, не принадлежащие основному объекту. Однако патч может быть наклеен прямо на объект.
6.4 Ансамблирование и рандомизация
Использование нескольких VL-моделей или случайное изменение размера/качества входного изображения может снизить эффективность патча.
6.5 Физические контрмеры
Например, использование поляризационных фильтров или инфракрасной съёмки, если патч оптимизирован только для видимого спектра.
7. Связь с Agentic RAG
В контексте Agentic RAG агенты часто используют VL-модели для восприятия окружающей среды: чтение документов, распознавание объектов, навигация. Физическая атака с adversarial patch может:
- Заставить агента неправильно интерпретировать инструкцию на бумаге.
- Обмануть систему визуального поиска (например, найти не тот объект).
- Вызвать неверное действие в роботизированной системе (например, робот-курьер проедет мимо нужного дома).
Таким образом, защита от физических атак становится частью безопасности агента, наряду с защитой от prompt injection и jailbreak.
8. Оценка устойчивости VL-модели к физическим патчам
Метрики:
- Attack Success Rate (ASR) — доля попыток, при которых модель выдала целевой неверный ответ.
- Physical Robustness — ASR при различных условиях (освещение, угол, расстояние).
- Transferability — работает ли патч на других VL-моделях.
- Detectability — насколько легко детектор аномалий находит патч.
Для оценки создают тестовый набор: печатают патч, размещают в разных сценах, снимают видео и прогоняют через модель.
9. Пет-проект для закрепления
Задача Создать adversarial patch для модели CLIP, который заставляет её классифицировать изображение кота как «собака».
Инструменты Python, PyTorch, transformers (CLIP), OpenCV, numpy, matplotlib.
Шаги:
- Загрузить предобученный CLIP (ViT-B/32).
- Выбрать 10 изображений котов из датасета (например, CIFAR-10 или собственные).
- Инициализировать патч размером 100x100 пикселей случайным шумом.
- Реализовать функцию apply_patch(image, patch, position) — накладывает патч на изображение.
- Реализовать EOT: на каждой итерации случайный сдвиг, поворот, изменение яркости.
- Целевой текст: «a photo of a dog». Функция потерь: cosine distance между эмбеддингом изображения с патчем и эмбеддингом текста.
- Оптимизировать патч 1000 шагов с Adam.
- Протестировать на отложенных изображениях котов (без трансформаций и с ними).
- Визуализировать патч и ASR.
Ожидаемый результат Патч, который при наклейке на фото кота (даже под разными углами) заставляет CLIP выдавать высокое сходство с текстом «a photo of a dog». ASR > 80% на тестовых изображениях.
10. Связь с другими вопросами
| Вопрос | Тема |
|---|---|
| 610 | Что такое jailbreak для LLM? |
| 611 | Что такое prompt injection? |
| 612 | Как защитить RAG от инъекций? |
| 613 | Что такое red teaming? |
| 614 | Как оценить безопасность агента? |
| 616 | Что такое data poisoning? |
Эти вопросы охватывают смежные угрозы для LLM и агентов. Понимание физических атак дополняет картину безопасности мультимодальных систем.
Навигация
- Предыдущий: 614
- Следующий: 616
- Индекс: 00. Индекс разборов