Стандартная теория вычисления имеет дело исключительно с абстрактными объектами: машинами Тьюринга, программами на Паскале, конечными автоматами и т. п. Это — математические сущности, населяющие математическое пространство. Когнитивные же системы, существующие в реальном мире, это конкретные объекты, имеющие физическое воплощение и каузально взаимодействующие с другими объектами физического мира. Но зачастую мы хотим использовать теорию вычисления для получения выводов о конкретных объектах в реальном мире. Для этого нам нужен мост между областью абстрактного и областью конкретного[178].
Таким мостом является понятие имплементации — отношения между абстрактными вычислительными объектами, или, коротко, «вычислениями» и физическими системами, имеющееся тогда, когда физическая система «реализует» вычисление, или когда вычисление «описывает» физическую систему. Вычисления часто имплементируются на синтетических, кремниевых компьютерах, но их можно имплементировать и иначе. К примеру, нередко говорят, что вычисления имплементируют природные системы, такие как человеческий мозг. Вычислительные описания применяются к самым разнообразным физическим системам. И всякий раз в подобных случаях неявно или явно задействуется понятие имплементации.
Понятие имплементации нечасто подвергается детальному анализу; обычно его просто принимают как данность. Но для защиты сильного ИИ мы нуждаемся в его детальном объяснении. Тезис о сильном ИИ выражен в вычислительных терминах и говорит о том, что имплементация надлежащего вычисления достаточна для сознания. Чтобы оценить это утверждение, мы должны знать, в каком именно случае физическая система имплементирует вычисление. Разобравшись в этом, мы сможем присоединить это знание к проделанному нами ранее анализу психофизических законов, чтобы понять, может ли из этого вытекать интересующий нас вывод.
Некоторые авторы доказывали невозможность дать сколь‑либо содержательное объяснение имплементации. В частности, Серл (Searle 1990b) доказывал, что имплементация не является чем‑то объективным, а, наоборот, зависит от наблюдателя: любая система может быть истолкована как имплементирующая любое вычисление при надлежащей интерпретации. Серл, к примеру, считает, что о его стене можно рассуждать так, будто она имплементирует его текстовый редактор Wordstar. Если бы это было так, то трудно было бы понять, как вычислительные понятия могут играть какую‑то основополагающую роль в теории, в конечном счете имеющей дело с конкретными системами. Что же до сильного ИИ, то он либо оказался бы лишен всякого содержания, либо подразумевал бы признание сильной разновидности панпсихизма. Думаю, однако, что пессимизм такого рода неоснователен: не существует препятствий для объективной характеристики имплементации. В этом параграфе я схематично представлю эту характеристику (она будет несколько технической, но оставшаяся часть главы должна быть понятной, даже если проскочить эти детали).
Любое объяснение имплементации вычисления будет зависеть от того, о каком классе вычислений идет речь. Существует множество разных вычислительных формализмов, которым соответствует различные классы вычислений: машины Тьюринга, конечные автоматы, программы на Паскале, коннекционистские сети, клеточные автоматы и т. д. В принципе, нам нужно объяснение имплементации для каждого из этих формализмов. Я объясню имплементацию только для одного формализма, а именно для формализма комбинаторных автоматов. Этот класс вычислений достаточно абстрактен для того, чтобы можно было без труда перенести на другие классы связанную с ним концепцию имплементации.
Комбинаторный автомат — более рафинированный родственник конечного автомата. Конечный автомат (КА) специфицируется заданием конечного набора данных на входе, конечного набора внутренних состояний, конечного набора данных на выходе и указанием сопряженного с ними набора отношений перехода от состоянию к состоянию. Внутреннее состояние КА — это простой элемент Si, лишенный внутренней структуры; это же справедливо для данных на входе и на выходе. Отношения перехода специфицируют для каждой возможной пары данных на входе и внутренних состояний новое внутреннее состояние и имеющийся на выходе результат. Если дано начальное состояние какого‑то КА, то эти отношения перехода от состояния к состоянию специфицируют, каким образом он будет изменяться во времени и что он будет давать на выходе в зависимости от того, что он получает на входе. Вычислительная структура КА представляет собой этот относительно простой набор отношений перехода от состояния к состоянию в наборе неструктурированных состояний.
Конечные автоматы непригодны для репрезентации структуры большинства вычислений, имеющих практическое значение, так как состояния и отношения перехода от состояния к состоянию в них обычно имеют сложную внутреннюю структуру. Никакое описание КА не может, к примеру, передать всю структуру программы на Паскале, машины Тьюринга или клеточного автомата. Полезней поэтому сконцентрироваться на классе автоматов со структурированными внутренними состояниями.
Комбинаторные автоматы (КоА) ничем не отличаются от КА, за исключением того, что их внутренние состояния структурированы. Состояние комбинаторного автомата представляет собой вектор [51, 52, …, S n ]. Этот вектор может быть конечным или бесконечным, но я сосредоточусь на первом случае. Элементы этого вектора можно мыслить в качестве компонентов внутреннего состояния; они соответствуют клеткам клеточного автомата или ячейкам ленты и состоянию управляющего устройства машины Тьюринга. Каждый элемент S 1 может иметь конечное множество значений Sj, где Sj — j‑e возможное значение г — го элемента. Эти значения можно трактовать в качестве «подсостояний» общего состояния. Данные на входе и на выходе имеют аналогичную комплексную структуру: первые являют собой вектор [I х ,…, I k ], вторые — вектор [О1,…, О ш ].
КоА детерминируется специфицированием набора векторов внутренних состояний и векторов данных на входе и на выходе и специфицированием набора правил перехода от состояния к состоянию, определяющих изменение состояния КоА во времени. Для каждого элемента вектора внутреннего состояния правило перехода от состояния к состоянию определяет то, как его новое значение зависит от прежних значений данных на входе и векторов внутреннего состояния. Для каждого элемента исходящего вектора правило перехода от состояния к состоянию определяет то, как его новое значение зависит от прежних значений вектора внутреннего состояния. Каждый конечный КоА может быть представлен как КА с равными вычислительными возможностями, но КА — описание приносило бы в жертву большинство структурных моментов, существенных для КоА. Эта структура имеет ключевое значение при использовании КоА для уяснения той организации, которая лежит в основе ментального.
Теперь мы уже можем дать объяснение имплементации. Вычисления, такие как КоА — это абстрактные объекты, формальная структура которых определяется их состояниями и отношениями перехода от состояния к состоянию. Физические системы — это конкретные объекты, каузальная структура которых определяется их внутренними состояниями и каузальными отношениями между ними. В неформальном плане мы говорим, что физическая система имплементирует вычисление, если каузальная структура этой системы отражает формальную структуру вычисления. То есть, система имплементирует вычисление, если можно установить такое соответствие между состояниями этой системы и вычислительными состояниями, при котором каузально соотнесенные физические состояния соответствуют формально соотнесенным формальным состояниям.
Эта интуитивная идея может быть напрямую использована для получения представления об имплементации в случае КоА. Физическая система имплементирует КоА, если можно так разложить внутренние состояния системы на подсостояния, и данные системы на входе и на выходе — на подсостояния этих данных, и так соотнести подсостояния системы с подсостояниями КоА, что отношения каузального перехода от состояния к состоянию для физических состояний, данных на входе и на выходе отражают формальные отношения перехода от состояния к состоянию для соответствующих формальных состояний, данных на входе и на выходе.
Формальный критерий имплементации КоА выглядит таким образом:
Физическая система Р имплементирует КоА М, если можно разложить внутренние состояния Р на компоненты [s ],…, sn] и установить соответствие / между подсостояниями s j и соответствующими подсостояниями S j в М, а также произвести сходную операцию разложения и установления соответствия для данных на входе и на выходе, так, что для каждого правила перехода от состоянию к состоянию
([/',…, 7*1, [S', …, 5"]) — + ([S'1,…, S’ n ], [О 1 ,…, О 1 ])
в М: если Р находится во внутреннем состоянии [s ],… s n ] и получает на входе [г1, гп], соответствующие формальному состоянию и данным на входе [S 1,…, S n ] и [71,…, I k ], то это каузальным образом с неизбежностью приводит к тому что она переходит к такому внутреннему состоянию и порождает такие данные на выходе, которые надлежащим образом соответствуют и [О1,…, О'].
Мы можем допустить, что при разложении состояния физической системы на вектор подсостояний значение каждого элемента этого вектора должно быть супервентно на отдельном участке физической системы, чтобы гарантировать, что каузальная организация соотносит различные компоненты этой системы. В ином случае не очевидно, что детальная каузальная структура действительно присутствует в физической системе. Эти и другие детали приведенной выше дефиниции можно уточнять и дальше. Понятие имплементации не выбито на скрижалях, и оно допускает как расширение, так и сужение — в зависимости от поставленных целей. Но здесь даны главные его контуры, общие для всех концепций имплементации.
Могло бы показаться, что КоА немногим лучше КА. В конце концов, для любого конечного КоА мы можем найти соответствующий ему КА с тем же поведением на входе — выходе. Но между ними все же есть существенные различия. Первое и главное из них состоит в том, что условия имплементации для КоА гораздо более ограничены, чем аналогичные условия для КА. Имплементация КоА предполагает сложное каузальное взаимодействие множества отдельных частей; и поэтому КоА — описание может передавать каузальную организацию системы с гораздо большей степенью детализации. Во — вторых, КоА позволяют сформулировать единое объяснение условий имплементации, значимое как для конечных, так и для бесконечных машин. И, в — третьих, КоА может напрямую отражать комплексную формальную организацию вычислительных объектов, таких как машины Тьюринга и клеточные автоматы. В соответствующих КА была бы утрачена большая часть этих структурных моментов.
На деле мы можем использовать эту дефиницию имплементации для прямого получения критериев имплементации для других видов вычислений. К примеру, для конкретизации условий имплементации машины Тьюринга нам нужно просто переописать машину Тьюринга как КоА и применить данную выше дефиницию. Для этого мы описываем состояние машины Тьюринга как громадный вектор. Один из элементов этого вектора репрезентирует состояние ее управляющего устройства, есть элементы и для каждой ячейки ее ленты, репрезентирующие символ в этой ячейке и указывающие, находится ли управляющее устройство на ней. Правила перехода от состояния к состоянию для векторов естественным образом извлекаются из механизмов, специфицирующих поведение управляющего устройства машины и ленты. Разумеется, векторы здесь бесконечны, но условия имплементации для случая с бесконечностью являются непосредственным расширением условий для конечных случаев. При переводе с языка формализма машины Тьюринга на язык формализма КоА мы сможем сказать, что машина Тьюринга имплементируется всякий раз, когда имплементируется соответствующий КоА. Аналогичные переводы можно сделать и для вычислений в других формализмах, таких как клеточные автоматы или программы на Паскале, что позволит сформулировать условия имплементации для вычислений в каждом из этих классов.
Это дает совершенно объективный критерий для имплементации вычисления. Имплементация вычисления не выхолащивается, как полагал Серл. Конечно, некоторые вычисления будут имплементироваться любой системой. К примеру, одноэлементный КоА с одним состоянием будет имплементироваться любой системой, почти также широко будет имплементироваться и двухэлементный КоА. Верно также, что большинство систем будет имплементировать более чем одно вычисление — в зависимости от того, как мы будем очерчивать состояния этой системы. В этом нет ничего удивительного: вполне ожидаемым представляется то, что моя рабочая станция, как и мой мозг, имплементирует множество вычислений.
Существенно, однако, то, что нет оснований считать, что любой КоА будет имплементирован любой системой. Если взять любой сложный КоА, то окажется, что существует лишь очень немного физических систем, наделенных каузальной организацией, необходимой для его имплементации. Если мы возьмем КоА, векторы состояний которого имеют тысячу элементов, с десятью опциями для каждого элемента, то аргументы, подобные тем, что выдвигались в главе 7, покажут, что шанс случайного набора физических состояний, имеющих нужные каузальные отношения, чуть меньше 1 из (Ю1000)10 (на деле гораздо меньше из‑за требования прочности отношений перехода от состояния к состоянию[179]).
Так как же быть с утверждением Серла о том, что вычислительные описания зависимы от наблюдателя? Верно то, что здесь имеется определенная степень такой зависимости: любая физическая система будет имплементировать множество вычислений, и то, на каком из них сосредоточится наблюдатель, зависит от целей этого наблюдателя. Но это не несет в себе угрозу для ИИ или для вычислительной когнитивной науки. По — прежнему верно, что по отношению к любому вычислению можно говорить о фактичности того, что та или иная система имплементирует или не имплементирует его, и в качестве его имплементаций будет выступать лишь ограниченный класс систем. И этого достаточно для того чтобы вычислительные концепции имели метафизическое и объяснительное значение.
Утверждение о том, что физическая система имплементирует комплексное вычисление Р, равносильно совершенно нетривиальному утверждению о каузальной структуре этой системы, которое может быть весьма полезным для когнитивных объяснений, а, быть может, и для понимания основы сознания. Лишь системы с очень специфичной разновидностью каузальной организации могут рассчитывать на соответствие сильным ограничительным условиям имплементации. Так что здесь нет опасности выхолащивания, и можно надеяться, что понятие вычисления окажется прочной основой для анализа когнитивных систем.
В защиту сильного ИИ
Имплементация КоА поразительно напоминает реализацию функциональной организации. Вспомним, что функциональная организация определяется специфицированием множества абстрактных компонентов, множества состояний каждого компонента и системы отношений зависимости, указующих на то, как состояния каждого компонента зависят от предыдущих состояний и от данных на входе, а также на то, как данные на выходе зависят от предшествующих состояний. Понятие КоА, по сути дела, является непосредственной формализацией указанного понятия.
Действительно, при наличии любой функциональной организации того типа, который был описан в главе 7, из нее можно напрямую извлечь КоА. Нужно лишь допустить, что векторы состояния КоА располагают элементами для каждого компонента этой организации и что формальные переходы состояний КоА соответствуют отношениям каузальной зависимости между компонентами. Реализация функциональной организации практически не отличается от имплементации соответствующего КоА. Небольшие различия, связанные, в частностью, с различным обращением с данными на входе и выходе, есть, но они несущественны.
Предложенная мной концепция имплементации, таким образом, проясняет связь между каузальной и вычислительной организацией. Так мы можем увидеть, что при применении вычислительных описаний к физическим системам они, по сути, предоставляют нам формальное описание каузальной организации системы. Вычислительный язык оптимально подходит для спецификации подобной абстрактной каузальной организации. Можно даже попробовать показать, что именно поэтому вычислительные понятия получили столь широкое распространение в когнитивной науке. В объяснении поведения сложной когнитивной системы наибольшее значение имеет абстрактная каузальная организация системы, и вычислительные формализмы оказываются идеальным каркасом, с помощью которого может быть описана и проанализирована подобная организация[180].
Указанная связь упрощает защиту сильного искусственного интеллекта. Я уже приводил доводы в пользу принципа организационной инвариантности, согласно которому относительно любой системы, наделенной сознательными переживаниями, верно, что система, обладающая такой же высокодетализированной функциональной организацией, будет обладать качественно идентичными сознательными переживаниями. Мы, однако, знаем, что любая функциональная организация может быть абстрагирована в КоА, всегда имплементируемый при реализации этой организации. Из этого следует, что для данной сознательной системы М ее высокодетализированная функциональная организация может быть абстрагирована в КоА М, такой, что любая система, имплементирующая М, будет реализовывать такую же функциональную организацию и поэтому будет обладать сознательными переживаниями, качественно неотличимыми от переживаний исходной системы. А это и есть сильный искусственный интеллект.
К примеру, на основе нейронного описания мозга мы могли бы получить абстрактный КоА, располагающий элементами вектора состояния для каждого нейрона и подсостояниями для каждого элемента, отражающими соответствующий диапазон состояний для каждого из нейронов. Правила перехода от состояния к состоянию в КоА отражают тип зависимости состояния каждого нейрона от состояния других нейронов и соотнесенность нейронных состояний и данных на входе и на выходе. Если значимы не только нейронные компоненты мозга, то можно включить и их. Любая физическая система, имплементирующая этот КоА, будет иметь такую высокодетализированную функциональную организацию, которая будет дуплицировать функциональную организацию мозга на нейронном уровне. Согласно принципу инвариантности, эта система будет обладать переживаниями, неотличимыми от тех, которые связаны с мозгом.
Заманчиво представлять компьютер просто как устройство с входом и выходом, между которыми есть место лишь для формальных математических манипуляций. Подобный взгляд на вещи, однако, игнорирует тот ключевой факт, что внутри компьютера — так же как и внутри мозга — имеется богатая каузальная динамика. В самом деле, в обычном компьютере, понейронно имплементирующем симуляцию моего мозга, есть место для реальной каузальности напряжений различных цепей, в точности отражающей паттерны каузальности между нейронами. Каждому нейрону будет соответствовать участок памяти, репрезентирующий этот нейрон, и каждый из этих участков будет физически реализован напряжением в каком‑то физическом месте. За возникающий сознательный опыт отвечают именно эти каузальные паттерны электрических цепей, так же как за его возникновение отвечают каузальные паттерны нейронов мозга.
Тезис сильного искусственного интеллекта можно защищать и напрямую, используя аргументы от блекнущих и от скачущих квалиа. При наличии любых двух имплементаций КоА между ними будет спектр случаев, в которых физические компоненты имплементации заменяются по одному при сохранении паттерна их каузального взаимодействия с остальной частью системы. Если одна из систем обладает сознанием, и если КоА является абстрактным выражением ее высокодетализированной функциональной организации, то из упомянутых аргументов следует, что вторая система должна обладать сознанием и что она должна быть наделена неотличимыми сознательными переживаниями. Если бы вторая система не обладала сознанием, то существовала бы промежуточная система с блекнущими квалиа. Если бы вторая система не обладала сознанием или имела другие осознанные переживания, то мы смогли бы сконструировать промежуточную систему со скачущими квалиа. Такие последствия неправдоподобны по причинам, указанным в главе 7. Но если принять, что квалиа не могут блекнуть или скакать подобным образом, то из этого следует, что вторая из изначально имевшихся у нас систем обладает переживаниями, неотличимыми от переживаний первой системы, что и означает признание истинности тезиса о сильном искусственном интеллекте.
Здесь есть небольшая тонкость. Аргумент предполагает, что организация мозга может быть абстрагирована в КоА — описание. Для этого нужно лишь, чтобы релевантная организация могла быть описана в терминах конечного множества частей, каждая из которых имеет конечное множество релевантных состояний. Однако это можно было бы оспорить. Не исключено, к примеру, что для каждого нейрона требуется бесконечное множество состояний, чтобы передать непрерывность соответствующих процессов, имеющую важное значение. И можно было бы утверждать, что переходы между этими бесконечными состояниями могли бы оказаться невычислимыми. Позже я еще рассмотрю подобное возражение; пока же я готов принять вывод, что если когнитивная динамика вычислима, то надлежащая вычислительная организация будет порождать сознание. Иначе говоря, тут меня больше интересуют внутренние, а не внешние возражения. Тем не менее позже в этой главе я отвечу на ряд внешних возражений.