Я никогда не предполагаю. Эта возмутительная привычка разрушительна для логики.
Однако часы для интуиционистов,
Когда доказательства еще не будучи моими,
Или правда – некая часть математики,
И ее элемент утверждал: и было так.
Он был рожден из
Аксиом-схем, коих я
Не боюсь следствий
Одно из понятий начала – глаз. Когда
Это математика вечна.
Конечно, перед вами не величайшая поэзия в мире, но этот небольшой набор из катрена[3], хайку[4] и двустишия был создан ИИ, который пытался выразить идеи о логике в духе шекспировского сонета[5], за доли секунды. Читая такие стихи, порой можно обнаружить более глубокий смысл в, казалось бы, несвязанных словах. Каким-то образом ИИ удается уловить что-то, что заставляет нас задаваться вопросом, передается ли сообщение.
К сожалению, в этом случае смысл отсутствует. Стихи генерировались компьютером в соответствии с набором правил, определяющих структуру каждой поэтической формы. (Например, хайку состоит из трех нерифмованных строк, в свою очередь состоящих из пяти, семи и пяти слогов, а двустишие – из двух строк, которые могут быть как рифмованными, так и нерифмованными). Слова были выбраны случайно из исходного текста (нескольких абзацев, включавших общую информацию о логике, сонет Шекспира и фрагмент из статьи фон Неймана о логике 1927 года). Используя разные исходные тексты и наборы правил, ИИ сможет создавать стихи о чем угодно и в любом стиле, который вы зададите.
При символьной обработке слова́ рассматриваются как связанные друг с другом в соответствии с определенным набором правил символы. Слова становятся объектами, которыми можно управлять, трансформируя таким же образом, каким мы трансформируем числа в соответствии с правилами математики. Символический ИИ позволяет компьютерам мыслить словами.
Пожалуй, неудивительно, что символический ИИ стал одной из первых и наиболее успешных форм ИИ, поскольку был основан на новых представлениях о логике, развитых несколькими десятилетиями ранее. К началу XX века Бертран Рассел, Курт Гедель и Давид Гильберт достигли пределов математики, пытаясь понять, доказуемо ли абсолютно все, или же действительно существуют некие недоказуемые утверждения, которые, однако, можно выразить математически. Эти исследователи показали, что вся математика может быть сведена к логике.
Мысль была неосязаемой и невыразимой, пока современная формальная логика не стала интерпретировать ее как манипуляцию формальными символами.
Логика – очень мощный инструмент представления фактов. Все, что выражено логически, должно быть или истинным, или ложным, например: идет дождь – правда; дует ветер – ложь. Логические операции позволяют нам формулировать более сложные идеи: если «идет дождь» – правда, а «дует ветер» – ложь, то «взять зонтик» – правда. Это логическое высказывание также может быть представлено в виде таблицы истинности:
Когда мы доказываем что-то в математике, мы показываем, что логические предположения гарантируют вывод. Математика построена на таких доказательствах. Поэтому, если у нас есть утверждения «все люди смертны» и «Сократ – человек», мы можем доказать, что «Сократ смертен».
Предикатная логика, более сложный и широко используемый тип логики, даже допускает превращение обычных предложений в своего рода логические обозначения (также известные как формальные логические высказывания).
Родоначальникам символического ИИ логика представлялась настолько всемогущей, что они считали, будто символическая логика – это все, что нужно для интеллекта.
Это убеждение было основано на идее, что человеческий разум лишь манипулирует символами. Исследователи утверждали, что наши представления об окружающем мире закодированы в мозге в виде символов. Идея стула и подушки может быть заключена в символах «стул» и «подушка» и абстрактных правилах, таких как «подушка может лежать на стуле» и «стул не находится на подушке».
Рассмотрим парадокс математика и философа Бертрана Рассела: «В некоей деревне живет брадобрей, который бреет всех жителей деревни, которые не бреются сами, и только их». Это парадокс, поскольку, если человек бреется сам, он не может брить себя в соответствии с правилом. Но если он не бреется сам, то должен брить себя согласно этому же правилу. В виде логического выражения это выглядит так:
Без паники! Если перевести на обычный язык, получится: «Существует x, являющийся человеком, и множество y, где y – человек, x бреет y тогда и только тогда, когда y не бреет y». Это полезно, так как этот вид предикатной логики позволяет строить доказательства. В этом случае можно выявить парадокс, спросив: «Бреет ли брадобрей сам себя?» Или, в логическом выражении, что получится, если x = y? Заменим x на y, и в результате «бреет (x, x)» и обратное утверждение «¬бреет (x, x)» будут истинными. Другими словами, человек должен брить сам себя и он не может брить сам себя одновременно – это парадокс. (Используя его, Рассел доказал, что математика неполна – то есть в ней невозможно доказать все).
Однако некоторые философы не соглашались с подобным подходом. Они считали, что манипулирование символами кардинально отличается от действительного понимания их значения. Джон Серл, один из таких философов, тактично возразил оппонентам в форме рассказа о китайской комнате. Суть его в следующем. Человек, не знающий китайский язык, находится в комнате, куда через специальное отверстие ему передают листы бумаги с вопросами, написанными китайскими иероглифами. У человека есть четкая инструкция, в которой говорится, каким образом можно получить ответ на поставленный вопрос. В результате человек находит ответ, записывает его на другой лист и возвращает.
У системы физических символов есть необходимые и достаточные ресурсы для решения общих интеллектуальных задач.
Казалось бы, человеку в комнате можно задать любой вопрос и получить на него разумный ответ. Но на самом деле в ответе не будет истинного понимания. Человек всегда следует инструкции, используя символы для поиска других символов. Он никогда не понимает ни вопроса, ни ответа, потому как не знает ни одного китайского иероглифа.
Серл утверждал, что именно это и делает ИИ, когда выполняет обработку символов. Он манипулирует ими в соответствии с установленными правилами, но никогда не понимает, что эти символы и правила значат. На вопрос «какого цвета спелый банан?» ИИ, вероятно, сумеет найти ответ и «сказать»: «желтого». Кроме того, он сможет последовать еще ряду правил, чтобы сделать ответ более человечным: «Желтого, конечно. Вы думаете, что я глупый?». ИИ не знает, что означает «желтый». Он не видит связи между символом «желтый» и внешним миром, поскольку не знает, что такое внешний мир, и ИИ никогда не удастся получить какой-либо жизненный опыт. Такой ИИ не обладает интенциональностью – способностью принимать решение на основе собственного понимания. Поэтому Серл утверждал, что ИИ просто симулирует интеллект. «Формальные символьные манипуляции сами по себе не обладают интенциональностью; они совершенно бессмысленны, – писал он. – Эта интенциональность, которой, как считается, обладают компьютеры, находится исключительно в умах тех, кто эти компьютеры программирует, использует, вводит в них данные и интерпретирует данные на выходе».
Ни одна логика не является достаточно сильной, чтобы поддерживать общую конструкцию человеческого знания.
Даже если такой ИИ пройдет тест Тьюринга, это не будет иметь значения. ИИ – это механизм, разработанный, чтобы обманывать нас, подобно античным родосским автоматонам. ИИ слаб, а создание так называемого сильного ИИ, то есть обладающего реальным интеллектом, может оказаться непосильной задачей.
Несмотря на критику, идеи символьной обработки привели к значительному успеху. Еще в 1955 году Ньюэлл, Саймон и Шоу разработали первую программу ИИ (даже до того, как был предложен термин «искусственный интеллект»). Они назвали ее «Логический теоретик» и на Дартмутской конференции в 1956 году с гордостью представили другим исследователям. Используя логические операции, программа могла доказывать математические формулы. Чтобы это продемонстрировать, Ньюэлл и Саймон взяли популярную книгу Альфреда Уайтхеда и Бертрана Рассела «Основания математики» и показали, что программа способна доказать многие из приведенных там формул. Более того, в некоторых случаях «Логический теоретик» предлагал более короткие и элегантные доказательства.
Аллен Ньюэлл, ученый-программист и когнитивный психолог в корпорации RAND и Университете Карнеги – Меллона, работал с Саймоном и Шоу над программой «Логический теоретик», и вместе они стали авторами многих фундаментальных изобретений в области ИИ. Ньюэлл также создал концепцию обработки списков, которая впоследствии превратилась в важный язык ИИ – LISP. А программисту Джону Шоу принадлежит идея связанного списка – способа связывания данных, который с тех пор используется в языках программирования во всем мире. Помимо разработки «Универсального решателя задач» Герберт Саймон участвовал также в подготовке программ ИИ для игры в шахматы и оказал заметное влияние на развитие экономики и психологии. Он даже написал одну из первых работ по эмоциональному познанию, которое он описывал как стимулы и потребности, способные возникать параллельно, прерывая и изменяя поведение программы. Ньюэлл и Саймон создали лабораторию ИИ в Университете Карнеги – Меллона и достигли немалых успехов в области символического ИИ в конце 1950 – 1960-х годах.
В 1959 году появилось несколько других версий «Теоретика», одну из которых назвали «Универсальный решатель задач». Он смог проводить также логические и физические манипуляции и к тому же обладал очень важной особенностью, благодаря которой так хорошо работал: он отделял знания (символы) от метода, используемого для манипулирования этими знаниями. Манипулирование символами производилось с помощью программного обеспечения, названного «решатель», который использовал поиск, чтобы найти правильное решение.
Представьте, что вы робот и вам нужно переместить пирамидку из дисков разного размера с одного стержня на другой, сохраняя их в порядке уменьшения размера. Эта головоломка, называется «Ханойские башни». Вы можете перемещать лишь по одному диску за раз и брать диск только сверху. Нельзя положить диск большего размера поверх меньшего. И есть всего три стержня. Каким образом нужно перекладывать диски? В рамках каждого хода, учитывая текущее состояние стержней, возможны два или больше перемещений. Какой же диск выбрать? На какой стержень его перенести? После того как вы перенесете диск, у вас появится больше доступных ходов, и после очередного принятого решения их количество будет расти. Игра подобна дереву возможностей, каждая ветвь которого ведет вас к решению, если вы сделали верный ход. Но как с таким множеством вариантов выбрать правильный?
Решение – это поиск. ИИ представляет, что, делая выбор за выбором, он движется по дереву возможностей вниз и выносит суждение: в этот момент, если бы я сделал такой ход, я бы стал ближе к решению? Рассмотрев достаточное количество комбинаций вариантов, ему удается найти правильный путь, а значит, теперь можно принять следующее решение – я положу этот диск туда. После этого ИИ находит новое дерево возможностей, на один шаг дальше, и ищет следующий ход.
Поиск в сочетании с символическим представлением знаний стал стандартным подходом в ИИ. Независимо от того, ищет ли ИИ способ, как выиграть партию в шахматы или го, пытается доказать формулу или планирует маршрут, позволяющий роботу избежать препятствия на пути, он, вероятно, ищет среди тысяч, миллионов, а возможно, и триллионов вариантов. Размер пространства поиска быстро стал ключевым ограничивающим фактором в основанном на поиске символическом ИИ, поэтому было разработано много умных алгоритмов для удаления маловероятных областей «деревьев» или деления большой проблемы на более мелкие задачи. В меньшем пространстве и вариантов для поиска тоже меньше.
Все, что дает нам новые знания, дает нам возможность быть более рациональными.
Но размер пространства (его комбинаторика) все же оставался проблемой. По иронии судьбы выяснилось, что программы вроде «Универсального решателя задач» непригодны для решения общих задач – пространство возможностей оказывалось слишком большим, что делало поиск невозможным в обозримом временном промежутке. Хотя эти программы могли справиться с проблемой вроде головоломки «Ханойские башни», они пасовали перед сложностями реального мира. Как оказалось, большего успеха можно достичь, если каждый ИИ сосредоточить на определенной задаче. Создайте набор правил о соответствии медицинских симптомов и различных заболеваний. Тогда компьютер сможет задать ряд вопросов, например «вы чувствуете боль?», «это острая боль или тупая?», «где локализуется боль?» и так далее, которые выявят симптомы, и в результате предложить одну или несколько версий вероятных заболеваний.
Подобные версии ИИ известны как экспертные системы, и на какое-то время они стали чрезвычайно популярны (возможно, даже слишком, как вы поняли по предыдущей главе). Хотя у крупных экспертных систем есть проблемы с техническим обслуживанием, они продолжают использоваться в медицине для диагностики, системах поддержки для автомобильных инженеров, системах обнаружения мошенничества и интерактивных сценариях для продавцов.
Многие идеи символического ИИ связаны с тем, как лучше всего представлять и использовать информацию. Правила и структурированные фреймы (формы представления знаний) слились с объектно ориентированными языками программирования, и сегодня существует множество способов хранения знаний: например, вкладывание, при котором родительский объект «дерево» содержит дочерние элементы «дуб» и «береза», или передача сообщений, при которой объект «продавец» может отправить аргумент «скидка 10 %», чтобы вызвать действие с объектом «цена». Были созданы языки для представления всех знаний, иногда называемые онтологическими, со своими сложными структурами и правилами. Все они основаны на логике и могут быть объединены с автоматизированными системами формирования рассуждений, для того чтобы логически выводить новые факты, которые затем могут быть добавлены к их знаниям, или проверять соответствие существующих фактов.
Например, ИИ узнал, что «велосипед» – это вид «транспорта с педальным приводом», имеющий «два колеса». Если «тандем» – это вид «транспорта с педальным приводом», который тоже имеет «два колеса», то ИИ легко может вывести новый факт: «тандем – это разновидность велосипеда». Но другой вид «транспорта с педальным приводом», имеющий «ноль колес», не соответствует этому правилу, поэтому ИИ придет к выводу, что «катамаран» не является «велосипедом».
С развитием интернета компилировать обширный набор фактов становится все проще и проще. И одно из основных направлений при разработке общего искусственного интеллекта – это объединение достаточного объема знаний, чтобы ИИ мог начать помогать нам во многих областях. Cyc – один из таких проектов, который в течение нескольких десятилетий собирал факты и взаимосвязи, формируя гигантскую базу.
Уильям Тунсталл-Педо развил эту идею. Он создал True Knowledge («Подлинное знание») – программу, сформировавшую обширную сеть знаний, предоставляемых пользователями интернета. Она насчитывает более 300 миллионов фактов. В 2010 году Тунсталл-Педо решил, поскольку ИИ уже знает так много, задать ему вопрос, на который не сможет ответить ни один человек: «Нам пришло в голову, что, имея дело с более чем 300 миллионами фактов, большой процент которых связывает события, людей и места с определенными точками во времени, мы сможем вычислить объективный ответ на вопрос “Какой день в истории был самым скучным?”».
Программа True Knowledge изучила все дни, о которых знала с начала XX века, и пришла к выводу, что ответ – 11 апреля 1954 года. В этот день, согласно ИИ, состоялись всеобщие выборы в Бельгии, родился турецкий академик Абдулла Аталар и умер футболист Джек Шаффлботэм. Подобных событий оказалось меньше по сравнению со всеми другими днями, поэтому ИИ решил, что это самый скучный день. True Knowledge в конечном итоге стала Evi – ИИ, которому вы можете задать вопросы или просто предложить поговорить. В 2012 году Evi приобрела компания Amazon и превратила ее в Amazon Echo – известный домашний говорящий ИИ.
Символический ИИ развивается вместе с интернетом. В то время как ИИ, такие как Cyc и Evi, полагались на тысячи пользователей, предоставлявших сведения вручную, сэр Тим Бернерс-Ли, создатель Всемирной паутины, давно высказал идею, что WWW (World Wide Web) должна стать GGG (Giant Global Graph) – гигантским глобальным графом[6] данных. То есть помимо того, что веб-сайты стоит делать удобными для пользователей, на них также необходимо хранить данные в форме, понятной компьютерам. Сайты традиционно создавались как документы с текстом, изображениями и видео или как программы со сценариями, которые запускаются при заполнении форм и нажатии кнопок. В мечтах же Бернерса-Ли внутри каждой веб-страницы данные поименованы и имеют уникальные идентификаторы. В семантической паутине веб-сайты становятся базами данных сведений, где каждый элемент является самостоятельным объектом, который может быть найден независимо и имеет четкую текстовую метку или тип. Если вся WWW станет GGG, то наши ИИ смогут искать знания всего мира, рассуждать о них и делать выводы.
Эта великая мечта о символическом ИИ, к сожалению, не была принята большинством веб-разработчиков – они продолжают размещать огромные объемы данных в интернете в форме, которую ИИ с трудом распознает. Но такая необходимость становится насущной. Было подсчитано, что в 2019 году 80 % новых данных оказались неструктурированными, то есть не были представлены в такой форме, которую могут понять компьютеры, – это текстовые документы, изображения и видео. (Подумайте обо всех электронных письмах и отчетах, которые вы пишете в виде «свободного текста», не разбивая его на разделы. Или о фотографиях и видео, что вы снимаете на телефон, – вы не просматриваете и не обозначаете каждую сцену или элемент в кадре.) В то же время объем данных растет с каждым годом. В 2019 году число пользователей интернета составило 4,4 миллиарда, что на 80 % больше чем пятью годами ранее, и ежедневно отправлялось 293 миллиарда электронных писем. Каждую секунду в Google создавалось 40 000 поисковых запросов и публиковалось 7 800 твитов. Все больше и больше компаний использовали интернет в качестве части своего бизнеса и генерировали огромные объемы данных. В 2016 году в день собиралось 44 миллиарда гигабайт данных. Подсчитано, что к 2025 году в день мы будем генерировать 463 миллиарда гигабайт.
У меня есть мечта…[7] Машины смогут анализировать все данные в сети… сегодняшние механизмы торговли, бюрократии и повседневной жизни будут управляться машинами, разговаривающими с машинами, оставив людям вдохновение и интуицию.
У нас больше нет выбора: ни один человек не сможет осмыслить эти ошеломляющие объемы данных. Наша единственная надежда – использовать ИИ в качестве помощника. К счастью, об этом речь пойдет в следующих главах, другие формы ИИ теперь способны обрабатывать неструктурированные и немаркированные данные и помечать их особыми метками, давая символическим ИИ то, что им необходимо, чтобы оперировать такими данными. В конце концов, пожалуй, не имеет значения, будет ли это истинный интеллект (сильный ИИ) или своего рода притворный (слабый ИИ). Обработка символьных сетей в соответствии с правилами позволяет нашим компьютерам осмысливать обширную вселенную данных. Так что, возможно, мечта Бернерса-Ли однажды все же станет реальностью.