Это база: Зачем нужна математика в повседневной жизни - Йэн Стюарт
Шрифт:
Интервал:
Закладка:
Если верить производителям, одним из потенциальных преимуществ беспилотных машин является безопасность. Водители совершают ошибки и потому попадают в дорожные происшествия. Компьютер не отвлекается и после достаточной отработки, по идее, должен обеспечивать более высокую безопасность. Еще одно преимущество в том, что беспилотному автобусу не нужно платить. Большой недостаток, если не считать потерю работы водителями, – то, что эта технология пока находится в начальной стадии развития, и нынешние системы не оправдывают ожиданий. Случайные прохожие и ряд водителей-испытателей уже стали жертвами аварий, однако беспилотные автомобили продолжают тестироваться на улицах больших городов в разных странах. Оправдывается это тем, что их необходимо испытывать в реальном мире и что в конечном итоге они спасут больше жизней, чем отнимают сейчас. Готовность, с которой регулирующие органы соглашаются с подобными аргументами, удивительна. Если бы кто-то предложил испытывать новое лекарство на случайных людях, ничего им не сообщая и не спрашивая согласия, под тем предлогом, что в результате это спасет больше людей, чем сейчас убьет, это вызвало бы волну возмущения. Мало того, это было бы незаконно почти во всех странах и определенно неэтично.
Два изображения, различающиеся всего несколькими пикселями. Нейронная сеть Inception V3, которой они были продемонстрированы, идентифицировала левое изображение как кошку, а правое как мексиканское блюдо гуакамоле
Технология, лежащая в основе компьютерного зрения, представляет собой еще более модную область машинного обучения. Нейросети глубокого обучения, которые настраивают веса своих связей так, чтобы корректно распознавать изображения, тренируют на громадном массиве изображений до тех пор, пока не будет достигнут приемлемый уровень точности. Эта процедура чрезвычайно успешно используется в широком спектре приложений. Однако в 2013 году стало очевидно, что до сих пор слишком много внимания уделялось успехам машинного обучения и слишком мало – его потенциальным неудачам. Серьезной темой стали «состязательные примеры» – намеренно модифицированные изображения, которые человек воспринимает правильно, а компьютер нет.
На приведенном рисунке слева и справа показаны кошки. Все очевидно. Изображения различаются всего несколькими пикселями и для нас выглядят совершенно идентичными. Стандартная нейросеть, натренированная на громадном количестве изображений кошек и некошек, верно распознает на левой картинке кошку. Однако она считает, что на картинке справа изображено гуакамоле – мексиканское блюдо из авокадо. Мало того, уверенность компьютера в том, что это гуакамоле, составляет 99 %, тогда как для кошки уверенность не превышает 88 %. Как говорится, компьютер – это устройство, способное очень быстро делать миллионы ошибок.
Изображения такого рода называют «состязательными», поскольку они появляются, когда кто-то пытается намеренно обмануть систему. На практике компьютер воспримет большинство подобных изображений как кошку. Кристиан Сегеди с коллегами обратил внимание на существование таких изображений в 2013 году{32}. В 2018 году Ади Шамир с коллегами{33} объяснил, почему в системах глубокого обучения могут возникать состязательные примеры, почему они неизбежны и почему достаточно изменить всего несколько пикселей, чтобы ввести нейросеть в заблуждение.
Корень такой восприимчивости к серьезным ошибкам кроется в размерности. Обычный способ измерения различия между двумя битовыми строками состоит в том, чтобы найти расстояние Хэмминга между ними: определить, сколько бит следует заменить, чтобы из одной строки получить другую. Так, расстояние Хэмминга между 10001101001 и 10101001111 равно четырем, и различают их выделенные жирным цифры: 10101001111. В компьютере любое изображение представлено в виде очень длинной битовой строки. Если изображение занимает 1 Мб (мегабайт), то длина этой строки составляет 223, или около 8 млн бит. Так что пространство изображений имеет размерность 8 млн над конечным полем, состоящим из 0 и 1. Оно содержит 28 388 608 точек.
Алгоритм распознавания образов, воплощенный в обученной нейросети, должен поместить каждое изображение в этом пространстве в одну из гораздо меньшего числа категорий. В простейшем случае это сводится к рассечению пространства образа на отдельные области при помощи гиперплоскостей – эта процедура для двумерного пространства показана на рисунке ниже. Она делит пространство на множество сегментов, по одному на каждую категорию. Если мы меняем изображение на другое, отстоящее от него, скажем, на 40 единиц по Хэммингу, то на картинке изменяются всего 40 бит. Глаз воспринимает одновременно 8 млн бит, так что эти 40 бит составят всего лишь 0,0005 % от общего их числа – намного меньше порогового значения, при котором человек способен заметить какую-либо разницу. Однако число изображений на таком хэмминговском расстоянии от первого составляет 250, то есть около одного квадриллиона. Это намного больше, чем число категорий, которые способна различать система компьютерного зрения. Поэтому неудивительно, что такое небольшое изменение картинки может заставить компьютер ошибочно прочитать ее.
Рассечение пространства изображения гиперплоскостями. Пространство здесь двумерное, и пять гиперплоскостей (в данном случае, линий) разделяют его на 13 сегментов. Один из них закрашен
Для математического анализа удобно представлять битовые строки не над конечным полем, а в виде действительных чисел. Например, один байт, состоящий из восьми бит и равный, скажем, 10001101, можно рассматривать как действительное число с двоичной записью дробной части 0,10001101. В этом случае пространство всех изображений размером 1 Мб становится миллионномерным пространством векторов. При помощи такой модификации Шамир и его коллеги доказали гораздо более существенное. Если дано изображение в одном из сегментов, выделенных гиперплоскостями, и второй сегмент, то сколько бит нужно поменять в изображении, чтобы переместить его во второй сегмент? Их анализ показывает, что, например, если пространство образа разделено на миллион сегментов при помощи 20 гиперплоскостей, то достаточно изменить всего лишь две координаты для перемещения заданной точки в любой сегмент при условии, что размерность пространства образа превышает 250. В общем случае, если нейросеть обучена различать заданное число категорий, то число координат, которые необходимо изменить, чтобы переместить заданное изображение в любую категорию, примерно соответствует числу категорий.
Исследователи проверили эту теорему на коммерческой системе распознавания чисел. В ней всего 10 категорий – это цифры от 0 до 9. Они сгенерировали несколько состязательных изображений, способных убедить систему принять за цифру 7 любую из 10 возможных цифр. Чтобы этого добиться, достаточно поменять всего 11 бит. То же относится и к остальным цифрам, отличным от 7.
Следует ли нам беспокоиться по этому поводу? «Естественные» образы того типа, с которым беспилотный автомобиль будет обычно встречаться, не нацелены специально на обман системы. Однако автомобилю придется распознавать порядка полумиллиона изображений в день, а чтобы вызвать ДТП, достаточно одной неверной интерпретации. Главная