Почему обученные на GTA нейросети нельзя применять в реальных задачах

Генеральный директор компании Cognitive Technologies Андрей Черногоров о недостатках обучения систем искусственного интеллекта на сгенерированных данных.

Андрей Черногоров
Андрей Черногоров

Недавно Харрисон Кинсли, программист из США, анонсировал нейросеть Charles, которая учится водить без помощи человека. Уникальность системы искусственного интеллекта, написанной на Python, не в том, как здорово она справляется со своей основной задачей — это как раз не так — а в том, что полигоном для обучения является вселенная игры GTA 5 от Rockstar Games.

Те, кто что-то понимают в компьютерных играх, уже догадались, что Charles не самый аккуратный водитель: нейросеть видит лишь картинку с изображением города, точно так же, как обычный игрок. Интеллектуальный алгоритм учится у не самых миролюбивых и законопослушных «жителей», которые регулярно врезаются, взрываются, вылетают с трассы и переворачиваются. Приключения Charles похожи скорее на выживание, чем на автономное вождение, каким его хотели бы видеть в реальной жизни.

Почему обученные на GTA нейросети нельзя применять в реальных задачах

Наблюдать, как машина под управлением ИИ лихо подрезает реальных игроков на живописных виртуальных шоссе Лос-Сантоса, очень весело, однако автор идеи смотрит на это, как на возможность обучить нейросеть «реагировать на наиболее непредсказуемые и экзотические ситуации, которые только могут встретиться в процессе вождения, используя для этого полностью автономную и настраиваемую игровую среду».

Спустя неделю с начала испытаний средний цикл «перезагрузки» Charles составляет порядка 15 минут, то есть каждый день машина разбивается или улетает в кювет около 100 раз. Что, впрочем, в несколько раз лучше первоначального результата.

Почему обученные на GTA нейросети нельзя применять в реальных задачах

Другой пример использования вселенной Rockstar для обучения искусственного интеллекта продемонстрировал Артур Филипович, специалист по информатике из Принстонского университета. Он задействовал внутриигровые изображения в обучении интеллектуального алгоритма, добившись приемлемого уровня распознавания виртуальных знаков в условиях недостаточной видимости (70%), тумана и неровностей дороги (75%).

Исследователь мотивировал своё решение экономией ресурсов и времени: «Самостоятельно искать дорожные знаки в фотоархивах или фотографировать их было бы слишком долго и дорого».

Полтора года назад похожая мысль посетила ведущего специалиста группы научных разработок в Xerox Эдриана Хайдона. На предыдущем месте работы он имел возможность наблюдать, как Google тратит внушительные суммы денег на тестирование и отладку прототипов беспилотного автомобиля в условиях сдерживающего законодательства и строжайших правил, предъявляемых к безопасности испытаний. Речь, по его словам, идёт о десятках миллионов долларов ежегодно.

Такие условия определенно не подходят для компаний, не обладающих «безграничными» ресурсами Google и Baidu, поэтому Хайдон задумался о том, за счёт чего можно было бы свести к минимуму затраты на этапе сбора данных для обучения ИИ.

Ученый пришёл к идее использования игрового движка Unity совершенно случайно: «В интернете я наткнулся на трейлер последнего спин-оффа Assassin’s Creed, и в течение минуты действительно думал, что смотрю трейлер фильма, хотя это была, вообще-то, графика. Это первый случай, когда CGI обвела меня вокруг пальца».

Хайдон решил, что раз современные игровые движки могут с такой легкостью обмануть человека, возможно, они смогут «обмануть» и искусственный интеллект. Его команда провела 2016 год, обучая нейросеть распознаванию виртуальных автомобилей, дорожной разметки и пешеходных переходов с помощью технологий глубокого обучения: «Нашей конечной задачей является обучение ИИ корректному распознаванию этих же объектов в физическом мире».

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

С частично скрытыми препятствиями ИИ из Пало-Альто справляется чуть хуже, доля успешных распознаваний не превышает 70%. Тем не менее, получив в 2016 году грант в размере $1,5 млн на развитие инициативы, американская команда полна решимости в течение 2–3 лет довести точность до 90%, используя для обучения только синтетические данные.

Самый масштабный и фундаментальный краудсорсинговый проект по геймификации обучения искусственного интеллекта сейчас — программа Project Malmo от Microsoft, которая предлагает специалистам проводить свои эксперименты в рамках вселенной Minecraft.

Инициатива, запущенная в начале 2016 года, по замыслу куратора программы доктора Хоффман, должна стимулировать процесс обучения искусственного интеллекта базовым понятиям взаимодействия с виртуальной реальностью Minecraft, обладающей максимальным числом степеней свободы, что в перспективе позволит ИИ перенести приобретенный опыт в реальный мир и эффективнее обучаться узкоспециальным задачам вроде автономного вождения и интеллектуального распознавания.

В отличие от коллег по цеху, которые считают мир Minecraft слишком «пикселизованным» и, следовательно, не слишком подходящим для обучения ИИ, Хоффман полагает, что паттерны обучения и восприятия искусственного интеллекта не обязательно должны совпадать с человеческими.

«В попытке научиться летать мы вдохновились птицами и насекомыми, однако конечная реализация концепции полёта применительно к человеку только отдаленно напоминала то, что мы подглядели в природе. Компьютеры с самого начала "воспринимают" мир совершенно не так, как люди, поэтому нет ничего плохого в том, чтобы внутреннее представление заданной среды у ИИ формировалось по отличным от человеческих алгоритмам и параметрам», — говорит она.

С определёнными допущениями я могу назвать Кинсли, Хайдона и доктора Филиповича коллегами. Приведённые выше кейсы наглядно демонстрируют использование так называемых «синтетических больших данных» для калибровки интеллектуальных алгоритмов в этой области.

В общем случае для обучения используется значительная выборка структурированных данных о дорожном полотне, освещённости, климатических условиях, статических и динамических объектах, их взаимном положении и так далее. Чем более качественными и разнообразными будут данные, тем лучше ИИ справится с непредвиденными ситуациями.

Под качеством здесь, в том числе, подразумевается аутентичность данных по отношению к реальным условиям, в которых их планируют применять.

Кстати о «долго и дорого»: в нашем проекте подготовкой и согласованием обучающих видео с конкретными дорожными ситуациями для ИИ занимаются 90 человек. Отбор данных — это, к сожалению, один из самых трудоёмких и дорогостоящих процессов, с которыми сталкиваются специалисты в области искусственного интеллекта. Именно на этом этапе велико искушение делегировать процесс отбора, заменив «реальные» данные симуляцией, сэкономив десятки тысяч человеко-часов.

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

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

Когда речь идёт об обучении нейросети на таких данных в пределах виртуальной реальности, всё выглядит очень надёжно, более того, можно «накодить» целую вселенную, в которой ИИ сможет обучаться корректному вождению в рамках общепринятых дорожных правил.

Однако конечная задача обучения — безопасное вождение в реальном мире, по реальным дорогам, и этот «скачок» из виртуального мира в реальный синтетические данные сделать пока не в состоянии. Ни одна игра, какой бы реалистичной она не казалась увлеченному игроку, не может (и ещё очень долго не сможет) убедительно воспроизводить реальные дорожные условия.

Количество степеней свободы и, соответственно, комбинаций критически важных параметров при использовании неорганической выборки будет ограничено разнообразием алгоритма, который её обеспечил.

К сожалению, добившийся 70% точности при распознавании дорожных знаков профессор Филипович всё ещё очень далёк от 99%, обеспечивающих теоретическую возможность коммерческого освоения подобных разработок.

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

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

Почувствуйте разницу. Синтетические данные, виртуальный полигон:

Реальные данные:

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

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

Впрочем, я могу допустить, что в перспективе 7–10 лет полностью автономные автомобили под управлением искусственного интеллекта, обученного на «синтетических» данных, появятся на улицах города, если это будет, к примеру, Готэм.

1010
6 комментариев

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

3
Ответить

Не совсем понял, почему материал строится по модели "либо синтетика, либо нет". Неужели применение в обучении синтетических данных не сможет сэкономить средства на обучении НС в самом начале, чтобы потом добить точность с 70ти до 99 уже с реальными данными.

2
Ответить

По-моему, general point немножко в другом, что типа синтетическая бигдата - хорошо, но Только синтетическая даёт недостаточно точности для коммерческого освоения в конкретных нишевых разработках. С чем, в общем, сложно спорить)

Ответить

Подумал, что GTA это какая-то техническая аббревиатура, решил срочно зайти и пошутить в комментах про типичную езду в этой игре, но оказалось, что тут тоже про игру ((

1
Ответить

Идея интересная, но нереальная. По симуляторам гонок GTA и NFS не сделаешь городской беспилотный автомобиль. А вот полицейский автомобиль - вполне.

1
Ответить

Они сделали ИИ из ГТА более аккуратными?

Ответить