50, то есть около одного квадриллиона. Это намного больше, чем число категорий, которые способна различать система компьютерного зрения. Поэтому неудивительно, что такое небольшое изменение картинки может заставить компьютер ошибочно прочитать ее.
Рассечение пространства изображения гиперплоскостями. Пространство здесь двумерное, и пять гиперплоскостей (в данном случае, линий) разделяют его на 13 сегментов. Один из них закрашен
Для математического анализа удобно представлять битовые строки не над конечным полем, а в виде действительных чисел. Например, один байт, состоящий из восьми бит и равный, скажем, 10001101, можно рассматривать как действительное число с двоичной записью дробной части 0,10001101. В этом случае пространство всех изображений размером 1 Мб становится миллионномерным пространством векторов. При помощи такой модификации Шамир и его коллеги доказали гораздо более существенное. Если дано изображение в одном из сегментов, выделенных гиперплоскостями, и второй сегмент, то сколько бит нужно поменять в изображении, чтобы переместить его во второй сегмент? Их анализ показывает, что, например, если пространство образа разделено на миллион сегментов при помощи 20 гиперплоскостей, то достаточно изменить всего лишь две координаты для перемещения заданной точки в любой сегмент при условии, что размерность пространства образа превышает 250. В общем случае, если нейросеть обучена различать заданное число категорий, то число координат, которые необходимо изменить, чтобы переместить заданное изображение в любую категорию, примерно соответствует числу категорий.
Исследователи проверили эту теорему на коммерческой системе распознавания чисел. В ней всего 10 категорий – это цифры от 0 до 9. Они сгенерировали несколько состязательных изображений, способных убедить систему принять за цифру 7 любую из 10 возможных цифр. Чтобы этого добиться, достаточно поменять всего 11 бит. То же относится и к остальным цифрам, отличным от 7.
Следует ли нам беспокоиться по этому поводу? «Естественные» образы того типа, с которым беспилотный автомобиль будет обычно встречаться, не нацелены специально на обман системы. Однако автомобилю придется распознавать порядка полумиллиона изображений в день, а чтобы вызвать ДТП, достаточно одной неверной интерпретации. Главная угроза здесь в том, что вандалы или террористы могут без труда изменить дорожные знаки, добавив к ним маленькие кусочки черной или белой изоленты, и заставить компьютер поверить, что знак STOP – это на самом деле ограничение скорости 90 км/ч. Все это лишь усиливает тревожное ощущение, что беспилотные автомобили внедряются с излишней поспешностью из-за коммерческих интересов. Если вы с этим не согласны, повторю: мы никогда не стали бы внедрять новое лекарство или медицинскую процедуру с такой небрежностью. Особенно если есть серьезные основания подозревать, что это лекарство или процедура могут оказаться опасными.
Не позволяйте автобусу управлять самим собой.
4Почки Кёнигсберга
Помимо той ветви геометрии, что занимается размерами, есть другая ветвь, которую первым упомянул Лейбниц, назвав ее геометрией положения… Таким образом, когда речь зашла о задаче, которая казалась геометрической, но не требовала измерения расстояния, я не сомневался, что она связана с геометрией положения. Поэтому я решил привести здесь метод, найденный мной для решения такого рода задач.
На протяжении большей части человеческой истории органы, с которыми люди рождались, оставались с ними до самой смерти и зачастую становились ее причиной. Если отказывало сердце, или печень, или легкие, или кишечник, или желудок, или почки, то человек просто умирал. Некоторые части тела, прежде всего конечности, можно было хирургически удалить, и если человек выдерживал это мероприятие, то он мог существовать и дальше. Появление анестетиков и создание стерильных условий в операционных сделали хирургические операции менее болезненными, по крайней мере пока пациент был без сознания, и сильно увеличили шансы больного на выживание. Антибиотики позволили справляться с инфекциями, которые прежде были фатальными.
Мы воспринимаем эти чудеса современной медицины как нечто само собой разумеющееся, но именно они, по существу, впервые дали возможность врачам и хирургам излечивать болезни. Мы умудрились растранжирить большую часть преимуществ антибиотиков в результате массового скармливания их скоту не ради лечения болезней, а чтобы заставить животных увеличиваться в размерах и расти быстрее. И еще в результате того, что миллионы людей прекращали принимать таблетки, как только им становилось лучше, вместо того чтобы пройти полный курс лечения, предписанный врачом. Обе практики привели к развитию устойчивости к антибиотикам у бактерий. Теперь ученые лихорадочно пытаются получить антибиотики следующего поколения. Если им удастся это сделать, я надеюсь, нам хватит здравого смысла не погубить и эти лекарства.
Сегодня становится реальностью и другая мечта хирургов прошлого: пересадка органов. Пока нам, кажется, удается не испортить здесь ничего. Если обстоятельства складываются благоприятно, вы можете получить новое сердце, или новое легкое, или новую почку. Даже новое лицо. Когда-нибудь добрая свинка даже сможет вырастить для вас орган на замену, хотя и не добровольно.
В 1907 году американский медик-исследователь Саймон Флекснер, рассуждая о будущем медицины, предвидел появление возможности хирургической замены больных органов на здоровые от другого человека. Он называл в их числе артерии, сердце, желудок и почки. Первую пересадку почки провел в 1933 году советский хирург Юрий Вороной, который изъял почку у донора, умершего за шесть часов до этого, и пересадил ее пациентке в область бедра. Пациентка умерла через два дня, когда новая почка была отторгнута, потому что у донора была неподходящая группа крови. Самым серьезным препятствием для успешной пересадки органов является иммунная система организма, которая распознаёт новый орган как чужеродный и отторгает его. Первую успешную пересадку почки осуществил Ричард Лоулер в 1950 году. Донорская почка функционировала 10 месяцев, прежде чем была отторгнута, но к тому времени собственные почки пациентки пришли в норму, и женщина прожила еще пять лет.
Человек имеет две почки и вполне может жить с одной. Так что органы для пересадки могут быть получены от живого донора, что сильно упрощает процесс. Почка – самый простой орган для пересадки. Не так уж сложно убедиться, что ткани донора соответствуют по типу тканям реципиента и не будут отторгнуты, а на случай, если что-то пойдет не так, имеются диализные аппараты, которые выполняют функции почки. До появления в 1964 году иммунодепрессантов, предотвращающих отторжение донорской почки, пересадка почек от умерших доноров не проводилась (по крайней мере, в США и Великобритании). Почки для пересадки жертвовали живые доноры, и таких случаев было немало.
В большинстве случаев донор был близким родственником реципиента. Это повышало вероятность совместимости тканей, но главной причиной было то, что мало кто готов был пожертвовать свою почку чужому человеку. В конце концов, если у вас есть вторая, вы можете и дальше жить нормальной жизнью, если одна почка вдруг откажет. Если отдать одну почку постороннему человеку, резерва не останется. Когда же реципиент – ваша мать, брат или дочь, то спасение их жизни перевешивает риск. Проблема постороннего человека воспринимается не так близко к сердцу, и готовых пойти на риск не так много.
Некоторые страны предлагали стимул: деньги. Можно было заплатить постороннему человеку, чтобы он пожертвовал почку одному из ваших родственников. Опасности, связанные с разрешением такого рода операций, достаточно очевидны: нужда, например, может заставить бедных продавать почки богатым. В Великобритании закон прямо запрещал отдавать почку кому-либо, кроме близкого родственника. Законы, принятые в 2004 и 2006 годах, устранили это препятствие, но добавили дополнительные меры против злоупотреблений. Одним из условий стал запрет на передачу каких бы то ни было денег.
Схема расположения семи мостов Кёнигсберга, сделанная Эйлером
Эти изменения в законодательстве открыли путь для новых стратегий поиска доноров и позволили резко повысить число операций. Они также поставили перед специалистами немало математических задач, связанных с эффективным использованием этих стратегий. При этом выяснилось, что инструменты для решения подобных задач уже существуют. Все началось почти 300 лет назад с одной маленькой головоломки.
Это хорошо известная история, но я все равно перескажу ее, по двум причинам. Она готовит сцену для математической задачи и, кроме того, часто воспринимается неверно. Я, например, до какого-то момента понимал ее совершенно неправильно.
Калининград, город в сегодняшней России, когда-то назывался Кёнигсбергом и в XVIII веке находился в Пруссии. Через город протекала река Прегель, образуя два острова, Кнайпхоф и Ломзе. В городе было семь мостов: каждый из берегов реки связывали с Кнайпхофом по два моста; с Ломзе берега связывало по одному мосту; и наконец, один мост соединял острова друг с другом. Сегодня топография города выглядит иначе. Во время Второй мировой войны город сильно бомбили, и мосты b и d на схеме были разрушены. Мосты a и c были снесены, чтобы освободить место для прокладки новой дороги, а взамен них были выстроены новые мосты. Вместе с оставшимися тремя мостами, один из которых был перестроен в 1935 году, сейчас в городе на прежних местах находятся пять мостов.
Легенда гласит, что граждан Кёнигсберга давно интересовал вопрос, можно ли совершить пешую прогулку по городу, пройдя по каждому из мостов ровно один раз. Это была простенькая головоломка из разряда тех, что можно увидеть на странице газеты или ее электронного эквивалента. Эксперимен