Успехи, достигнутые за последние пять лет в области компьютерного зрения, поразили всех. Причем новые алгоритмы способны ориентироваться не только в изображениях человеческого тела. Достижение способности декодировать визуальные образы, сравнимой с той, которой обладает человеческий мозг, было трудной задачей для любого компьютера, претендующего на роль конкурента человеческого разума. Цифровая видеокамера может зафиксировать изображение в таких подробностях, сохранение которых далеко превосходит возможности человеческого мозга, но это не значит, что такая камера способна извлечь из миллионов пикселей связное изложение. Мы все еще далеки от понимания того, как именно мозг обрабатывает данные и объединяет их в единую концепцию, не говоря уже о воспроизведении этого процесса в наших кремниевых друзьях.
Почему, когда мы получаем информацию, поступающую через наши органы чувств, мы способны интегрировать ее в единое целое? Мы не воспринимаем красный цвет и кубическую форму красного кубика как две разные характеристики. Они сливаются воедино. Воспроизведение такого слияния является одной из самых трудных задач в процессе обучения компьютера интерпретации изображений. Считывание изображения пиксель за пикселем мало что говорит об общей картине. Чтобы ощутить это на собственном опыте, возьмите лист бумаги и проделайте в нем маленькую дырочку. А теперь положите этот лист на изображение человеческого лица формата А4. Передвигая дырочку по изображению, почти невозможно понять, чей это портрет.
Еще пять лет назад эта задача казалась неразрешимой. Но это было до пришествия машинного обучения. В прошлом программисты пытались разрабатывать нисходящие алгоритмы для распознавания визуальных образов. Но попытки создания наборов инструкций типа «если… то…» для идентификации изображений так и не увенчались успехом. Все изменила восходящая стратегия, позволяющая алгоритму создавать свое собственное дерево решений, исходя из тренировочных данных. Новым ингредиентом, давшим такую возможность, было огромное количество размеченных визуальных данных, имеющееся теперь в Сети. Любая картинка, опубликованная в инстаграме, в сопровождении наших комментариев дает полезные данные, ускоряющие процесс обучения.
Чтобы оценить силу этих алгоритмов, можно загрузить какое-нибудь изображение на сайт Google Vision по адресу https://cloud.google.com/vision. В прошлом году я загрузил туда изображение нашей рождественской елки, и алгоритм определил с вероятностью 97 %, что ему показывают именно изображение рождественской елки. Может показаться, что в этом нет ничего особенно потрясающего, но на самом деле такой результат впечатляет. Однако эти алгоритмы не безошибочны. После первоначальных восторгов у них обнаружились и отрезвляющие недостатки. Взять, например, алгоритмы, которые британская Служба столичной полиции сейчас обучает находить в Сети порнографические изображения с участием детей. В данный момент их очень сильно сбивают с толку изображения пустынь.
«Иногда он выдает картинку с пустыней и считает, что это непристойное или порнографическое изображение, – признал в недавнем интервью Марк Стоукс, руководитель отдела цифровой и электронной криминалистики. – Почему-то многие используют изображения пустыни в качестве экранной заставки, и алгоритм отмечает такие картинки, принимая цвет песка за цвет кожи». К тому же очертания дюн, по-видимому, соответствуют формам, которые алгоритм принимает за изгибы частей тела.
Мы видели множество ярких демонстраций самых затейливых способов, которыми можно обмануть компьютерное зрение, внушив алгоритму, что он видит нечто, чего на самом деле нет. Независимая группа LabSix, работающая в области исследований искусственного интеллекта и состоящая из выпускников и старшекурсников Массачусетского технологического института, сумела запутать алгоритмы распознавания визуальных образов так, что они приняли трехмерную модель черепахи за винтовку. Результат оставался неизменным, под каким бы углом ни держали черепаху – ее даже можно было поместить в среду, в которой ожидалось найти черепах, а не оружие.
Алгоритм обманули следующим образом: поверх черепахи наложили изображение, которое кажется человеческому глазу рисунком панциря и кожи черепахи, но на самом деле было хитрым образом построено на основе изображений винтовок. Изображение винтовки постепенно и многократно изменялось до тех пор, пока не стало неразличимым для человека. Однако компьютер по-прежнему извлекает из него информацию о винтовке, даже после ее искажения, а она имеет в его системе распознавания объектов более высокий приоритет, чем информация о черепахе, поверх которой она была нанесена. Алгоритмы также удавалось ввести в заблуждение так, чтобы они приняли изображение кошки за тарелку гуакамоле, но достижение LabSix состоит в том, что в работе этой группы алгоритм был уверен, что ему показывают винтовку, независимо от того, под каким углом поворачивали черепаху.