Ложноположительный котик.

Grumpy

Существующие примеры реализаций нейронных сетей очень легко обмануть. Сверточная нейронная сеть (Convolution Neural Network) принимая на вход изображение может выдать вам вероятность того что там изображен котик. Вы получите на выходах сети числа в диапазоне 0-1. Если на изображении действительно котик, то число будет выше некоторого порога, скажем 0,8.

input

Но оказывается, сеть может выдавать аналогичные результаты на другие изображения, которые очень далеки от реальных. Человек такое изображение с кошкой никогда не спутает.

input

Популярно об этих проблемах писал Andrej Karpathy в статье Breaking Linear Classifiers on ImageNet. Есть несколько научных работ которые более подробно изучают этот феномен, Intriguing properties of neural networks, Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images.

Более того, на основании этих идей сделаны инструменты для подготовки изображений, обманывающих классификаторы. Сценарии практического применения нейронных сетей в области компьютерного зрения очень широки. Очевидно, что ложноположительные ответы в этом случае могут быть серьезной проблемой. Более подробно об этом можно посмотреть в видео «Deep Neural Networks are Easily Fooled».

fool

Нейронные сети используются не только для анализа изображений. Распознавание голоса и текста сейчас тоже достигли весьма значимых результатов. Это значит, что можно подделать голос, создать текст, который может легко проходить спам-тест.

Парейдолия.

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

elephant

Парейдолия один из ярких примеров зрительных иллюзий. Наш мозг может увидеть то, чего фактически нет. Вообще, очень интересно находить аналогии между технологическими моделями и физиологией. Одним из таких проявлений является разная скорость опознавания образов. Очень интересно об этом и других нюансах работы мозга рассказывается в докладе Ruth Rosenholtz из MIT, «Что видит ваша визуальная система, когда вы не смотрите».

fast

slow

При разработке приложений в области компьютерного зрения могут появляться аналогичные проблемы. Например, для анализа похожих изображений, построения 3d модели пространства по фотографиям, используются алгоритмы нахождения особых свойств картинки, которые называют дескрипторами. Анализируя разницу яркостей соседних пикселей и другой математический аппарат, такие алгоритмы как SIFT и AKAZE помогают найти одинаковые участки на разных изображениях даже если они повернуты или имеют разный масштаб.

aggressive field

Если на картинке много углов, переходов контраста, AKAZE будет генерировать очень много таких точек, и это приведет к падению скорости - дополнительным циклам расчёта в последующем анализе, например с помощью алгоритмов быстрого поиска соответствий в дескрипторах и Ransac – поиска положения плоскости по облаку точек.

Проблема как возможность.

Есть ли решение проблемы обмана нейронных сетей? Возможно да, причем в разных вариантах. Первым и очевидным решением «в лоб» является построение сетей, обучающихся в том числе на ложноположительных примерах, обратным свойством этого подхода будет повышение вычислительной сложности. Но не следует забывать, что алгоритмы CNN/DNN отличны от тех, которые работают в мозге. Дополнительные исследования в области физиологии могут дать множество новых идей. Одна из которых лежит на поверхности – это бинокулярное зрение. Использование дополнительных данных, например, от вторичных камер (Stereo BM) и 3D сканнеров могут убрать множество неоднозначностей.

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