К книге
Эти странные новые разумы: Как ИИ научился говорить и что это значит3. Универсальная онтология.
12%
3. Универсальная онтология.
6

Великая догадка Лейбница заключалась в том, что для создания мыслящей машины необходимо начать с языка программирования — формального способа заставлять машину выполнять вашу волю. Однако у него так и не дошли руки до написания формального синтаксиса (или свода правил) для этого языка. Этого пришлось ждать до середины XIX века, когда появились труды относительно малоизвестного английского математика по имени Джордж Буль. Сын скромного сапожника, Буль преподавал математику в Ирландии, в Университетском колледже Корка, где, несмотря на бремя заботы об обедневших родителях, братьях и сестрах, находил время для написания объемистого труда под броским названием «Исследование законов мышления, на которых основаны математические теории логики и вероятностей». В своей книге (которую, прямо скажем, вряд ли назовешь увлекательным чтивом) Буль предложил «математику интеллекта» — формальное описание тех правил и операций, которые необходимы для мышления.

Буль понял, что даже весьма сложные мыслительные задачи, такие как поиск доказательства теоремы или диагностика загадочной болезни, можно разложить на небольшой набор логических операций. По его мнению, бóльшую часть рассуждений можно осуществлять с помощью комбинаций трех простейших операций: конъюнкции (И), дизъюнкции (ИЛИ) и отрицания (НЕ). Так, осматривая нездорового пациента, врач может рассудить следующим образом: поскольку у больного высокая температура И головная боль, но НЕ ригидность затылочных мышц, то это, скорее всего, просто грипп и, к счастью, не менингит. Что важно, этот формальный логический язык обладает встроенной гарантией истинности (например, всегда верно, что если Макс украл печенье ИЛИ Финн украл печенье, и при этом Финн печенье не крал, то виновником точно является Макс — этой логикой родители пользуются с незапамятных времен). Буль утверждал, что именно эта способность мыслить с помощью железобетонной логики (названной в его честь «булевой алгеброй») и есть секрет непревзойденного человеческого интеллекта.

Выводы Буля подтвердили интуитивную догадку Лейбница о том, что логика может обладать бесконечной выразительностью — точно так же, как простой язык программирования позволяет вкладывать одни функции в другие, а те — в третьи для выполнения очень сложных программ. Его работа проложила путь к формальной науке о мышлении о мышлении. Но она также была довольно ограниченной. Человеческие знания — это, очевидно, не просто черно-белый список того, что истинно, а что нет. Мы знаем, какими свойствами обладают предметы, люди и места и как они связаны друг с другом: что у Чарли Чаплина были усы щеточкой, а в Сиднее стоит знаменитый Оперный театр, напоминающий своего рода стимпанковского стегозавра. К счастью, к 1920-м годам система Буля была доработана и превратилась в более богатую структуру, названную логикой первого порядка, которая упростила перевод наших повседневных представлений о реальности на формальный язык, понятный компьютерам.

Этот новый формальный язык создали участники интеллектуального кружка под названием «логические позитивисты» (в него входили Бертран Рассел, Альфред Норт Уайтхед и Готлоб Фреге). Они верили, что с помощью логики можно систематизировать все человеческие знания, и посвятили лучшие годы своей карьеры попыткам свести всю философию к тем же индуктивным и дедуктивным принципам, которые ученые того времени использовали для разработки пенициллина и открытия квантовой механики. На самом деле Рассел и Уайтхед буквально мучились над тем, как переформулировать саму математику в виде формального языка рассуждений. После многолетней работы, уже глубоко во втором томе своего монументального труда «Principia Mathematica», Рассел наконец доказал, что 1 + 1 = 2. Авторы сопроводили это комментарием: «Вышеизложенное утверждение иногда бывает полезно».

Логика первого порядка также известна как «логика предикатов». Предикаты — это термы, которые описывают свойства, функции или отношения, связанные с субъектом язывого выражения. Они встречаются как в естественных языках, на которых говорим мы с вами (например, во французском или суахили), так и в формальных языках, используемых в математике или логике, а также для программирования компьютеров (таких как Python или Fortran). Например, во французском предложении «Turing roule à bicyclette» Turing — это субъект, а оборот «roule à bicyclette» — предикат. В логике предикатов мы могли бы записать то же самое выражение как едет(Тьюринг,велосипед), что формализует отношения между Тьюрингом и его велосипедом в виде функции с двумя входными аргументами: один для наездника, другой для того, на чем едут. Обратите внимание: однажды определив функцию едет(x,y), ее можно использовать для выражения множества различных утверждений, в том числе тех, которые маловероятны в реальной жизни, например едет(Конфуций,страус). Фактически, как и естественные языки, формальные языки обычно допускают рекурсию — возможность вкладывать одни выражения в другие, создавая бесконечное число возможных высказываний. Обозначив выражение едет(Конфуций,страус) как x и вставив его в едет(x,поезд), мы получим рекурсивное выражение едет(едет(Конфуций,страус),поезд). Это можно истолковать так, что великий учитель едет на страусе по всей длине экспресса, следующего из Пекина в Цюйфу — город, где в 551 году до н. э. родился Конфуций.

Подобно тому как новаторские шахматные стратегии строятся на связывании последовательностей простых ходов, объединение логических выражений в цепочки позволяет нам приходить к новым выводам. Чтобы понять, как строятся логические выводы с помощью исчисления предикатов, нам нужно уяснить значение некоторых символов, напоминающих заглавные буквы с опечатками, такие как ∃ и ∀. Допустим, я знаю, что Том — кот, но не знаю, есть ли у него хвост. Я могу использовать другие знания, чтобы сделать вывод, что у Тома на самом деле есть хвост. Выражение ∀(x) кот(x)→имеет_хвост(x) в исчислении предикатов означает: «для всех объектов x, если x — это кот, то у x есть хвост», а выражение кот(Том) означает, что «Том — кот». Таким образом, я могу с уверенностью сделать вывод: кот(Том)→имеет_хвост(Том).

В 1950-х годах два самых смелых первопроходца в области ИИ, Герберт Саймон и Алан Ньюэлл, создали компьютер, который решал задачи на рассуждение на языке программирования, специально предназначенном для реализации исчисления предикатов. Начав с проекта под амбициозным названием «Универсальный решатель задач» (GPS), Ньюэлл и Саймон отталкивались от простой идеи: проблемы решаются путем анализа расхождения между текущим состоянием C и желаемым состоянием D. Если C = D, то задача выполнена — ИИ может расслабиться и идти домой. В противном случае нам нужно предпринять действия, которые приблизят C к D. В основе GPS лежала логическая система, использовавшая эвристики — простые практические правила вычислений, — чтобы разбивать задачу на подзадачи и формулировать планы перехода из C в D.

Рассмотрим классическую задачу о лисах и цыплятах. Три лисы и три цыпленка находятся на одном берегу реки, и цель состоит в том, чтобы безопасно переправить их на другой берег в лодке, вмещающей не более двух существ, при условии, что на одном берегу никогда не должно оставаться больше лис, чем цыплят (иначе последние будут съедены). В статье 1967 года, где рассматривается аналогичный сценарий, описано, как с помощью GPS можно решить эту задачу, проследив длинную цепочку из пятидесяти семи подцелей.[*1] Рассуждение происходило на формальном языке, который авторы вводили в компьютер. Например, запись ЛЕВЫЙ(Ц3,Л1);ПРАВЫЙ(Ц0,Л2,ЛОДКА=ДА) означала бы, что на левом берегу находятся три цыпленка и одна лиса, а на правом — ноль цыплят и две лисы, а также лодка. GPS мог решать и другие классические головоломки, требовавшие пошагового мышления, такие как задача коммивояжера, в которой требуется найти кратчайший путь для посещения набора точек на карте. В конечном итоге Ньюэлл и Саймон надеялись, что GPS удастся применить для решения практических, реальных задач — например, для поиска победного хода на шахматной доске или планирования того, как отвезти детей в школу дождливым утром в понедельник, когда у машины спустило колесо. Но они быстро обнаружили, что GPS способен справляться лишь с относительно простыми задачами, и им так и не удалось перенести его из компьютерной лаборатории в реальный мир — к огромной радости школьников во всем мире.

Тем не менее, идея о том, что разумные машины должны рассуждать на формальном языке об объектах, суждениях и предикатах, укоренилась. Поскольку объектами мышления в этих системах были символы, этот подход стал известен как «символьный ИИ». К 1970-м годам не только компьютеры стали быстрее (хотя по современным меркам они все еще были «неандертальскими» и обычно занимали целую комнату), но и исследователи ИИ разработали передовые языки программирования для реализации логики первого порядка с такими названиями, как PROLOG и LISP. Эти достижения открыли путь к новому, более полезному классу ИИ под названием «экспертные системы», которые использовали символьные рассуждения для решения задач в специализированных областях — таких как диагностика инфекционных заболеваний, интерпретация спектральных данных в органической химии или анализ геологических данных для поиска полезных ископаемых. Экспертные системы состояли из двух частей: базы знаний и механизма логического вывода (напоминающего «хранилище» и «исполнительное устройство» в оригинальном проекте Тьюринга). Чтобы собрать базу знаний, исследователи кропотливо документировали соответствующие объекты и предикаты, такие как опухший(палец_ноги,левый) и головная_боль(сильная,3_дня), и вручную вводили их в память компьютера. Затем механизм вывода использовал метод, называемый «построением цепочек», чтобы вывести следствия из утверждения — например, определить наиболее вероятный диагноз или прогноз на основе симптомов, указанных пользователем.

Хотя это уже гораздо больше напоминает на автоматизированную энциклопедию, о которой изначально мечтал Лейбниц (любит(герцог Ганноверский,колбаски,очень сильно)), в 1970-х годах большинство экспертных систем могли рассуждать лишь об очень узкой области человеческих знаний. Поэтому они были полезны лишь для крайне ограниченного круга задач, таких как диагностика менингита или принятие решения о выдаче ипотечного кредита клиенту с сомнительной кредитной историей. Однако, по крайней мере, ИИ впервые доказал свою реальную пользу для науки, вычислений и бизнеса, и это вдохновило некоторых мыслить масштабно. К 1980-м годам исследователи начали серьезно задумываться над проектом систематической записи буквально всего, что мы знаем обо всем на свете, в форме, подходящей для экспертной системы. В то время возникло несколько подобных проектов, но самый крупный и известный был связан с системой под названием Cyc (сокращенно от «энциклопедия»), создатели которой надеялись каталогизировать в базе знаний весь здравый смысл. Основатель проекта Дуглас Ленат, обыгрывая весьма успешный проект «Геном человека» (который картировал весь набор пар нуклеотидных оснований, составляющих ДНК человека), назвал его проектом «Мемо́м человека» (Human Memome Project).[*2]

Сколько именно знает среднестатистический человек? Мы начали этот раздел с утверждения, что человеческий разум обладает огромным объемом здравого смысла — но можно ли его измерить количественно? Авторы проекта Cyc начали с прикидочных расчетов, предположив, что люди знают около трех миллионов правил здравого смысла, таких как «у всех кошек есть хвосты», «все вороны умеют летать» и «ни один слон не умеет летать». По их оценкам, на кодирование одного нового правила в систему уходит чуть больше часа, так что здравый смысл не по годам развитого ребенка мог бы быть записан одним сотрудником примерно за два тысячелетия — или всего за два года, если бы они наняли команду из тысячи помощников. За финансированием они обратились в секретное грантовое ведомство американских военных — Агентство перспективных оборонных исследовательских проектов (DARPA), известное своей любовью к дерзким проектам уровня «полета на Луну», таким как искусственная кровь, летающие подводные лодки и насекомые-киборги. Получив финансирование, команда принялась за дело: они прочесывали «Британскую энциклопедию», читали детские сказки на ночь и расспрашивали неугомонных ребятишек, пытаясь задокументировать основы того, что знает каждый.

Спустя четыре десятилетия они создали колоссальную онтологию — каталог человеческих знаний, организованный в виде гигантской систематизированной сети взаимосвязанных понятий, включающий более тридцати миллионов правил здравого смысла — в десять раз больше первоначальной оценки. Они также построили мощный механизм логического вывода, способный выстраивать утверждения в длинные цепочки следствий, целью которого было получение новых сложных умозаключений о мире. И вот, наконец, — система, способная применять разум ко всему, что мы знаем. Сбылась ли мечта Лейбница — спустя 300 лет после того, как он впервые задумался о систематизации мировых знаний в автоматизированной мегаэнциклопедии?

Увы, нет. Cyc не был провалом — проект доказал свою полезность в нескольких специализированных областях, таких как каталогизация террористических группировок для правительства США или помощь ученикам шестого класса с домашней работой по математике. Но Ленат был вынужден признать, что более амбициозная цель — создать символьную систему, способную к универсальному мышлению, подобно человеку, — мертва. К началу нового тысячелетия стало ясно, что конструирование машин, которые рассуждают о мире так, будто он представляет собой огромную, стройную логическую систему, — это не тот путь, который ведет к воспроизведению человеческого интеллекта. И дело было не в том, что аппаратное обеспечение было слишком медленным. Известный принцип, называемый законом Мура, гласит, что скорость обработки данных удваивается примерно каждые два года. Благодаря этому экспоненциальному ускорению компьютеры работали более чем в тридцать миллионов раз быстрее, чем во времена, когда Ньюэлл и Саймон создали GPS почти пятьдесят лет назад. И причина была вовсе не в отсутствии усердия — в этом легко убедиться на примере таких масштабных и трудоемких проектов, как Cyc. Так что же пошло не так? Почему мы не можем закодировать все человеческие знания в доступной для машин форме, чтобы искусственный мыслитель мог использовать силу логики и открывать нам удивительные новые истины об окружающем мире?

Ответ возвращает нас к вопросу о том, на что больше похожа жизнь — на шахматы или на катание на коньках. Существует ли фиксированный набор правил, который систематически управляет тем, как устроен мир? Конечно, как полагал Лейбниц, у всякой причины действительно есть следствие, и в конечном счете мир функционирует по законам физики. Но человеческое мышление происходит не на том атомарном уровне, на котором действуют эти законы. Наши знания формируются не на уровне протонов и кварков, а касаются таких вещей, как цыпленок тандури, Багз Банни и Организация Объединенных Наций. На этом уровне объектов, категорий и функций — уровне, на котором оперирует логика первого порядка, — окружающий мир невозможно смоделировать с помощью простого набора логических правил. Мир оказался гораздо более хаотичным и противоречивым местом, чем мог себе представить Лейбниц. Подобно непредвиденным бороздам или выбоинам на поверхности ледового катка, даже самые безобидные на первый взгляд утверждения здравого смысла имеют множество исключений. Факты здравого смысла требуют бесконечных оговорок. Разумеется, у кошек есть хвосты — за исключением мэнксов, родом с острова Мэн в Великобритании, породы гордых бесхвостых кошек. Конечно же, вороны летают — если только им не подрезали крылья или они не мертвы. Само собой, слоны не летают — но что, если поместить одного из них в огромный грузовой самолет «Антонов»? А как же Дамбо? Человеческие знания, по всей видимости, просто не поддаются кодированию исключительно на формальном, логическом языке — они слишком противоречивы, слишком зависят от контекста и содержат слишком много пограничных ситуаций. Попытка вручную каталогизировать все человеческие знания — это практически бесконечная кроличья нора, нескончаемая задача, масштабы которой растут по мере продвижения вперед.

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

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

Пропустить примечания

*1 См. Ernst and Newell, 1967; а также Newell, Shaw, and Simon, 1959.

*2 Ленат опубликовал интересную историю Cyc незадолго до своей смерти в 2023 году (Lenat, 2022).

Предыдущая главаГлава 6 из 52Следующая глава