Мы их построили, но мы их не понимаем

We use cookies. Read the Privacy and Cookie Policy

Джон Клейнберг

Преподаватель теории вычислительных машин в Корнеллском университете; автор, совместно с Дэвидом Изли, книги «Сети, толпы и рынки: Рассуждение о мире с сильными связями» (Networks, Crowds, and Markets: Reasoning About a Highly Connected World)

Сендил Муллайнатан

Преподаватель экономики, Гарвардский университет; автор, совместно с Эльдаром Шафиром, книги «Дефицит: Почему так плохо иметь слишком мало» (Scarcity: Why Having Too Little Means So Much)

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

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

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

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

Во-первых, это важно уже потому, что мы регулярно оказываемся в совершенно обыденных ситуациях, когда нам надо знать ответ на вопрос «Почему?». «Почему мне отказали в выдаче кредита? Почему мой счет заблокировали? Почему мое заболевание вдруг оказалось в категории тяжелых?» А иногда нам бывает нужно знать ответ на вопрос «Почему?» в случаях, когда машина совершила ошибку. «Почему самоуправляемый автомобиль резко сошел с дороги?» Трудно разобраться с чем-то, когда вы не понимаете причин.

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

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

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

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

Наш руководитель мог бы спросить: «Алгоритм справляется с заявками в Великобритании, но будет ли он так же хорошо работать, если мы задействуем его в Бразилии?» Удовлетворительного ответа опять нет, или же мы не в состоянии достоверно оценить, насколько успешен будет перевод высокооптимизированного правила в новую область.

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

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

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