Нейросеть заставили «развидеть» самолёты
Не секрет, что нейросети для распознавания и классификации объектов можно определённым образом обманывать, причём незаметным для невооружённого глаза способом. Если внести в изображение с определённым объектом некоторые правки, можно заставить алгоритм увидеть на нём уже совершенно другой объект. Поскольку нейросетевые алгоритмы сегодня применяются в беспилотных автомобилях, системах распознавания лиц и военной технике, исследователи небезосновательно считают подобные состязательные примеры серьёзной угрозой безопасности.
Состязательные изображения можно условно разделить на два основных класса: картинки с попиксельной заменой, годящиеся для атак в цифровом виде, и так называемые стикеры — небольшие самостоятельные изображения, в которых человек не может распознать никакой конкретный объект. Стикеры могут применяться и в офлайне — к примеру, для обмана систем распознавания лиц, а нидерландские учёные решили испытать их в качестве камуфляжа для самолётов и другой военной техники, стоящей на аэродромах или любых других открытых пространствах.
Для этого исследователи применили алгоритм обнаружения объектов YOLOv2 и классический метод подбора состязательного изображения. Сначала нейросеть берёт спутниковый снимок стоящих на аэродроме самолётов и накладывает это изображение на каждый самолёт. Путём обработки в фоторедакторе алгоритм получал в результате снимок с наложенным на самолёты довольно реалистичным изображением, которое по своему виду было максимально похоже на реальный объект, а не вставленный программным образом.
Затем изображение оптимизировалось с помощью функции потерь, которая учитывает три фактора: можно ли реально напечатать определённый цвет или сочетание, насколько уверенно нейросеть распознает объекты любых классов на фотографии и вариативность состязательного изображения. Затем цикл повторялся, но уже с оптимизированным изображением. В результате за множество циклов появляется изображение, которое сбивает с толку алгоритм распознавания объектов и при этом устойчиво к различным помехам, которые могут появиться при съёмке с беспилотника или спутника.
С видеокартой Nvidia GTX 1080Ti на создание каждого изображение уходило около 30 часов непрерывных вычислений. Эксперименты на спутниковых снимках показали, что большие изображения (20% от ширины ограничивающей рамки, рисуемой алгоритмом обнаружения объектов) снижают среднюю точность алгоритма обнаружения с 94% до 5,6%, а маленькие изображения (10%) — до 37,8%. Также оказалось, что изображение можно накладывать и на соседнюю часть взлётно-посадочной полосы, а не на сам самолёт — правда, эффективность обмана в таком случае была заметно ниже.
Для полноценной проверки алгоритма необходимо провести эксперимент в реальных условиях — накрыв самолёт тентом с напечатанным изображением. Случайные изменения, которые вносились в изображения, вполне достаточны для имитации реальных условий, считают учёные. Пока они проверили лишь один алгоритм, хотя в реальности разные системы обнаружения военной техники могут использовать разные алгоритмы. Впрочем, возможно создать изображение, которое запутает разные алгоритмы распознавания.