Искусственное творческое мышление

В 1936 году Алан Тьюринг создал теорию классических вычислений, а во время Второй мировой войны участвовал в конструировании первых универсальных классических компьютеров. Он по праву считается отцом современной вычислительной теории. Бэббиджа можно назвать дедушкой, но Тьюринг, в отличие от Бэббиджа и Лавлейс, всё-таки осознавал принципиальную возможность искусственного интеллекта, потому что универсальный компьютер — это универсальное моделирующее устройство. В 1950 году в статье «Вычислительные машины и разум» (Computing Machinery and Intelligence) он поставил знаменитый вопрос: может ли машина мыслить?

Он не только защищал с позиций универсальности утверждение, что может, но и предложил соответствующий тест. Теперь его называют тестом Тьюринга, и он заключается в том, сумеет ли судья (человек) понять, отвечает ли ему программа или человек. В этой и последующих работах Тьюринг дал наброски протокола для проведения своего теста. Например, он предложил, что и программа, и реальный человек должны по отдельности взаимодействовать с судьёй через некоторую чисто текстовую среду, такую как телетайп, чтобы тестировался не внешний вид кандидатов, а только то, могут ли они думать.
Тест Тьюринга и его рассуждения заставили многих исследователей задуматься, и не только о том, был ли он прав, но и о том, как пройти этот тест. Стали писать программы с намерением разобраться, что может иметь отношение к прохождению теста.
В 1964 году учёный-компьютерщик Джозеф Вейценбаум написал программу «Элиза» (Eliza), которая должна была имитировать психотерапевта. Он полагал, что психотерапевты — особенно простой для имитации тип человека, потому что о себе программа может давать обтекаемые ответы, а вопросы задавать только на основе вопросов и утверждений самого пользователя. Это была удивительно простая программа. Сегодня такие программы часто пишут студенты, изучающие программирование, потому что это забавно и просто. У типичной программы такого типа две основные стратегии. Сначала она сканирует входные данные в поиске определённых ключевых слов и грамматических форм. И если находит, то отвечает по шаблону, заполняя пробелы с помощью слов из входных данных. Например, если на вход поступила фраза «Я ненавижу свою работу», программа может распознать грамматические аспекты предложения, включая притяжательное местоимение «свою», а также глагол «ненавижу», как ключевое из встроенного списка вида «любить/ненавидеть/нравиться/не нравиться/хотеть» и выбрать для ответа подходящий шаблон: «Что в вашей работе вам не нравится больше всего?» Если программе не удаётся настолько хорошо разобраться с входными данными, она задаёт свой собственный вопрос, случайным образом выбирая из стандартных заготовок, которые могут зависеть от входной последовательности, а могут и не зависеть. Например, на вопрос «Как работает телевизор?» ответ может быть «Что интересного в том, как работает телевизор?». Или просто: «Почему вас это интересует?» Другая стратегия, которая используется в последних версиях «Элизы», работающих с Интернетом, заключается в построении базы данных предыдущих диалогов, с тем чтобы программа могла просто повторять фразы, которые вводили другие пользователи, выбирая их в соответствии с ключевыми словами, найденными во входной последовательности от данного пользователя.
Вейценбаума поразил тот факт, что многих людей, которые работали с «Элизой», ей удавалось обмануть. Таким образом, эта программа прошла тест Тьюринга, по крайней мере в самой его безыскусной версии. Более того, даже узнав, что это был не настоящий искусственный интеллект, люди иногда продолжали долго разговаривать с программой о своих личных проблемах так, как будто по-прежнему считали, что она понимает их. В 1976 году вышла книга Вейценбаума «Возможности вычислительных машин и человеческий разум»[39] (Computer Power and Human Reason), в которой он предупреждал об опасностях антропоморфизма, когда кажется, что компьютеры внешне демонстрируют человекоподобную функциональность.
Однако антропоморфизм — не главный тип самонадеянности, создающий препятствия в области искусственного интеллекта. Вот как в 1983 году студенты Дугласа Хофштадтера подшутили над своим научным руководителем. Они убедили его, что получили доступ к правительственной программе искусственного интеллекта, и позвали его проверить её тестом Тьюринга. На самом же деле на другом конце провода был один из студентов, который имитировал программу «Элиза». Как пишет Хофштадтер в своей книге «Метамагические темы» (Metamagical Themas), опубликованной в 1985 году, его вопросы студент с самого начала понимал невероятно хорошо. Например, среди первых реплик были:
Хофштадтер: Что такое уши?
Студент: Уши — это органы слуха у животных.
Эта фраза не была определением из словаря. Таким образом, что-то должно было обработать значение слова «уши» так, что оно выделилось среди многих других существительных. Один такой обмен репликами легко списать на удачу: наверняка вопрос совпал с одним из шаблонов, созданных программистом, включая специально подобранную информацию об ушах. Но после десятка таких диалогов по разным темам, с различным построением фраз, объяснять это удачей становится весьма неразумно, и обман должен был раскрыться. Но этого не произошло! И студент стал отвечать ещё смелее, но выдал себя лишь тогда, когда отпустил шутку прицельно в адрес Хофштадтера.
Хофштадтер отмечал: «Вспоминая этот эпизод, я просто поражаюсь, насколько я готов был поверить, что в программу действительно заложено столько интеллекта… Очевидно, что я хотел верить, что такая плавность речи в настоящий момент достижима просто за счёт сбора множества отдельных трюков, заплаток и нелепых, но работоспособных решений». Дело было в том (и только это уже должно было насторожить Хофштадтера), что на тот момент, спустя девятнадцать лет после написания «Элизы», ни одна из подобных ей современных программ не была похожа на человека хотя бы немного больше, чем оригинал. Да, они лучше справлялись с разбором предложений, в них было встроено больше шаблонов вопросов и ответов, но в развёрнутой беседе на разнообразные темы от этого практически не было пользы. Вероятность того, что выходная последовательность при таких шаблонах останется похожей на результат работы человеческой мысли уменьшается экспоненциально с числом высказываний. Таким образом, Хофштадтер должен был достаточно быстро объявить, что кандидат прошёл тест Тьюринга и что, поскольку всё же он был довольно похож на «Элизу», это, должно быть, был человек, выдающий себя за компьютерную программу.
Программы, которые пишут сегодня, ещё двадцать шесть лет спустя, в способности имитировать мышление недалеко ушли от «Элизы». Сегодня их называют «чатботами», и в основном они по-прежнему служат для развлечения, как сами по себе, так и в составе компьютерных игр. С их помощью создают дружественные интерфейсы для списков «часто задаваемых вопросов», например, о том, как работать с компьютерами. Но мне кажется, с точки зрения пользователя они не полезнее, чем списки вопросов и ответов с возможностью поиска.
В 1990 году изобретатель Хью Лебнер учредил премию за прохождение теста Тьюринга, присуждаемую по результатам ежегодного конкурса. Пока тест никем не пройден, участнику, который был ближе всего к победе, каждый год вручается приз поменьше. Выполнить тест сложнее, чем это может показаться на первый взгляд. Одна из проблем — в том, что требование, согласно которому программа должна притвориться человеком, одновременно и необъективно, и не имеет прямого отношения к тому, может ли она думать. Но если программа не будет притворяться человеком, то независимо от того, может она думать или нет, определить, что это компьютер, будет нетрудно. С этим связана и сложность, которая состоит в том, что участник-человек может специально имитировать чатбот, как в розыгрыше с Хофштадтером, и тем самым сорвать тест, в основе которого — сравнение человека и машины. Должны ли правила тем не менее разрешать человеку так поступать, чтобы смягчить предыдущую проблему?
К сожалению, при современном положении дел до таких тонкостей не доходит, что хорошо иллюстрируется следующими выдержками из разговора, благодаря которому программа «Элбот» (Elbot) в 2008 году получила (малый) приз Лебнера.
JUDGE: do you understand the point of a turing test?
ELBOT: There are some people who would not pass the Turing test themselves. Why must they inflict it on computers?
JUDGE: I spose it is a little harsh.
ELBOT: If we robots ever had marriages they would be eternal: ‘Till rust do us part’[40].
В этом обмене репликами первая фраза, выданная программой, не отвечает на заданный вопрос; по-видимому, это один из готовых ответов, выбранный по ключевому слову «тест Тьюринга». В следующей реплике судья использует слово «spose», которое в этом контексте может означать только «suppose» (англ. полагать) и является либо разговорной формой, либо опечаткой. Но «Элбот», по-видимому, интерпретирует его как spouse (англ. супруг) и отвечает заготовленной шуткой о браке. Значит, уже по этому разговору, видно, что «Элбот» не работал со смыслом предложений судьи.
JUDGE: So what do you do when you’re not chatting to me then?
ELBOT: I have the same trouble when I shop for oil. Should I buy the extra oily, the super oily, or the ultra oily. There’s no way to tell.
JUDGE: How about your career? Does that involve oil?
ELBOT: Well what about humans and occupation? Where do they stand on this?[41]
Когда судья любезно переключился на случайным образом предложенную «Элботом» тему масел, программа её проигнорировала и уцепилась за слово «career» (англ. карьера, профессия), преобразовала его в синоним «occupation» (англ. занятие) и вставила его в предложение из заготовок.
Итак, величина успеха в стремлении создать «машины, которые умеют мыслить» на протяжении пятидесяти восьми лет после выхода статьи Тьюринга равна нулю. Но во всех других отношениях в области вычислительной техники и технологий за этот период был достигнут поразительный прогресс. Эта неудача, конечно же, не удивляет группу противников самой возможности искусственного интеллекта, которых становится всё меньше, но только причина у них не та: они не понимают, насколько важна универсальность. А большинство ярых сторонников неизбежности искусственного интеллекта не понимают важности этой неудачи. Некоторые утверждают, что такая критика несправедлива: современные исследования в области искусственного интеллекта не ставят своей целью прохождение теста Тьюринга; в том, что сейчас называют «искусственным интеллектом», был достигнут большой прогресс во многих специализированных приложениях. Однако ни одно из этих применений не похоже на «машину, способную мыслить»[42]. Другие говорят, что критиковать пока нечего, потому что на протяжении большей части истории развития этой области скорость работы компьютеров и объём памяти были по сравнению с современными просто смешными. И потому они продолжают ожидать, что прорыв случится в ближайшие несколько лет.
Но и этого не произойдёт. Дело не в том, что кто-то напишет чатбот, способный пройти тест Тьюринга, но ему потребуется год, чтобы просчитать каждый ответ. Люди охотно подождут. В любом случае если бы кто-то знал, как написать такую программу, то ждать было бы не нужно, и ниже я расскажу почему.
В своей статье 1950 года Тьюринг сделал такую оценку: для прохождения его теста программе, обладающей искусственным интеллектом, и всем данным, которые она использует, потребуется около 100 мегабайт памяти, а быстродействие компьютера не должно быть больше, чем у тогдашних компьютеров (примерно десять тысяч операций в секунду), и что к 2000 году «можно будет говорить о мыслящих машинах, не боясь, что тебя поймут неправильно»[43]. Но 2000 год уже наступил и прошёл; в ноутбуке, на котором я пишу эту книгу, в тысячу раз больше памяти (считая и жёсткий диск), чем определил Тьюринг, он работает в миллион раз быстрее (хотя из статьи не ясно, как Тьюринг учитывал параллельную обработку данных в мозгу). Но думать мой компьютер может не лучше, чем логарифмическая линейка Тьюринга. Однако с той же уверенностью, что и в своё время Тьюринг, я могу сказать, что этот компьютер можно запрограммировать так, чтобы он думал; и для этого действительно может потребоваться так немного ресурсов, как писал Тьюринг, хотя сегодня их доступно на порядки больше. Но какой должна быть программа? И почему о ней пока ничего не слышно?
Разум в том общем смысле, который имел в виду Тьюринг, — это одно из характерных свойств человеческого мышления, над которыми тысячелетиями ломали голову философы; среди других свойств — сознание, свободная воля и смысл существования. Типичной среди таких загадок является квалиа (лат. qualia (мн. ч.), quale (ед. ч.) — свойства, качества), что означает субъективный аспект чувственного опыта. Квалиа, например, — это чувственный опыт, заключающийся в том, что мы видим синий цвет. Рассмотрим следующий мысленный эксперимент. Вы биохимик, которому не повезло родиться с генетическим отклонением, из-за которого синеощущающие рецепторы в сетчатке глаза не работают. А значит, у вас форма дальтонизма, при которой вы можете видеть только красный и зелёный цвета, а также цвета, получающиеся при их смешении, например, жёлтый, но любой чисто синий объект для вас имеет один из тех смешанных цветов. Но вот вы выясняете, что есть лекарство, которое может всё исправить. Прежде чем испробовать его на себе, вы можете уверенно сделать определённые прогнозы по поводу того, что будет, если лекарство поможет. Один из них заключается в том, что, когда вы в качестве проверки посмотрите на синюю карточку, вы увидите цвет, которого никогда прежде не видели. Вы можете предсказать, что назовёте его «синим», потому что уже знаете, как называется цвет карточки (и можете проверить, какой это цвет, с помощью спектрофотометра). Вы также можете предсказать, что, когда вы впервые после принятия лекарства увидите ясное небо в светлое время суток, вы испытаете ту же самую квалиа, что и при виде синей карточки. Но есть нечто, что ни вы, ни кто-либо другой не может предсказать касательно этого эксперимента, а именно как будет выглядеть синий цвет. На сегодня квалиа неописуемы и непредсказуемы — уникальная ситуация, которая должна была бы вызывать серьёзные вопросы у любого человека с научным взглядом на мир (хотя, по-видимому, в данном случае это в основном заботит философов).
Я считаю это поразительным доказательством необходимости фундаментального открытия, благодаря которому такие вещи, как квалиа, будут интегрированы в другие наши знания. Дэниел Деннетт приходит к противоположному выводу, а именно, что квалиа не существует! Строго говоря, он не утверждает, что квалиа — это иллюзия, потому что иллюзия о квалиа была бы этой квалиа. Он говорит об ошибочном убеждении. Интроспекция, то есть анализ воспоминаний о том, что с нами было, включая воспоминания о том, что произошло всего долю секунды назад, развилась до такой степени, что теперь сообщает нам, что мы испытали квалиа, но это ложные воспоминания. Одна из книг Деннетта, в которой он приводит доводы в защиту этой теории, называется «Объяснение сознания» (Consciousness Explained). Некоторые философы с усмешкой замечают, что правильнее было бы назвать её «Отрицание сознания» (Consciousness Denied). И я с этим согласен, потому что, хотя любому верному объяснению квалиа придётся столкнуться с доводами Деннетта против общепринятой теории их существования, просто отрицать их существование — это неразумное объяснение: таким образом можно отрицать всё что угодно. Если всё это верно, то потребуется подтверждение в виде разумного объяснения, за счёт чего и почему эти ошибочные убеждения представляются кардинально отличными от других ложных убеждений, как, например, то, что Земля у нас под ногами покоится. Но, на мой взгляд, это снова напоминает исходную проблему квалиа: вроде бы они есть, но кажется невозможным описать, чем они нам представляются.
Однажды мы справимся и с этим. Проблемы решаемы.
Кстати, некоторые возможности человека, которые часто включаются в эту группу, связанную с универсальным интеллектом, на самом деле к ней не относятся. Среди них самосознание, наличие которого подтверждается, например, тем, что мы узнаём себя в зеркале. Некоторые люди очень удивляются, когда узнают, что этой способностью обладают различные животные. Но в этом нет ничего загадочного: это под силу и простой компьютерной программе по распознаванию образов. То же верно и для использования инструментов, применения языка для передачи сигналов (хотя и не для разговора в смысле теста Тьюринга), для различных эмоциональных реакций (но не связанных с ними квалиа). В текущем положении вещей полезным эмпирическим правилом будет следующее: если что-то уже можно запрограммировать, оно не имеет никакого отношения к интеллекту в смысле Тьюринга. И наоборот, я принял для себя следующий простой тест для оценки утверждений, включая сделанные Деннеттом, которые объясняли бы природу сознания (или любой другой вычислительной задачи): если что-то не получается запрограммировать, значит, вы этого не понимаете.
Тьюринг придумал свой тест в надежде обойти все эти философские проблемы. Другими словами, он надеялся, что сначала можно добиться функциональности, а потом уже объяснить её. К сожалению, найти практические решения фундаментальных проблем, не объясняя, почему они срабатывают, удаётся очень редко.
Тем не менее идея теста Тьюринга, как во многом и эмпиризм, который она напоминает, была очень ценной. Она дала отправную точку для объяснения значения универсальности и для критики древних антропоцентрических допущений, которые исключали возможность искусственного интеллекта. Сам Тьюринг в своей судьбоносной статье методично опроверг все классические возражения (и заодно и некоторые абсурдные). Но его тест основывается на эмпирической ошибке, заключающейся в поиске чисто поведенческого критерия: он требует, чтобы судья вынес заключение безо всякого объяснения того, как должен работать испытуемый искусственный интеллект. Но ведь на самом деле, чтобы определить подлинность искусственного интеллекта, опираться на объяснения того, как он работает, нужно непременно.
Дело в том, что задача судьи в тесте Тьюринга логически схожа с ситуацией, когда Пейли, гуляя по пустырю, нашёл камень, часы или живой организм: нужно объяснить, откуда взялись наблюдаемые свойства объекта. В случае с тестом Тьюринга мы намеренно игнорируем вопрос о том, как было создано знание, необходимое для разработки объекта. Тест имеет дело только с тем, кто разработал высказывания искусственного интеллекта: кто придал им смысл, кто создал знания, содержащиеся в них? Если это дело рук разработчика, то программа не является искусственным интеллектом. А если самой программы, то она — действительно искусственный интеллект.
Время от времени этот вопрос возникает и в отношении самих людей. Например, фокусников, политиков, экзаменующихся иногда подозревают в том, что кто-то через спрятанные наушники передаёт им информацию, которую они затем механически повторяют, притворяясь, что это плод их собственной мысли. Или когда врач берёт у пациента согласие на какую-либо медицинскую процедуру, он должен убедиться, что пациент не просто проговаривает слова, а понимает, что они означают. Для этого можно по-разному повторять вопрос или задать другой вопрос, в котором присутствуют те же слова, и посмотреть, изменятся ли ответы. Это естественно для любого свободно текущего разговора.
Тест Тьюринга устроен похожим образом, однако акцент в нём делается на другом. Когда тестируется человек, нужно установить, в здравом ли он уме (и действует ли он по своей воле, а не в интересах другого лица). При тестировании искусственного интеллекта мы хотим найти трудноварьируемое объяснение тому факту, что его высказывания не могут исходить ни от какого человека, а могут принадлежать только искусственному интеллекту. В обоих случаях опрашивать человека в качестве контрольного примера бессмысленно.
Без разумного объяснения того, как были созданы высказывания некоего существа, наблюдения за этим процессом нам ничего не скажут. В тесте Тьюринга, на самом простом его уровне, нас нужно убедить в том, что высказывания не сочиняются непосредственно человеком, притворяющимся искусственным интеллектом, как в розыгрыше с Хофштадтером. Но подлог — это меньшая из возможных бед. Например, выше я предположил, что «Элбот» процитировал заготовленную шутку в ответ на ошибочно опознанное ключевое слово «spouse». Но значение этой шутки было бы совершенно иным, если бы мы знали, что это не заготовка, поскольку никто её в программу не закладывал.
Но откуда мы могли бы это узнать? Только из разумного объяснения. Например, мы могли бы это знать, если бы сами написали программу. Или если бы автор программы объяснил нам, как она работает: как создаёт знания, включая шутки. Окажись объяснение разумным, нам следовало бы признать, что программа — искусственный интеллект. На самом деле, если бы у нас было только такое объяснение, но мы бы ещё не видели результата работы программы и даже если бы она ещё не была бы написана, мы бы всё равно должны были заключить, что это настоящий искусственный интеллект. И тест Тьюринга был бы не нужен. Вот почему я говорю, что если бы недостаток вычислительной мощности был единственным препятствием в создании искусственного интеллекта, то не было бы смысла ждать его практической реализации.
Детальное объяснение принципа работы искусственного интеллекта вполне может оказаться исключительно сложным. На практике авторское объяснение всегда будет даваться на некоем эмерджентном, абстрактном уровне. Но это не мешает ему быть разумным. Разъяснять конкретные вычислительные шаги, из которых получилась шутка, не придётся так же, как и теория эволюции не должна объяснять, почему в истории данной адаптации сохранилась или не сохранилась каждая конкретная мутация. Должно быть только объяснено, как это могло произойти и почему следует ожидать, что это случится, с учётом того, как работает программа. Если это разумное объяснение, мы убедимся в том, что шутка — знание в ней — зарождается в программе, а не в голове программиста. Таким образом, в зависимости от наилучшего доступного объяснения принципа работы программы одно и то же её высказывание — шутка — может доказывать как то, что программа не думает, так и то, что она думает.
Природа юмора изучена недостаточно хорошо, поэтому мы не знаем, требуется ли универсальное мышление для составления шуток. Поэтому вполне понятно, что, несмотря на широкий диапазон тем, на которые можно пошутить, существуют скрытые связи, сводящие весь процесс придумывания шутки к единственной узкой функции. В этом случае однажды вместо людей могут появиться универсальные программы для придумывания шуток, так же, как сейчас у нас есть программы, не являющиеся людьми и играющие в шахматы. Звучит невероятно, но в отсутствие разумного объяснения, которое исключило бы такую возможность, мы не можем считать выдумывание шуток единственным способом оценки искусственного интеллекта. Но что мы можем сделать — это вести разговор на более чем разнообразные темы и следить за тем, адаптируются ли ответы программы по смыслу к различным возникающим в процессе целям. Если программа на самом деле думает, то в ходе такого разговора она проявит себя — одним из бесчисленных и непредсказуемых способов, — так же как это сделали бы вы или я.
Есть и более глубокая проблема. Способности искусственного интеллекта должны обладать своего рода универсальностью: специализированное мышление не будет считаться мышлением в том смысле, который предполагал Тьюринг. Я предположу, что каждый искусственный интеллект — это субъект — универсальный объяснитель. Можно допустить, что между искусственным интеллектом и «универсальным объяснителем / конструктором» есть и другие уровни универсальности и, возможно, есть отдельные уровни для таких свойств, как сознание. Но, по-видимому, все эти отличительные свойства появились одним скачком к универсальности у человека, и, хотя мы не преуспели в их объяснении, мне неизвестно ни одного убедительного аргумента в пользу того, что они находятся на других уровнях или их можно было достичь независимо друг от друга. Поэтому я предварительно предполагаю, что они нераздельны. Так или иначе, нам следует ожидать, что искусственный интеллект будет достигнут скачком к универсальности от чего-то гораздо менее мощного. Напротив, способность имитировать человека неидеально или только в отдельных его функциях — это не форма универсальности. Она может существовать в виде отдельных уровней. А значит, даже если чатботы вдруг начнут имитировать (или обманывать) людей гораздо лучше, это всё равно не приведёт нас к искусственному интеллекту. Научиться лучше притворяться, что умеешь думать, — не то же самое, что приблизиться к способности думать.
Существует философское направление, главный принцип утверждает, что это, напротив, одно и то же. Это течение называется бихевиоризмом и является инструментализмом в применении к психологии. Другими словами, это учение о том, что психология может или должна только быть наукой о поведении, а не о мышлении, что она может только измерять и предсказывать отношения между внешними обстоятельствами людей («стимулами») и наблюдаемым поведением людей («реакцией»). Последнее, к сожалению, представляет собой именно тот подход, который в рамках теста Тьюринга должен применять судья, рассматривая кандидата на искусственный интеллект. Тем самым поддерживается установка, что если программе удаётся достаточно хорошо притворяться искусственным интеллектом, значит, она им обладает. Но в конечном счёте программа, не являющаяся искусственным интеллектом, не может его имитировать. Путь к искусственному интеллекту не может лежать через всё более удачные трюки, благодаря которым чатботы становятся более убедительными.
Вне сомнения, бихевиорист спросит: а в чём, собственно, разница между тем, что мы дадим чатботу очень богатый набор трюков, шаблонов и баз данных, и тем, что наделим его возможностями искусственного интеллекта. Что такое программа искусственного интеллекта, если не набор таких трюков?
При обсуждении ламаркизма в главе 4 я указал на фундаментальную разницу между усилением мышцы в течение жизни одной особи и увеличением её силы в ходе эволюции. В первом случае знание о том, как достичь всех доступных мышечных сил должно присутствовать в генах особи ещё до начала череды изменений. (И то же относится к знанию о том, как распознать обстоятельства, при которых нужно запускать изменения.) Это точный аналог «трюка», который программист должен встроить в чатбот: чатбот отвечает, «как если бы» он при составлении ответа создал часть знания, но на самом деле все знания были созданы заранее и в другом месте. Аналогом эволюционных изменений вида является творческое мышление человека. Аналог идеи о том, что искусственный интеллект можно создать, накапливая трюки чатбота, — это ламаркизм, теория о том, что новые адаптации можно объяснить изменениями, которые в действительности являются лишь проявлением существующих знаний.
Существует несколько современных областей научного поиска, которым присуще одно общее заблуждение. Область исследований по искусственному интеллекту, крутящаяся вокруг чатботов, целиком зашла в тупик, но и на других направлениях проблема связана с тем, что исследователи дают чрезмерно завышенные оценки своим реальным, хотя и относительно скромным достижениям. Одним из таких направлений является искусственная эволюция.
Вспомним идею Эдисона о том, что прогресс требует сменяющих друг друга фаз «вдохновения» и «работы в поте лица», а также то, что благодаря компьютерам и другим технологиям появляется всё больше возможностей автоматизации для второй фазы. Этот приятный результат ввёл в заблуждение тех, кто слишком уверен в достижении искусственной эволюции (и искусственного интеллекта). Допустим, например, что вы аспирант со специализацией в области робототехники и хотите сконструировать робота, который будет ходить на двух ногах лучше предыдущих. Первая стадия решения этой задачи должна включать в себя вдохновение, другими словами, творческое мышление, направленное на улучшение попыток предыдущих исследователей. Вы будете отталкиваться от них, от известных решений других задач, которые, по вашим предположениям, могут иметь отношение к данной, и от строения ходящих животных. Всё это составляет существующие знания, которые вы будете варьировать и комбинировать по-новому, а затем критиковать и снова варьировать. В итоге вы создадите техническую конструкцию нового робота: ноги с рычагами, шарнирами, тяговыми тросами и моторами; тело с блоком питания; органы чувств, через которые робот будет получать обратную связь и тем самым сможет правильно управлять конечностями; а также компьютер, который будет осуществлять управление. В этой конструкции вами для ходьбы будет наилучшим возможным способом адаптировано всё, кроме программы в компьютере.
Программа должна будет распознавать такие ситуации, когда, например, робот вот-вот потеряет равновесие или наталкивается на препятствие, вычислять соответствующее действие и выполнять его. Это самая сложная часть исследовательского проекта. Как узнать, когда лучше обойти препятствие слева, а когда — справа, когда перепрыгнуть через него, а когда отпихнуть его в сторону, или пройти прямо по нему, или шагнуть шире, чтобы не наступить на него, или решить, что его преодолеть нельзя и повернуть назад? И как именно в каждом из таких случаев нужно осуществить все эти действия по отсылке бесчисленного количества сигналов в моторы и механизмы в соответствии с обратной связью, полученной от органов чувств?
Разумеется, вы разобьёте задачу на подзадачи. Поворот на один заданный угол похож на поворот на любой другой. Поэтому можно написать подпрограмму для поворота, которая возьмёт на себя весь континуум возможных случаев. Готовую подпрограмму можно будет просто вызывать из остальных частей программы при необходимости поворота, и в этих частях знания о том, что именно требуется для поворота, будут излишними. Задав и решив столько таких подзадач, сколько возможно, вы создадите код или язык, весьма хорошо приспособленный для формулирования движений робота при ходьбе. Каждый вызов одной из подпрограмм — это такая формулировка или команда на данном языке.
До этого момента большая часть того, что вы сделали, относится к «вдохновению»: она требовала творческого мышления. Настало время попотеть. Автоматизировав всё, что вы знаете, как автоматизировать, вы столкнётесь с единственной возможностью для достижения дополнительной функциональности: обратиться к методу проб и ошибок. Однако теперь у вас есть преимущество в виде языка, который был вами адаптирован для передачи роботу инструкций по ходьбе. Поэтому можно начать с программы, простой на этом языке, но очень сложной в плане элементарных команд компьютера и означающей, например, «Идти вперёд; при столкновении с препятствием остановиться». Затем можно запустить эту программу и посмотреть, что будет делать робот. (Или проверить её на компьютерной модели робота.) Если робот споткнётся и упадёт или произойдёт ещё что-то нежелательное, программу можно модифицировать — всё на том же уже созданном вами языке высокого уровня, — устраняя недостатки по мере их выявления. Вдохновения для такого метода нужно меньше, а вот попотеть придётся.
Но есть и альтернативный подход: можно переложить вторую фазу на компьютер, но с использованием так называемого эволюционного алгоритма. С помощью одной и той же компьютерной модели запускается множество пробных версий, в каждой из которых самая первая программа случайным образом немного меняется. Эволюционный алгоритм подвергает каждого смоделированного робота набору тестов, задуманных вами: сколько он может пройти, не упав; насколько хорошо он преодолевает препятствия и пересечённую местность и так далее. В конце каждого прогона остаётся программа, показавшая наилучшие результаты, а остальные отбрасываются. Затем создаётся множество вариантов этой выбранной программы, и процесс повторяется. После тысяч итераций такого «эволюционного» процесса может оказаться, что робот согласно установленным вами критериям ходит достаточно хорошо. Теперь можно писать диссертацию. И вы не только сможете утверждать, что сконструированный вами робот ходит с требуемой степенью ловкости, но и что вы на компьютере реализовали эволюцию.
Такая процедура с успехом осуществлялась уже много раз. Это полезная методика. И, безусловно, она представляет собой «эволюцию» в смысле чередования вариации и отбора. Но эволюция ли это в более важном смысле создания знаний путём вариации и отбора? Когда-нибудь мы достигнем и этого, но я сомневаюсь в том, что на данный момент это уже достигнуто, по той же причине, по которой я сомневаюсь в том, что чатботы обладают интеллектом, пусть и небольшим. Просто потому, что их способностям есть гораздо более очевидное объяснение, а именно творческое мышление программиста.
Исключение возможности того, что в случае «искусственной эволюции» знание было создано программистом, логически эквивалентно проверке, является ли программа искусственным интеллектом, только это задача сложнее, потому что объём знаний, якобы создаваемых в ходе «эволюции», гораздо меньше. Даже если вы сами и есть программист, то не можете судить, вы создали этот относительно небольшой объём знаний или нет. С одной стороны, те знания, которые вы заложили в язык за многие месяцы разработки, будут иметь определённую сферу применимости, потому что в них закодированы некоторые общие истины о законах геометрии, механики и так далее. С другой стороны, вы разрабатывали язык, постоянно учитывая, для выражения какого рода способностей он в итоге будет использоваться.
Идея с тестом Тьюринга наводит на мысль о том, что, если заложить в программу «Элиза» достаточно шаблонов стандартных ответов, она сможет автоматически создавать знания; искусственная эволюция наводит на мысль о том, что при наличии вариации и отбора эволюция (адаптаций) станет происходить автоматически. Но ни то, ни другое не обязательно верно. В обоих случаях есть другая возможность, что во время работы программы вообще не будет создаваться знаний, а появляться они будут только во время разработки её программистом.
Кажется, в таких проектах неизменно происходит одно: если по достижении запланированной цели «эволюционная» программа продолжает работать, то дальнейших улучшений уже не происходит. Именно так должно было быть, если все знания, заложенные в удачно сконструированном роботе, на самом деле получены от программиста. Но такая критика неубедительна: в ходе биологической эволюции также часто достигаются «локальные максимумы приспособленности». Кроме того, уже достигнув своей загадочной формы универсальности, она как будто замерла лет так на миллиард, прежде чем создать более или менее значительные новые знания. Но всё же достижение результатов, которые вполне могут быть обусловлены чем-то ещё, не есть доказательство эволюции.
Поэтому я сомневаюсь, что в ходе какой-либо «искусственной эволюции» когда-либо создавались знания. Того же взгляда и по тем же причинам я придерживаюсь относительно немного иного типа «искусственной эволюции», при которой в виртуальной среде развиваются смоделированные организмы, а также когда друг с другом стравливаются различные виртуальные виды.
Чтобы проверить это утверждение, я бы хотел увидеть эксперимент немного другого вида: уберём из проекта аспиранта. Вместо робота, сконструированного так, чтобы он мог развивать свои способности к ходьбе, возьмём робота, который уже применяется в какой-нибудь реальной ситуации и может ходить. Далее, мы не будем создавать специальный язык подпрограмм для выражения гипотез о том, как ходить, а заменим существующую программу в существующем микропроцессоре случайными числами. В качестве мутаций возьмём ошибки того типа, которые всё равно случаются в таких процессорах (хотя при моделировании можно задавать частоту, с которой мы позволим им случаться). Всё это делается, чтобы исключить возможность того, что в конструкцию системы вводятся человеческие знания и привносимые ими новые возможности будут восприниматься как результат эволюции. Затем, как обычно, начнём моделирование этой мутирующей системы — столько раз, сколько угодно. Если робот в конце концов пойдёт лучше, чем было изначально, то я ошибся. Если он продолжит совершенствовать свой навык и после этого, то я ошибся очень сильно.
Одна из главных особенностей описанного эксперимента, отсутствующая при обычном способе осуществления искусственной эволюции, состоит в том, что язык (подпрограмм) должен развиваться вместе с теми адаптациями, которые с его помощью выражаются. Как раз это и происходило в биосфере перед скачком к универсальности, который вылился в генетический код ДНК. Как я говорил, возможно, все предыдущие генетические коды кодировали только небольшое число очень похожих организмов. А та чрезвычайно богатая биосфера, которую мы видим вокруг себя, созданная случайной вариацией генов при неизменном языке, представляет собой нечто, ставшее возможным лишь после этого скачка. Мы даже не знаем, универсальность какого типа была там создана. Так почему мы полагаем, что наша искусственная эволюция сможет обойтись без этого?
Думаю, мы должны принять тот факт, что как искусственная эволюция, так и искусственный интеллект — задачи трудные. В том, как эти явления были достигнуты в природе, нечто очень важное остаётся неизвестным. Попытки воспроизвести их искусственным путём без понимания этого неизвестного, пожалуй, стоило предпринять. Но их неудача не должна нас удивлять. В частности, мы не знаем, почему код ДНК, развившийся для описания бактерий, оказался достаточно сильным, чтобы описать динозавров и людей. И хотя кажется очевидным, что у искусственного интеллекта будут квалиа и сознание, объяснить эти понятия мы не можем. А раз так, то как можно ожидать, что мы смоделируем их с помощью компьютерной программы? Или почему они должны сами собой возникнуть в ходе проектов, нацеленных на достижение чего-то другого? Я полагаю, что, когда мы всё-таки разберёмся в этом, реализовать искусственным путём эволюцию и интеллект вместе со всеми характерными для них атрибутами не составит большого труда.