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