Краткое объяснение состязательных примеров.
Что это?
Простыми словами:
Любой ввод в модель машинного обучения, измененный таким образом, что он по-прежнему воспринимается человеком как исходный пример, но при подаче в модель машинного обучения приводит к неправильной классификации модели или к ложным прогнозам.
Почему они возникают?
Обычный конвейер машинного обучения выглядит так:
Здесь задача модели - изучить или, другими словами, настроить ее параметры в соответствии с поставленной задачей и предоставленными ей примерами.
Во время обучения модель машинного обучения выполняет подзадачу изучения высокоуровневых представлений функций примеров, что оказывается полезным для достижения более высокой производительности при выполнении поставленной задачи.
Модель изучает n-мерное пространство с похожими примерами кластеризации рядом с определенными регионами. Это создает области с высокой плотностью распределения вероятностей для примеров. Эти области называются многообразиями классов или просто многообразиями.
Экспериментально установлено, что большинство примеров лежат очень близко к границе раздела многообразий различных классов.
Итак, если активация модели для определенного примера должна была лежать в области в n-мерном пространстве представления, чтобы ее можно было кластеризовать с другими примерами этого класса, скажем, с классом 1, но из-за добавления шума эти активации перемещаются в другую область, которая содержит примеры другого класса, скажем, класса 2, модель будет предсказывать ввод как класс 2, поскольку его представление находится в кластере регионов примеров класса 2.
Почему состязательный пример остается ощутимо похожим на исходное изображение? Это связано с близостью к гиперплоскости пространств областей разных классов. Большинство классов сосредоточены очень близко друг к другу, поэтому небольшое движение в одном направлении может вызвать ложные прогнозы.
Создание состязательного примера:
Итак, для примера такого, что Y (Xi) = Ci
Поскольку Y является моделью, а Ci является фактическим прогнозом Ci ϵ {C1, C2, C3…. } или Ci ϵ R
После добавления шума Xi ‘= Xi + η, где || η || ∞ ≤ ε (бесконечная норма η)
Для некоторого порога ε.
И Y (Xi ’) = Cj такое, что Cj ≠ Ci.
Пример того, как шум может влиять на активации:
На изображении выше класс лягушки показывает наивысшие логиты в обоих крайних случаях, поэтому можно сказать, что направление, в котором мы движемся, является направлением класса лягушки.
Класс автомобиля (легковой автомобиль) показывает увеличение в прямом направлении, но не так сильно, как класс «лягушка».
Наивысшее значение логитов автомобиля составляет около 0 эпсилон, это показывает, что модель правильно классифицирована без какого-либо шума, поскольку эта область может быть для класса автомобиля, но как только мы движемся в направлении -ve или + ve, другие классы (в основном класс лягушки ) более вероятно, и регион может относиться к классу лягушек в любом направлении для этого направления.
Это связано с тем, что большинство моделей являются линейными или кусочно-линейными, поэтому отображение от входа к выходу очень линейно и создает более жесткие границы, которые могут легко привести к ошибочной классификации.
Некоторые отличные сведения о свойствах состязательных примеров можно найти в этой замечательной статье: https://arxiv.org/abs/1711.02846
Более подробную информацию о различных типах создания состязательных примеров и стратегиях защиты можно найти в замечательных статьях опросов за 2018 и 2019 годы здесь:
- Обзорный доклад 2018: Примеры состязательности: атаки и защиты для глубокого обучения
- Обзорный доклад 2019: Состязательные атаки и защиты в изображениях, графиках и тексте: обзор
Ключевые выводы
Примеры состязательности по-прежнему являются серьезной нерешенной проблемой и представляют угрозу на пути к AGI.
___________________________________________________________________