Как избежать взлома нейронки?
Adversarial Robustness Toolbox (ART) — это специализированная библиотека на языке Python, разработанная для защиты и обеспечения безопасности приложений машинного обучения от адверсариальных атак.
Что такое за зверь этот... адверсариальные атаки. Разве нейронки можно взломать?
Адверсариальные атаки — это специально созданные входные данные, которые хакеры намеренно меняют с целью введения ошибок в работу моделей.
Короче, вместо котиков и собачек, у нас толпы демонов из Doom. И как теперь построить детектор пушистиков?
Библиотека дает много инструментов для создания адверсариальных примеров — входных данных: Fast Gradient Sign Method (FGSM), Projected Gradient Descent (PGD).
FGSM вычисляет градиент функции потерь по отношению к входам, затем изменяет входные данные в направлении этого градиента, умножая его на маленькую константу (эпсилон) и затем добавляя знак этого градиента к исходным данным.
Он начинается с исходного входа и повторяет изменения входных данных в направлении градиента функции потерь с небольшим шагом обучения (learning rate), чтобы максимизировать потери модели.
В отличие от простых методов (FGSM), PGD выполняет несколько итераций обновления входных данных, применяя проекцию обратно в допустимое множество данных после каждой итерации, чтобы сохранить исходную структуру входа.
Благодаря дистиляции, пространственной фильтрации и адаптивной регуляризации через библиотеку можно понизить степень восприимчивости к атакам.
ART совместима с популярными фреймворками ML: TensorFlow, PyTorch и Keras, что облегчает ее использование в различных проектах и сценариях.
А скачать библиотеку можно — тут.