中文翻译暂不可用,显示俄语原文。

Что такое 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). Алгоритм:

  1. Выбрать целевую VL-модель (например, CLIP).
  2. Определить целевую метку (текст, который хотим получить).
  3. Инициализировать патч случайным шумом или узором.
  4. На каждой итерации:
    • Наложить патч на случайное фоновое изображение.
    • Применить случайные аффинные преобразования (поворот, сдвиг, масштаб) и фотометрические (яркость, контраст).
    • Вычислить loss: например, cosine distance между эмбеддингом изображения с патчем и эмбеддингом целевого текста.
    • Обновить пиксели патча градиентным спуском.
  5. После сходимости — напечатать патч и протестировать в реальных условиях.

Формально:

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.

Шаги:

  1. Загрузить предобученный CLIP (ViT-B/32).
  2. Выбрать 10 изображений котов из датасета (например, CIFAR-10 или собственные).
  3. Инициализировать патч размером 100x100 пикселей случайным шумом.
  4. Реализовать функцию apply_patch(image, patch, position) — накладывает патч на изображение.
  5. Реализовать EOT: на каждой итерации случайный сдвиг, поворот, изменение яркости.
  6. Целевой текст: «a photo of a dog». Функция потерь: cosine distance между эмбеддингом изображения с патчем и эмбеддингом текста.
  7. Оптимизировать патч 1000 шагов с Adam.
  8. Протестировать на отложенных изображениях котов (без трансформаций и с ними).
  9. Визуализировать патч и 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 и агентов. Понимание физических атак дополняет картину безопасности мультимодальных систем.


Навигация