Алгоритм распознавания образов, воплощенный в обученной нейросети, должен поместить каждое изображение в этом пространстве в одну из гораздо меньшего числа категорий. В простейшем случае это сводится к рассечению пространства образа на отдельные области при помощи гиперплоскостей – эта процедура для двумерного пространства показана на рисунке ниже. Она делит пространство на множество сегментов, по одному на каждую категорию. Если мы меняем изображение на другое, отстоящее от него, скажем, на 40 единиц по Хэммингу, то на картинке изменяются всего 40 бит. Глаз воспринимает одновременно 8 млн бит, так что эти 40 бит составят всего лишь 0,0005 % от общего их числа – намного меньше порогового значения, при котором человек способен заметить какую-либо разницу. Однако число изображений на таком хэмминговском расстоянии от первого составляет 250
, то есть около одного квадриллиона. Это намного больше, чем число категорий, которые способна различать система компьютерного зрения. Поэтому неудивительно, что такое небольшое изменение картинки может заставить компьютер ошибочно прочитать ее.Рассечение пространства изображения гиперплоскостями. Пространство здесь двумерное, и пять гиперплоскостей (в данном случае, линий) разделяют его на 13 сегментов. Один из них закрашен
Для математического анализа удобно представлять битовые строки не над конечным полем, а в виде действительных чисел. Например, один байт, состоящий из восьми бит и равный, скажем, 10001101, можно рассматривать как действительное число с двоичной записью дробной части 0,10001101. В этом случае пространство всех изображений размером 1 Мб становится миллионномерным пространством векторов. При помощи такой модификации Шамир и его коллеги доказали гораздо более существенное. Если дано изображение в одном из сегментов, выделенных гиперплоскостями, и второй сегмент, то сколько бит нужно поменять в изображении, чтобы переместить его во второй сегмент? Их анализ показывает, что, например, если пространство образа разделено на миллион сегментов при помощи 20 гиперплоскостей, то достаточно изменить всего лишь две координаты для перемещения заданной точки в любой сегмент при условии, что размерность пространства образа превышает 250. В общем случае, если нейросеть обучена различать заданное число категорий, то число координат, которые необходимо изменить, чтобы переместить заданное изображение в
Исследователи проверили эту теорему на коммерческой системе распознавания чисел. В ней всего 10 категорий – это цифры от 0 до 9. Они сгенерировали несколько состязательных изображений, способных убедить систему принять за цифру 7 любую из 10 возможных цифр. Чтобы этого добиться, достаточно поменять всего 11 бит. То же относится и к остальным цифрам, отличным от 7.
Следует ли нам беспокоиться по этому поводу? «Естественные» образы того типа, с которым беспилотный автомобиль будет обычно встречаться, не нацелены специально на обман системы. Однако автомобилю придется распознавать порядка полумиллиона изображений в день, а чтобы вызвать ДТП, достаточно одной неверной интерпретации. Главная угроза здесь в том, что вандалы или террористы могут без труда изменить дорожные знаки, добавив к ним маленькие кусочки черной или белой изоленты, и заставить компьютер поверить, что знак STOP – это на самом деле ограничение скорости 90 км/ч. Все это лишь усиливает тревожное ощущение, что беспилотные автомобили внедряются с излишней поспешностью из-за коммерческих интересов. Если вы с этим не согласны, повторю: мы
Не позволяйте автобусу управлять самим собой.
4
Почки Кёнигсберга
Помимо той ветви геометрии, что занимается размерами, есть другая ветвь, которую первым упомянул Лейбниц, назвав ее геометрией положения… Таким образом, когда речь зашла о задаче, которая казалась геометрической, но не требовала измерения расстояния, я не сомневался, что она связана с геометрией положения. Поэтому я решил привести здесь метод, найденный мной для решения такого рода задач.