Философ на краю Вселенной. НФ–философия, или Голливуд идет на помощь: философские проблемы в научно–фантастических фильмах
Шрифт:
Компьютеры можно разделить на два вида: нерды, организованные по алгоритмическому принципу, и джоки, схема которых повторяет устройство головного мозга. «Deep Blue» — классический пример компьютера, устроенного по алгоритмическому принципу, как и большинство современных компьютеров. В их основе — фиксированные, хотя часто и очень сложные программы, состоящие из символов. В качестве примера можно привести знаменитую программу Шанка, который пытался создать для компьютера схему поведения в ресторане. [11] Такие программы иногда называют сценариями. Они предписывают, что делать и как вести себя в определенных ситуациях. Выглядят они примерно так:
11
Р. Шанк. «Знать, чтобы понять» (R.Schank. Using knolwledge to understand. TINLAP.75, 1975). He представляю, правда, кто захочет взять с собой компьютер в ресторан в качестве компании. Возможно, владелец, не слишком отличающийся от своего компьютера.
Сцена 1. Появление в ресторане.
PTRANS: войти в ресторан MBUILD: найти столик MOVE: сесть
Сцена 2. Заказ.
ATRANS: попросить меню ATTEND: просмотреть его MBUILD: выбрать блюда MTRANS: сделать заказ официанту
Сцена 3. Обед.
ATRANS: принять еду у официанта INGEST: съесть еду
Сцена 4. Уход из ресторана.
MTRANS: попросить чек ATRANS: дать чаевые официанту PTRANS: подойти к кассе MTRANS: отдать деньги кассиру PTRANS: выйти из ресторана
Советую вам не очень загружать себя PTRANS'aми и MTRANS'aми: это формальные описания, придуманные Шанком. PTRANS, например, обозначает перемещение объекта в пространстве; MTRANS — изменение отношений между двумя объектами (например, ваши деньги переходят к официанту) и так далее. Основная идея ясна. Это инструкция по поведению в ресторане. Предлагается выполнять ее, чтобы визит в ресторан прошел успешно.
11
Но известно, что события развиваются не всегда так, как планируется. Поход в ресторан — это поле, «заминированное» неожиданностями. Вы входите в ресторан и обнаруживаете, что нет свободного столика. Как долго вы будете его ждать? Есть время, приемлемое для поиска или ожидания свободного столика. Три часа ходить кругами по ресторану не очень—то вежливо, по мнению раздраженных посетителей и назойливых официантов. Поэтому нужно добавить в программу пункт, указывающий, сколько времени удобно ждать свободного столика, если все они окажутся занятыми. Давайте представим, что все это время ваша спутница вполголоса (но так, чтобы все слышали) бранит вас за то, что столик не был заказан заранее, хотя она просила об этом, а ее, как всегда, не послушали. Нужен алгоритм, определяющий, что и каким тоном вы должны отвечать ей. Такие возможные события должны быть включены в ресторанный сценарий.
Предположим, что столик наконец найден и вам принесли меню. Я на это надеюсь, но на всякий случай необходимо запрограммировать пункты, предусматривающие поведение в случае, если меню принесут не сразу. Как долго полагается ждать, прежде чем подозвать официанта, и так далее. Вы просматриваете меню и решаете, какой сделать заказ. Как быть, если ваша спутница решила использовать меню в качестве плацдарма для переговоров? Сложные для понимания комбинации блюд, их глубокомысленные обсуждения с официантами, которые, не выдержав, грубят вашей даме. Требуются инструкции, как вести себя в данной ситуации. Разумеется, они включают заверения в любви к вашей спутнице и претензии к ресторану. Наконец вы получаете еду, но она оказывается не такой вкусной, как всегда. Вы подозреваете, что изведенные придирчивостью и непомерными запросами вашей спутницы шеф—повар или официант подлили в суп из лобстера какую—то гадость. Что делать? В программе должны быть указания на случай таких обстоятельств.
Мы только коснулись бед и несчастий, которые ждут нас в ресторане. Но, думаю, общая картина ясна. Реальная программа, предусматривающая любые неожиданности, должна быть непомерно большой, даже гигантской; поэтому ни один человек не в состоянии составить ее. Такой экстремальный подход к составлению программ можно найти в проекте Дага Лената CYC. Его основная идея состоит в добавлении новых указаний до тех пор, пока программа не станет исчерпывающей. Главная проблема такого подхода состоит в неограниченном количестве непредвиденных случаев, которые могут произойти в самых обычных ситуациях — например, во время визита в ресторан. Из—за этого число инструкций возрастает до бесконечности.
Алгоритмический подход основан на таких программах. Они очень эффективны для выполнения узких, строго определенных задач, но абсолютно бессильны, когда нужно сходить в ресторан с красивой, но слишком разборчивой и жеманной спутницей. Хороши в теории, но ничего не понимают в детских пеленках — таков неутешительный вывод об этих системах.
Компьютерные нейросети — джоки
Нашего киборга нельзя создавать на основе алгоритмических программ, ведь тогда он будет не в состоянии гибко реагировать на непредсказуемые изменения обстоятельств (Сара Коннор убегает или стреляет в него, пытается ударить коленом по самому уязвимому месту киборга и так далее). Именно такие спонтанные и разнообразные реакции свидетельствуют о наличии интеллекта. Нужно конструировать киборга по принципу нейросети. Это означает, что его мозг будет работать по схеме нервной системы.
Нейронная сеть — это компьютерная модель, организованная по принципу работы нервной системы человека. Эти модели устроены (насколько это возможно), как мозг человека: они состоят из узлов, выполняющих ту же роль, что и нейроны. Эти узлы, как и нейроны, могут находиться в возбужденном или спокойном состоянии. Активность может передаваться от одного нейрона другому, который с ним связан.
Эти системы хорошо действуют в тех же областях, что и люди, имея те же недостатки. Системы, созданные на основе алгоритмов, напротив, великолепно справляются с задачами, перед которыми люди пасуют, но беспомощны перед тем, что нам дается легко. Нейронные сетевые модели, однако, более эффективны, чем человеческий мозг.
Алгоритмические системы превосходят способности нейросистем в действиях, связанных с последовательными вычислениями, особенно в областях логики и математики. Производить такие операции требуется, например, при игре в шахматы. Вот почему, когда требуется большое количество вычислений, любой карманный калькулятор заткнет за пояс одаренного ученого. Поэтому «Deep Blue» смог обыграть чемпиона мира Каспарова.
Но человеческий мозг и модели, созданные по принципу нейросетей, намного превосходят алгоритмические системы в узнавании лиц, слежении за движущимися целями и подобных действиях. Эти способности требуются, чтобы опознать убегающую Сару Коннор. Выполнение такого рода заданий сводится к умению сравнивать. Узнавание, к примеру, включает в себя сравнивание объекта, который попадает в поле зрения, с архивом заложенных в память данных и определение степени сходства, чтобы принять решение об идентификации внешнего объекта и хранящегося в памяти образа. Как уже было сказано, человеческий мозг и системы нейронных сетей — устройства, способные сравнивать.
Это качество нейронных систем дает им способность, которой, как считает большинство людей, компьютеры не могут обладать, — обучаемость. По общепринятому мнению, компьютеры не могут учиться в прямом смысле этого слова, они лишь выполняют заложенные в них программы. Это справедливо по отношению к алгоритмическим системам, возможности которых зависят от заложенных в них инструкций. Но это утверждение не относится к моделям, созданным по принципу нейронных сетей. На основе некоторых простых правил обучения они могут учиться новым приемам, которые позволят неординарно решать возникающие проблемы. Разумеется, правила самообучения должны быть заложены в эти системы, но это справедливо для каждого из нас. Разница состоит в том, что мы получаем способность к обучению не из специальных программ, а из эволюционного опыта и окружающей среды.
Итак, чтобы создать киборга—убийцу, необходимо в первую очередь сконструировать подходящую нейронную схему. Киборг, который получится в итоге, скорее всего, не будет поражать математическими способностями или шахматным мастерством. Да и зачем ему нужны такие таланты? Представьте себе: «Терминатор–3» — Арни щелкает алгебраические задачки. Кто же пойдет на такой фильм?
Робот
Найти подходящее тело для киборга — не такая простая задача. С одной стороны, оно может существенно снизить возможности нейронной системы, которую мы изобрели для его мозга. С другой — тело дает возможность адекватных действий, которые могут упростить выполнение интеллектуальных задач, поставленных перед киборгом.
Мы сами часто с этим сталкиваемся. Представьте, как трудно было бы собрать паззл, если бы у нас не имелось возможности брать и перекладывать элементы, из которых он состоит, с места на место. Мы должны были бы создать воображаемую картину и мысленно менять элементы местами, проверяя, подходят ли они друг к другу. Вместо забавного развлечения мы получили бы скучную и трудную работу. Но у нас есть возможность брать элементы паззла в руки, перекладывать их, пробовать различные варианты. Умственная нагрузка при этом сразу снижается. То же самое происходит, когда мы производим сложные вычисления. Мы решаем задачу постепенно, записывая промежуточные результаты на бумаге. Все мы знаем, как долго и мучительно производить расчеты в голове (для некоторых это сложно делать даже письменно). Используя ручку и бумагу, мы существенно снижаем нагрузку на наш бедный мозг, облегчаем решение стоящих перед нами интеллектуальных задач.