Идиот или гений? Как работает и на что способен искусственный интеллект
Шрифт:
“Определяйте понятия… или мы никогда не поймем друг друга” [23] . Этот призыв философа XVIII века Вольтера остается слабым местом дискуссий об искусственном интеллекте, поскольку главное понятие – интеллект – все еще не имеет четкого определения. Марвин Минский называл такие понятия, как “интеллект”, “мышление”, “познание”, “сознание” и “эмоция”, “словами-чемоданами” [24] . Каждое из них, подобно чемодану, набито кучей разных смыслов. Понятие “искусственный интеллект” наследует эту проблему, в разных контекстах означая разное.
23
B. R. Redman, The Portable Voltaire (New York: Penguin Books, 1977), 225.
24
M. L. Minsky, The Emotion Machine: Commonsense Thinking, Artificial Intelligence, and the Future of the Human Mind (New York: Simon & Schuster, 2006), 95.
Большинство
Как бы то ни было, сфера ИИ практически не принимает в расчет эти многочисленные различия. Усилия ученых направлены на решение двух задач: научной и практической. В научном направлении исследователи ИИ изучают механизмы “естественного” (то есть биологического) интеллекта, пытаясь внедрить его в компьютеры. В практическом направлении поборники ИИ просто хотят создать компьютерные программы, которые справляются с задачами не хуже или лучше людей, и не заботятся о том, думают ли эти программы таким же образом, как люди. Если спросить исследователей ИИ, какие цели – научные или практические – они преследуют, многие в шутку ответят, что это зависит от того, кто в данный момент финансирует их работу.
В недавнем отчете о текущем состоянии ИИ комитет видных исследователей определил эту область как “раздел информатики, изучающий свойства интеллекта посредством синтеза интеллекта” [25] . Да, определение закольцовано. Впрочем, тот же комитет признал, что определить область сложно, но это и к лучшему: “Отсутствие точного, универсального определения ИИ, вероятно, помогает области все быстрее расти, развиваться и совершенствоваться” [26] . Более того, комитет отмечает: “Практики, исследователи и разработчики ИИ ориентируются по наитию и руководствуются принципом «бери и делай»”.
25
One Hundred Year Study on Artificial Intelligence (AI100), 2016 Report, 13, ai100.stanford.edu/2016-report.
26
Ibid., 12.
Анархия методов
Участники Дартмутского семинара 1956 года озвучивали разные мнения о правильном подходе к разработке ИИ. Одни – в основном математики – считали, что языком рационального мышления следует считать математическую логику и дедуктивный метод. Другие выступали за использование индуктивного метода, в рамках которого программы извлекают статистические сведения из данных и используют вероятности при работе с неопределенностью. Третьи твердо верили, что нужно черпать вдохновение из биологии и психологии и создавать программы по модели мозга. Как ни странно, споры между сторонниками разных подходов не утихают по сей день. Для каждого подхода было разработано собственное множество принципов и техник, поддерживаемых отраслевыми конференциями и журналами, но узкие специальности почти не взаимодействуют между собой. В недавнем исследовании ИИ отмечается: “Поскольку мы не имеем глубокого понимания интеллекта и не знаем, как создать общий ИИ, чтобы идти по пути настоящего прогресса, нам нужно не закрывать некоторые направления исследований, а принимать «анархию методов», царящую в сфере ИИ” [27] .
27
J. Lehman, J. Clune and S. Risi, “An Anarchy of Methods: Current Trends in How Intelligence Is Abstracted in AI”, IEEE Intelligent Systems 29, no. 6 (2014): 56–62.
Однако
Символический ИИ
Давайте сначала рассмотрим символический ИИ. Программа символического ИИ знает слова или фразы (“символы”), как правило понятные человеку, а также правила комбинирования и обработки этих символов для выполнения поставленной перед ней задачи.
Приведу пример. Одной ранней программе ИИ присвоили громкое имя “Универсальный решатель задач” (General Problem Solver, или GPS) [28] . (Прошу прощения за сбивающую с толку аббревиатуру: Универсальный решатель задач появился раньше системы глобального позиционирования, ныне известной как GPS.) УРЗ мог решать такие задачи, как задача о миссионерах и людоедах, над которой вы, возможно, ломали голову в детстве. В этой известной задаче три миссионера и три людоеда должны переправиться через реку на лодке, способной выдержать не более двух человек. Если на одном берегу окажется больше (голодных) людоедов, чем (аппетитных) миссионеров, то… думаю, вы поняли, что произойдет. Как всем шестерым переправиться на другой берег без потерь?
28
A. Newell and H. A. Simon, “GPS: A Program That Simulates Human Thought”, P-2257, Rand Corporation, Santa Monica, Calif. (1961).
Создатели УРЗ, когнитивисты Герберт Саймон и Аллен Ньюэлл, записали, как несколько студентов “размышляют вслух”, решая эту и другие логические задачи. Затем Саймон и Ньюэлл сконструировали программу таким образом, чтобы она копировала ход рассуждений студентов, который ученые признали их мыслительным процессом.
Я не буду подробно описывать механизм работы УРЗ, но его символическую природу можно разглядеть в формулировке программных инструкций. Чтобы поставить задачу, человек писал для УРЗ подобный код:
Если говорить обычным языком, эта инструкция показывает, что изначально левый берег реки “содержит” трех миссионеров, трех людоедов и одну лодку, в то время как правый не содержит ничего. Желаемое состояние определяет цель программы – переправить всех на правый берег реки.
На каждом шаге программы УРЗ пытается изменить текущее состояние, чтобы сделать его более похожим на желаемое состояние. В этом коде у программы есть “операторы” (в форме подпрограмм), которые могут преобразовывать текущее состояние в новое состояние, и “правила”, кодирующие ограничения задачи. Например, один оператор перемещает некоторое количество миссионеров и людоедов с одного берега реки на другой:
Слова в скобках называются параметрами, и после запуска программа заменяет эти слова на числа или другие слова. Параметр #миссионеров заменяется на количество перемещаемых миссионеров, параметр #людоедов заменяется на количество перемещаемых людоедов, а параметры с-берега и на-берег заменяются на “левый-берег” и “правый-берег” в зависимости от того, с какого берега нужно переместить миссионеров и людоедов. В программе закодировано знание, что лодка перемещается вместе с миссионерами и людоедами.