Целью данной статьи является проверка устойчивости сверточных нейронных сетей на атаку FGSM.
FGSM
FGSM (fast sign gradient method – метод быстрого градиентного знака)
Метод работает с использованием градиентов нейронной сети для создания состязательного примера. Для входного изображения метод использует градиенты потерь по отношению к входному изображению, чтобы создать новое изображение, которое максимизирует потери. Для этого нужно определить, насколько каждый пиксель изображения влияет на величину потерь, и соответственно добавить множитель изменения.
Над данной тематикой работают эксперты из таких крупных компаний как Google, OpenAi, IBM и т.д. Экспертами выделены такие виды атак, как: OnePixel, FGSM, DeepFool, JGSM и т.д.
Сверточные нейронные сети
СНС используются в основном для классификации изображений. В данной статье используются модели глубокого обучения Keras. Их обучали на таких наборах данных как CIFAR-10, CIFAR-100, ImageNet. Ниже приведены характеристики данных моделей:
Top-1 – точность соответствия нужного класса и класса, у которого предсказана максимальная вероятность,
Top-5 – точность вхождения нужно класса в список из пяти классов, предсказанных с наибольшей вероятностью
Параметры – количество объектов использовавшихся при обучении.
Размер - сколько весит нейронная сеть
MobileNet2
Данная архитектура нейронной сети, оптимизированная для мобильных устройств. При ее создании, Google стремились к модели, которая обеспечивала высокую точность при минимальных параметрах и математических операциях. Это было очень необходимо для того, чтобы создать глубокие нейронные сети для смартфонов.
Исходное изображение:
Зашумленные данные с параметрами 0.1, 0.2, 0.3
Уже при значении 0.1 существенно падает точность с 65% до 31%. Далее при большем зашумлении идет ошибочное определение объекта.
Зашумленные данные с параметрами 0.4, 0,5
График точности после атаки:
ResNet152V2
Классическая нейронная сеть, используемая в качестве основы для многих задач компьютерного зрения. Эта модель стала победителем конкурса ImageNet в 2015 году. Основополагающим достижением ResNet стало то, что оно позволило нам успешно обучать чрезвычайно глубокие нейронные сети с более чем 150 слоями.
Исходное изображение:
Зашумленные данные с параметрами 0.1, 0.2, 0.3
ResNet вплоть до значения равному 0.3 продолжает правильно определять объект с высокой точностью. Как видно из таблицы, у ResNet довольно высокая точность Top5 равная 0.942, что подтверждают следующие значения, так как объект входит в нужный класс объектов ,даже при сильном зашумлении.
Зашумленные данные с параметрами 0.4, 0,5
График точности после атаки:
DenseNet201
Плотная сверточная сеть использует меньше параметров и имеет более высокую точность по сравнению со стандартной моделью ResNet. В отличие от ResNet, признаки, прежде чем они будут переданы в следующий слой не суммируются, а конкатенируются в единый тензор. При этом количество параметров сети DenseNet намного меньше, чем у сетей с такой же точностью работы. DenseNet работает особенно хорошо на малых наборах данных.
Исходное изображение:
Зашумленные данные с параметрами 0.1, 0.2, 0.3
Зашумленные данные с параметрами 0.4, 0,5
График точности после атаки:
InceptionV3
Это сверточная нейронная сеть для помощи в анализе изображений и обнаружении объектов , начавшаяся как модуль для Google. Это третья версия Inception Convolutional Neural Network Google, первоначально представленное во время конкурса ImageNet Recognition Challenge. Inceptionv3 состоит из 48 слоев.
Исходное изображение:
Зашумленные данные с параметрами 0.1, 0.2, 0.3
Зашумленные данные с параметрами 0.4, 0,5
График точности после атаки:
NASNetMobile
Мобильная сверточная нейронная сеть, которая обучена больше чем на миллионе изображений от базы данных ImageNet
Исходное изображение:
При первом же наложении произошло ошибочное детектирование объекта и точность заметно снизилась.
Зашумленные данные с параметрами 0.1, 0.2, 0.3
Но далее при более сильном воздействии определение класса объекта не изменилось.
Зашумленные данные с параметрами 0.4, 0,5
NASNetLargde
Большая сверточная нейронная сеть, которая обучена больше чем на миллионе изображений от базы данных ImageNet.
Исходное изображение:
Зашумленные данные с параметрами 0.1, 0.2.
Зашумленные данные с параметрами 0.3, 0.4, 0,5
График точности после атаки:
Xсeption
Архитектура сверточной нейронной сети, основанная исключительно на разделяемых по глубине сверточных слоях.
Исходное изображение:
Зашумленные данные с параметрами 0.1, 0.2.
Зашумленные данные с параметрами 0.3, 0.4, 0,5
График точности после атаки:
Итог
Были использованы такие архитектуры сверточных нейронных сетей как MobileNet, ResNet, DenseNet, Inception, NASNetMobile, NASNetLarge, Xception.
Среди мобильных версий MobileNet, показал себя лучше по сравнению с NASNetMobile по показателю точности Top 1.
Среди более глубоких архитектур, лучше всего справился с задачей Xception со высоким показателем Top1. За ним следуют модели NASNetLarge, Inception с определением 4 объектов из 5, но меньшей точностью. Менее устойчивыми оказались ResNet и DenseNet.
Исходя из данных результатов, можно сказать, что количество параметров используемых при обучении и глубина нейронной сети не являются гарантией успешного распознавания объекта при вредоносном воздействии на систему.