Алгоритмическая слепота: математика состязательных атак и как сломать машинное зрение

Портрет с геометрическим чёрно-белым и неоновым макияжем, ломающим распознавание лиц

Более века назад, в разгар Первой мировой войны, британский флот столкнулся с экзистенциальной угрозой со стороны немецких субмарин. Решением стал Dazzle Camouflage (ослепляющий камуфляж) — окрашивание судов в резкие, контрастные геометрические узоры. Он не пытался спрятать корабль в океане, но ломал восприятие его геометрии: капитан вражеской подлодки не мог точно определить курс, скорость и дистанцию до цели. Сто лет спустя эта концепция переживает цифровой ренессанс. Однако сегодня главным визуальным цензором и противником на поле боя и на городских улицах выступает не человеческий глаз, а система машинного зрения.

Современные дроны с ИИ, комплексы автономного вождения и автоматизированные системы слежки полагаются на глубокие свёрточные нейросети (CNN) и трансформеры (Vision Transformers). Инженеры и специалисты по информационной безопасности обнаружили, что эти передовые математические модели обладают фундаментальной уязвимостью. Этот класс уязвимостей получил название «состязательные атаки» (Adversarial Attacks). Они позволяют создавать новые цифровые и физические формы «ослепляющего камуфляжа», перед которыми пасуют самые передовые алгоритмы машинного зрения.

Портрет с геометрическим чёрно-белым и неоновым макияжем, ломающим распознавание лиц
Авангардный макияж в стилистике CV Dazzle — наследник британского «ослепляющего камуфляжа», только теперь мишенью выступают не подлодки, а нейросети.

1. Анатомия уязвимости: почему «слепнут» алгоритмы машинного зрения

Долгое время считалось, что уязвимость глубоких нейросетей перед состязательными примерами вызвана их высокой нелинейностью и переобучением. Однако в 2014 году Ян Гудфеллоу (Ian Goodfellow), Джон Шленс и Кристиан Сегеди выдвинули и доказали противоположную гипотезу: главная причина кроется в избыточной линейности моделей в многомерных пространствах.

Когда система машинного зрения классифицирует объект, она проецирует входное изображение (вектор огромной размерности, где каждая координата — интенсивность пикселя) в скрытое пространство признаков. В этом пространстве алгоритм строит разделяющие гиперплоскости (границы решений) между классами. Поскольку пространство имеет тысячи измерений, даже микроскопическое, но математически выверенное изменение каждого пикселя способно суммарно сдвинуть вектор признаков далеко за границу правильного класса. Человеческий мозг обрабатывает геометрию объекта комплексно (семантически) и игнорирует высокочастотный шум. Нейросеть же не понимает «смысла» объекта — она лишь вычисляет градиенты, что делает её слепой к целенаправленным геометрическим и текстурным искажениям.

2. Математический аппарат обмана: основные методы атак

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

  • White-box (Белый ящик): атакующий полностью знает архитектуру нейросети, функции активации и веса модели. Это позволяет вычислять точные градиенты.
  • Black-box (Чёрный ящик): веса модели скрыты. Атакующий генерирует состязательные паттерны на базе собственной (суррогатной) модели. Благодаря свойству переносимости (transferability) состязательные примеры, созданные для одной сети, часто успешно обманывают и другие архитектуры, решающие ту же задачу.

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

Метод быстрого знака градиента (FGSM)

FGSM (Fast Gradient Sign Method) — это одношаговый алгоритм, разработанный Гудфеллоу для быстрого поиска уязвимых направлений. Вместо минимизации ошибки (как при обучении) алгоритм делает шаг по направлению знака градиента функции потерь относительно входного изображения, чтобы максимизировать ошибку модели:

η = ε · sign(∇x L(θ, x, y))

Где:

  • L(θ, x, y) — функция потерь модели с весами θ для входа x и истинной метки y.
  • x — градиент относительно входного изображения x.
  • ε — настраиваемый параметр, определяющий величину (заметность) искажения.
Split-screen: слева — фотография бигля, справа — то же изображение с наложенным шумом, которое нейросеть классифицирует как страуса
Микроскопические, но математически выверенные искажения пикселей сдвигают вектор признаков за границу класса: бигль уверенно «становится» страусом.

Проецируемый градиентный спуск (PGD)

PGD (Projected Gradient Descent) представляет собой итеративный аналог FGSM. Метод делает множество мелких шагов, постоянно проецируя полученное возмущение обратно в допустимую ε-окрестность исходного изображения. PGD считается одной из самых мощных атак первого порядка. Если модель устойчива к PGD-атаке, она обладает высокой робастностью.

3. Инструментарий исследователя: библиотеки для экспериментов

Для тестирования устойчивости систем к состязательным атакам ИБ-специалисты и разработчики используют специализированные фреймворки с открытым исходным кодом. В таблице ниже приведено сравнение трёх наиболее востребованных инструментов:

Название библиотекиРазработчик / поддержкаПоддерживаемые фреймворкиСпецифика и преимущества
Adversarial Robustness Toolbox (ART)IBM / Linux FoundationPyTorch, TensorFlow, Keras, Scikit-learn, MXNetПромышленный стандарт. Поддерживает атаки не только на изображения, но и на аудио, видео, текст и табличные данные. Нацелен на защиту корпоративных систем.
CleverHansПроект с открытым кодом (Гудфеллоу, Паперно)PyTorch, TensorFlow, JAXАкадемический эталон. Создан пионерами в области безопасности ИИ. Идеален для бенчмаркинга и проверки теоретических уязвимостей.
TorchattacksИсследовательское сообщество (Гарри Ким)PyTorchЛёгкая и быстрая библиотека, содержащая более 50 современных методов атак. Пользуется огромной популярностью в научной среде из-за простоты интеграции.

Ниже представлен концептуальный пример кода на Python с использованием библиотеки torchattacks, демонстрирующий, как инициировать атаку FGSM на предобученную модель для проверки уязвимости кода:

import torch
import torchattacks
from torchvision.models import resnet50

# Инициализация модели и перевод в режим оценки
model = resnet50(pretrained=True).eval()

# Создание экземпляра атаки FGSM (параметр eps задаёт силу искажения)
atk = torchattacks.FGSM(model, eps=8/255)

# Генерация состязательного изображения на основе исходного тензора картинок (images) и меток (labels)
adversarial_images = atk(images, labels)

4. Физические состязательные атаки: от теории к реальности

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

Абстрактный геометрический паттерн adversarial-патча из ярких контрастных цветов
Типичный adversarial patch — стикер, который при печати и физическом размещении заставляет модели компьютерного зрения выдавать заданный атакующим ответ.

Оптический обман систем распознавания лиц (Carnegie Mellon University, 2016)

Группа исследователей под руководством Махмуда Шарифа разработала метод создания состязательных очков. Учёные рассчитали сложный цветной паттерн для оправы и распечатали его на обычном 3D-принтере. Результаты оказались поразительными: надев такие очки, мужчина-исследователь полностью блокировал систему распознавания лиц (алгоритм FaceNet выдавал ошибку классификации), либо система с уверенностью более 90% распознавала его как известную актрису Миллу Йовович.

Взлом автопилота через дорожные знаки (Robust Physical Adversarial Attacks, 2018)

В этом эксперименте учёные доказали, что стационарная система машинного зрения беспилотного автомобиля может быть критически скомпрометирована. На стандартный дорожный знак «STOP» были нанесены небольшие чёрно-белые стикеры, имитирующие следы естественного вандализма или граффити. Человеческий водитель безошибочно считывал команду полной остановки. Однако глубокая нейросеть классифицировала этот знак как «Ограничение скорости 45 миль/ч» в 100% тестовых заездов с различных дистанций.

Adversarial Wear: невидимость для детекторов (MIT / Northeastern University, 2019)

С развитием военных технологий деформирующий камуфляж стал необходим для защиты объектов от тепловизоров и видеокамер. Современные разведывательные дроны с ИИ обучены распознавать людей по специфическим паттернам силуэта. Исследователи создали проект Adversarial T-Shirt. Они разработали принт для ткани, который учитывал деформацию одежды при ходьбе человека. Эксперименты показали, что детекторы объектов семейств YOLOv2 и Faster R-CNN полностью теряли рамку локализации (bounding box) человека, если на нём была надета эта футболка. Для ИИ объект превращался в фоновый шум.

5. Эволюция защиты: как вернуть зрение алгоритмам

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

  1. Состязательное обучение (Adversarial Training): наиболее эффективная форма аугментации данных на этапе тренировки сети. В процессе обучения алгоритм генерации (например, PGD) непрерывно создаёт атакующие примеры, и модель сразу учится минимизировать ошибку на них. Это радикально повышает робастность финальных весов нейросети.
  2. Сертифицированная робастность (Certified Robustness): математические методы верификации (например, рандомизированное сглаживание / Randomized Smoothing), которые строго доказывают, что в пределах определённого радиуса изменений вокруг входного вектора ответ нейросети останется неизменным. Это переводит защиту из плоскости эвристики в плоскость строгих математических гарантий.

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