ВВЕДЕНИЕ. Модели машинного обучения приобретают все большее значение для принятия решений в различных областях, включая финансы, здравоохранение и безопасность. Однако эти модели уязвимы для атак злоумышленников, которые используют уязвимости в их конструкции. Состязательное машинное обучение — это метод, используемый для атаки на модели машинного обучения путем использования этих уязвимостей. В этой статье мы представим введение в состязательное машинное обучение, включая его определение, типы атак и механизмы защиты.

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

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

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

Функция состязательных потерь. Функция состязательных потерь используется для измерения разницы между выходными данными модели на исходных входных данных и выходными данными на враждебных входных данных. Он определяется следующим образом:

L = L_original + λ * L_adversarial

где L_original — исходная функция потерь, L_adversarial — функция потерь для враждебного входа, а λ — гиперпараметр, управляющий компромиссом между ними.

Метод быстрого градиентного знака. Метод быстрого градиентного знака (FGSM) — это популярный метод создания состязательных примеров. Он определяется следующим образом:

x_adversarial = x + ε * знак (∇_x L)

где x — исходный вход, ε — небольшое возмущение, ∇_x L — градиент функции потерь по отношению к x, а sign() — функция знака.

Вот tensorflow tutorial, который иллюстрирует процесс создания состязательных примеров с использованием FGSM.

Метод быстрого градиентного знака (FGSM) — это один из самых ранних и простых методов, используемых для создания состязательных примеров. FGSM атакует модель, искажая входные данные, используя градиенты функции потерь по отношению к входу. Затем возмущение добавляется к входным данным для создания состязательного примера.

Вот шаги для создания состязательных примеров с использованием FGSM:

  1. Входные данные. Первым шагом является выбор точки входных данных, которая обычно является изображением в приложениях компьютерного зрения.
  2. Целевая метка: второй шаг — выбрать целевую метку. Целевая метка — это класс, к которому мы хотим, чтобы модель ошибочно классифицировала входные данные.
  3. Вычислить градиенты. Третий шаг — вычислить градиенты функции потерь по отношению к входным данным. Это делается с помощью обратного распространения.
  4. Вычислить возмущение: четвертый шаг заключается в вычислении возмущения путем умножения знака градиентов на небольшое значение эпсилон (ε), чтобы контролировать величину возмущения. Знак градиента определяет направление возмущения.
  5. Добавить возмущение к входным данным: последний шаг — добавить возмущение к входным данным, чтобы сгенерировать состязательный пример.

Математическая формула для генерации состязательных примеров с использованием FGSM выглядит следующим образом:

Состязательный пример = входные данные + ε * знак (∇потеря (входные данные, целевая метка))

где ε — величина возмущения, а sign(∇loss (входные данные, целевая метка)) — знак градиентов функции потерь по отношению к входным данным.

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

Для получения более подробной информации см. руководство по надежному ИИ (https://adversarial-robustness-toolbox.readthedocs.io/en/latest/).