Поздним вечером в Аризоне в 2018 году на пустынном участке двухполосной автомагистрали Элейн Херцберг заслужила награду, которой она никогда не хотела.

Она стала первым пешеходом, убитым беспилотным автомобилем.

Она разделила столь же печальную судьбу с женщиной 122 годами ранее, Бриджит Дрисколл, которая умерла в 1896 году во время прогулки в поздний лондонский день от рук более ранней экспериментальной технологии:

Машина.

Широкой публике нравится думать об ИИ как о сверхчеловеческих, и в некотором смысле сверхчеловеческих. Они могут победить лучших игроков в мире го или 99% игроков в мире в DOTA 2, стратегической игре в реальном времени удивительной сложности.

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

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

Список вещей, которые могут пойти не так с автономным транспортным средством, почти бесконечен, - говорит Люк Винсент, возглавляющий отдел исследований и разработок подразделения Lyft по производству беспилотных автомобилей.

Lyft обнаружила, что его автомобили резко ударяли по тормозам, когда их подрезали другие водители. Другая компания по производству автономных автомобилей, Zoox, обнаружила, что их автомобили не справляются с желтыми левыми указателями поворота, потому что большинство указателей поворота зеленые. Им пришлось пригласить художников, чтобы они нарисовали желтые указатели поворота для загрузки в их программное обеспечение для моделирования. Вскоре автомобили Zoox стали намного лучше видеть их в реальном мире, но что бы вы ни делали, всегда есть еще один крайний случай.

Это немного похоже на удар крота. Если вы решите одну проблему, может возникнуть другая , - сказал генеральный директор Applied Intuition Касар Юнис, согласно отличной статье CNN о бесконечных трудностях, с которыми сталкивается эта техническая проблема поколенческого типа .

Знаменитый робототехник и почетный профессор Массачусетского технологического института Родни Брукс написал удивительно длинный и подробный пост о том, почему, по его мнению, беспилотные автомобили намного дальше, чем думают почти все. Он излагает десятки крайних случаев:

  • Если вы спустились по узкой улице с односторонним движением, которая была перекрыта строительными работами, можно ли нарушить закон и вернуться обратно по улице с односторонним движением?
  • Сможет ли машина справиться с шутками подростков и воплями противоречивых команд?
  • Может ли машина распознавать жесты рук полиции или придорожных рабочих?
  • Может ли машина распознать поддельный уличный знак, который кто-то повесил, или поврежденный?

Осознавая утку, или пределы машинного мышления

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

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

Сверточная нейронная сеть (CNN) может изучать примеры ракет, но если нет готовых решений для создания ракеты, она не может их изобрести. Телеканал CNN, который никогда не видел уток, не осознает их внезапно.

Беспилотные автомобили раздвигают границы возможного. Дико оптимистичные прогнозы о том, что у нас будут автономные автомобили, уверенно перемещающиеся по улицам Нью-Йорка, уступают место проверке реальности, что это может занять намного больше времени, чем мы думали.

На одном уровне мы сталкиваемся с ограничениями возможностей глубокого обучения и обучения с подкреплением. На последней NeurIps, одной из крупнейших конференций по искусственному интеллекту, некоторые из самых ярких звезд отрасли, в том числе Йошуа Бенжио, директор Mila, института искусственного интеллекта в Монреале, выступили с отрезвляющим посланием о состоянии ИИ сегодня:

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

Робототехник Родни идет еще дальше, говоря, что для того, чтобы иметь настоящий беспилотный автомобиль уровня 4 или 5, то есть автомобили, которым не нужно колесо и которые могут ездить в любых погодных условиях и принимать собственные решения, потребуются что-то вроде общего искусственного интеллекта (AGI). Недостаточно сшить кучу разрозненных нейронных сетей и надеяться, что волшебным образом появится более высокая форма понимания.

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

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

Красные команды: восходящий феникс

Есть причина, по которой 87% проектов в области науки о данных никогда не попадают в производство.

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

Алгоритмы, которые учатся сами, имеют всевозможные сценарии, которые мы просто не можем предвидеть, пока они не попадут нам прямо в лицо. Если ваша система визуального обнаружения имеет точность 97%, но обнаруживает знак остановки, покрытый граффити, как знак на 45 миль в час, она также может иметь нулевую точность, потому что кто-то будет ранен или убит.

Даже самые точные и успешные CNN в мире часто борются в грязном реальном мире. MIT и IBM просто выпустили набор данных ObjectNet, чтобы показать, насколько плохо эти алгоритмы могут работать при столкновении с поврежденными объектами, частично скрытыми объектами или объектами, расположенными под странным углом. На сборку набора данных ушло три года, а точность некоторых наиболее продвинутых моделей обнаружения объектов упала с 97% в ImageNet до 50–55% в ObjectNet.

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

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

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

Чтобы понять, почему вам нужно знать лишь немного об истории программирования.

DevOps стал ответом на большую проблему, которая обнаружилась только тогда, когда наши приложения стали становиться слишком большими и сложными, чтобы старые методологии программирования могли справиться с ними должным образом. Ранние компьютерные приложения были проще, чем современные многогранные. В основном они создавались корпоративными командами разработчиков для узкого использования. С этими приложениями, скрытыми за корпоративными брандмауэрами, водопадная модель прекрасно работала. Только несколько тысяч пользователей когда-либо прикоснулись бы к этому приложению, чтобы вы могли свести к минимуму крайние случаи.

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

AI снова меняет правила игры.

С ИИ мы сталкиваемся с экспоненциальным ростом неизвестных неизвестных.

Ключ к исправлению - это модульный тест.

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

Развитие программирования в стилях Agile и DevOps научило нас автоматизировать тесты, поскольку сложное программное обеспечение претерпевает бесчисленные изменения в руках широко рассредоточенной команды программистов. Команды разработчиков программного обеспечения часто обнаруживают, что устраненная сетевая ошибка каким-то образом вернулась через сто ревизий из-за того, что программист проверил код, зависящий от неработающей библиотеки, или потому, что программист вырезал и вставил старый код, не осознавая, что в нем есть недостатки. Команды ИИ должны будут разработать свои собственные автоматизированные процессоры крайних случаев для работы с системами обнаружения мошенничества, которые начинают получать ложные срабатывания каждый раз, когда кто-то едет во Францию ​​или использует банкомат в Альбукерке.

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

Чтобы создать лучший модульный тест, командам инженеров потребуется овладеть Операциями машинного обучения (MLOps) и научиться создавать хорошо отлаженный конвейер MLOps, который может быстро находить и устранять новые ошибки.

В своем выступлении для Red Hat OpenShift Commons я говорил о том, как создать команду QA для AI, которую я теперь называю AI Red Team. Это команда программистов быстрого реагирования, инженеров и специалистов по обработке данных, которые находят краткосрочные решения для сортировки и долгосрочные решения аномалий ИИ. Это очень элитная команда, очень похожая на отряд хакеров в белых шляпах, задача которых - взламывать сети, чтобы обезопасить их от черных шляп.

Работа AI Red Team - это ответ на закон Мерфи. Они специализируются на взломе ИИ и его исправлении. Они несут ответственность за выявление неизвестных неизвестных и выведение их на свет, прежде чем они причинят кому-то вред или не повредят прибыль.

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

Думайте об этом как о Проект Феникс для ИИ.

Если вы не знаете книгу, то должны. Это отличное чтение о программном обеспечении и трансформации бизнеса. Любая книга, которая может превратить разработку программного обеспечения и обновление бизнес-процессов в увлекательную и супер-развлекательную поездку, наполненную персонажами, которых мы все, кажется, знаем в реальном мире, действительно является чем-то особенным. Книга помогла популяризировать модель разработки программного обеспечения DevOps, но более того, она показала, как мы можем решать проблемы прошлого, по-разному думая о них на каждом уровне организации.

Нам придется еще раз изменить наше понимание и наши методы в эпоху искусственного интеллекта.

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

Настало время для проекта AI Phoenix.

Чтобы построить будущее, иногда достаточно обратиться к прошлому.

############################################

Я автор, инженер, про-блоггер, подкастер, публичный спикер и главный технический евангелист в Pachyderm, стартапе MLops, поддерживаемом Y Combinator в Сан-Франциско. . Я также управляю Практическим альянсом этики ИИ и Альянсом инфраструктуры ИИ, двумя открытыми сообществами, которые выступают за безопасный и прозрачный ИИ.

############################################

В этой статье есть партнерские ссылки на Amazon.

############################################