Как обучить нейросеть распознавать объекты на картинке

0
20

Исходный кот. Как заставить нейронную сеть ошибиться

Автоматизация процесса

Для этой уязвимости есть библиотека one-pixel-attack-keras, которая делает эксплуатацию тривиальной. Для уверенного результата необходим не один, а несколько (три или пять) пикселей. Но качество этого метода и так превзошло ожидания ученых: около 30% изображений было превращено в подделки изменением одного пикселя, а изменением трех — уже 80%.

Помимо такого способа обмана нейросети, ученые придумали еще очень много разных подходов, чтобы оставить искусственный интеллект в дураках. Именно поэтому была создана универсальная библиотека foolbox, которая автоматизирует все шаги, необходимые для создания поддельной картинки. Давай скачаем и используем ее!

Распознавание объектов — метод компьютерного зрения для поиска и идентификации людей, животных, зданий, транспорта на изображениях или видео. Включает определение класса: автомобиль, человек, животное, выделение границ объекта и его местоположение на изображении.

Для распознавания объектов применяются модели машинного и глубокого обучения, такие как сверточные нейронные сети (CNN), региональные сверточные нейронные сети (R-CNN), пирамидальные сверточные сети (FPN) и другие. Эти алгоритмы обучаются на размеченных датасетах, содержащих изображения с указанным местоположением и классом объектов.

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

Математика такой атаки до неприличия проста: мы выворачиваем процесс обучения нейронной сети наизнанку. Вместо фиксированных входных данных (тренировочного датасета) и обучающейся сети тут мы имеем меняющиеся, «‎обучающиеся»‎ входные данные и фиксированную сеть.

Используя схожую технологию, что и у foolbox , ученые придумали другую атаку на нейросети, которая затрагивает лишь один пиксель. Новый алгоритм ищет тот пиксель изображения, который больше всего влияет на вывод нейронной сети, а затем использует найденную «‎точку давления»‎, чтобы поменять правильный результат на неверный.

ЧИТАТЬ ТАКЖЕ:  Как сделать картинку с помощью нейросети

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

Простая реализация

Самый большой минус ненаправленной атаки — это полное отсутствие у результата какой-либо смысловой нагрузки для человека. Но преимущество такой атаки — возможность легко применять в реальном мире. Например, через видеокамеры устройств IoT или систем безопасности: достаточно распечатать результат на бумажке и поднести к объективу.

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

Нейросети теперь повсюду, и распознавание объектов на картинках — это одно из самых популярных применений. Но что, если ты не хочешь, чтобы объекты на твоей картинке распознали? Или, например, хотел бы, чтобы нейросеть «увидела» что-то, что не увидит человек, глядя на ту же картинку? Для этого придуманы обманные методы, которые обращают нейросети против них самих. И благодаря готовым библиотекам пользоваться ими легче легкого.

Выбор метода зависит от требований к проекту, доступных ресурсов и задач, которые необходимо решить. Классические методы часто используются для простых задач, но для сложных или при обработке большой библиотеки данных сверточные нейронные сети, как правило, являются наиболее эффективным подходом.

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь