Что происходит внутри наших алгоритмов? Что происходит, когда эти алгоритмы управляют нашими автомобилями и самолетами? Не исключено, что довольно скоро мы не будем иметь представления о том, как они работают и чем руководствуются в принятии решений. Журналист и писатель Джефф Вайз рассказал, почему нужно учиться понимать машины и совладать с ними.
Глобальная задача автоматизации — свести к минимуму человеческий фактор в управлении машинами и механизмами. Чаще всего, автоматизация позволяет человечеству сделать то, что вручную сделать невозможно. Например, перебрать миллионы веб-страниц, чтобы найти точную фразу, добавить правильную порцию джема в пончик миллион раз. Или держать самолет стабильным и устойчивым в полной темноте. Но чем больше умеют алгоритмы, обеспечивающие автоматическое управление, тем сложнее они становятся. Как результат, могут появляться нештатные ситуации, совладать с которыми бывает очень сложно. Чем активнее искусственный интеллект применяется в работе алгоритмов и машин, чем сложнее бывает понять, что происходит внутри них.
Опасная коробка управления
Ночью 8 января 2016 года произошла авиакатастрофа — грузовой лайнер Bombardier CRJ-200, принадлежавший шведской авиакомпании West Air Sweden, летевший в норвежский город Тромсё, вначале подал сигнал бедствия, а потом вовсе пропал с экранов радаров. Обнаруженные позже обломки самолета показали, что он вошел вертикально в землю со скоростью пули, образовав в земле 20-футовую воронку. Расследования авиакатастрофы и работа с «черными ящиками» привели экспертов к выводу о неверных показателях приборов и автопилота, из-за чего командир экипажа потерял управление воздушным судном. Специальный модуль ADIRU, показывающий положение самолета в воздухе, дал сбой. Причины этого сбоя специалисты по авиабезопасности так и не смогли обнаружить.
История с CRJ-200 и сбоем в ADIRU – не единственная за последние несколько лет: были зафиксированы и другие случаи, связанные со странным поведением авиаприборов. В 2015 году сбой бортового компьютера заставил самолет Lufthansa внезапно круто нырнуть вниз сразу после вылета из испанского города Бильбао. В 2008 году самолет Qantas A330 резко пошел вниз в результате самопроизвольного маневра. Это вызвало переломы и травмы позвоночника непристегнутых пассажиров и членов экипажа.
А в 2011 году системы управления полетом бизнес-джета Dassault Falcon 7X привели к неожиданному движению самолета круто вверх во время посадки в малазийском Субанге. Если бы не быстрая реакция штурмана самолета, который перевел самолет в ручное управление и вернул его на правильную траекторию, аварии было не избежать.
Расследование всех этих случаев показало сбои в работе модуля ADIRU, аналогичные случаю начала 2016 года. Причины такого сбоя изучаются до сих пор.
Первый примитивный автопилот появился в 1914 году. С 1930 году эта технология используется на коммерческих авиалайнерах. Чем более умелыми становились автопилоты, тем сильнее снижалось число несчастных случаев во время полетов — с 40 смертельных несчастных случаев на миллион вылетов в США в 1959 году до 0,1 случая сегодня.
Сложность vs Безопасность
Современный самолет – это очень дорогая машина. Например, Боинг 777 стоит четверть миллиарда долларов. Поэтому большие ресурсы тратятся на то, чтобы он работал должным образом. Важные системы управления воздушным судном построены с использованием тройного резервирования. Поэтому крайне маловероятно, что они полностью выйдут из строя. Системы могут защитить пилота от его собственной некомпетентности: если пилот пытается выполнить потенциально опасный маневр, автоматизированная система управления полетом просто откажется это сделать.
Ценой такой надежности будет сложность. Сложные системы состоят из многих частей, а это означает существование многих способов для них выйти из строя и ситуаций, в которых они могут не сработать.
Очевидно, что мы не хотим, чтобы наши машины работали неверно, причем всегда, а не только тогда, когда мы находимся на высоте 9000 метров над землей. Если мы будем все больше полагаться на автоматизированные системы в будущем, то нужно иметь представление о том, когда и почему они могут работать неверно, и что мы можем сделать в этом случае.
Слишком глубинное обучение
Большинство управляющих систем, созданных и использующихся до сих пор – это так называемые системы, проектируемые «сверху вниз» (системы top-down). В процессе их проектирования и программирования создавались алгоритмы работы, которые выполняли точные инструкции в зависимости от ряда условий. Однако для многих современных задач такие системы слишком просты, ибо они не позволяют учесть все условия, в которых алгоритм будет работать. Поэтому сегодня будущее алгоритмов и систем автоматизации – это использование искусственного интеллекта и технологии «глубинного обучения» (Deep learning), построенного на нейронных сетях. Глубинное обучение – это набор алгоритмов машинного обучения, который может моделировать человеческое мышление. Системы, использующие глубинное обучение, не просто могут управлять большими объемами данных, а еще и анализировать новые данные и принимать решение на их основе. Если такой системе показать фотографии панд, например, то она может найти новые фотографии панд в интернете. Глубинное обучение лежит в основе технологии распознавания лиц и система машинного перевода.
Вазант Дхар (Vasant Dhar), профессор Нью-Йоркского университета, так объясняет работу систем машинного обучения: «Они учатся автономно от нас. Благодаря этому они смогут решать проблемы, которые практически невозможно решить, если бы их учили люди, задающие алгоритмы».
Такая гибкость будет иметь решающее значение для успешной работы многих видов систем в реальном мире. Беспилотные автомобили, например, будут иметь дело с огромным диапазоном ситуаций, для которых трудно создать правила, учитывающие всевозможные ситуации. С одной стороны, правила дорожного движения дают нам ответы на то, как действовать в том или ином случае. С другой стороны, на дороге есть и другие участники, поведение которых непредсказуемо. И иногда строгое следование правилам может стать причиной аварии. Недаром в вождении большую роль играет стаж, позволяющий правильно действовать в сложных ситуациях.
«Создать универсальный алгоритм таких действий автомобиля очень сложно, запрограммировать его еще сложнее. Однако наблюдая за тем, как люди делают это много раз, системы, работающие с использованием глубинного обучения, смогут понять это для себя и создать собственный алгоритм действий», — объясняет принципы работы нейронных сетей профессор Дхар.
Умную машину не всегда можно понять
Недостаток нейронных сетей и систем глубинного обучения, по мнению профессора, состоит в том, что по сути она — это черный ящик. При использовании принципа «сверху вниз» понятно, что машина будет делать в каждой конкретной ситуации. Для систем, использующих глубинное обучение и нейронные сети, зачастую невозможно понять, почему она действует именно так, а не иначе. «Вы никогда не можете быть полностью уверены, что такая система знает и умеет. Вы можете оценить ее поведение как правильное. Но вы на самом деле не знаете, почему она действует именно так», — отмечает профессор Дхар.
Сам принцип построения нейронных сетей и систем глубинного обучения делает их склонными к особенному и удивительному поведению. Есть море примеров того, как такие системы ошибаются. Система классификации изображений может спутать панд и гиббонами. А это означает, что систему могут обмануть хакеры, например, при ее использовании в области безопасности, основанной на фотографиях лица пользователей. Или вот еще один пример. Недавно исследователи обучали нейронные сети на основе данных пациентов медицинского центра университете Питтсбурга в попытке разработать универсальный свод правил для лечения больных пневмонией. Созданный такой системой алгоритм был лучше, чем экспертная система, спроектированная методом «сверху вниз». С одним исключением: нейронная сеть думала, что больные пневмонией, у которых уже есть астма, должны быть отправлены домой. Исследователи обнаружили, что нейросеть заметила, что такие больные выздоровели быстрее. При этом она пришла к выводу, что причина скорого выздоровления — низкий уровень риска и возможность амбулаторного лечения. На самом деле, все было наоборот — такие пациенты относились к группе с высокой степенью риска и сразу же отправлялись в реанимацию, где действительно быстро шли на поправку благодаря интенсивному лечению. Именно эффективность этой стратегии ввела в заблуждение нейросеть.
Понять машину
Перед тем как доверять важные сферы нашей жизни самообучающимся автономным системам, «мы просто должны потратить больше времени на выяснение того, как проверить их правильность», — считает Кён Хун Чо (Kyunghyun Cho), специалист по машинному обучению в Нью-Йоркском университете.
«Как мы на самом деле управляем этими системами, если мы не в полной мере понимаем их», — добавляет профессор Дхар. «Одним из последствий возможностей, которые нам дал искусственный интеллект, будет наличие у вас машины, которая научилась учиться. Иными словами, сегодня машина умеет делать то, что всегда было прерогативой человека. Теперь машины могут изучить материал самостоятельно, и вы не имеете ни малейшего представления о том, достигло ли такое обучение желаемых вещей или не совсем».
Чем более изощренными становятся машины, тем сильнее они будут включать элементы человеческого поведения в свою работу. Для оптимального достижения своих целей они должны будут адаптировать свои стратегии к нашему предсказанному поведению. Если они придут к выводу, что человек сможет помешать их достижению цели, например, выключив их, они придумают, как предотвратить это. Это означает, что может наступить момент, когда мы не сможем отключить машину, если она этого не захочет.
Поэтому сегодня человечество должно научиться понимать наши слишком умные машины, чтобы не оказаться перед лицом проблемы, с которой мы не сможем совладать. Технологическая сингулярность – дело весьма обозримого будущего и готовиться к ней нужно уже сегодня.