Шрифт:
Интервал:
Закладка:
Вот вам простой пример слоев с протоколами. Представьте себе, что вы оказались на вечеринке среди множества гостей из разных стран. Вы хотите поболтать с китаянкой – по-видимому, знакомой вашей сестры. Вы владеете только английским, а ваш партнер – английским и французским. Дама из Китая говорит только по-китайски, зато ее муж – по-китайски и по-французски. Каждый из вас играет роль слоя в переводческой «этажерке», причем в каждом слое используется собственный протокол преобразования входящей информации в исходящую. У вас есть протокол английской речи и передачи ее вашему партнеру. Ваш партнер принимает информацию от вас и, согласно протоколу обработки английской и французской речи, передает в следующий слой – мужу китаянки – французскую речь. Тот тоже владеет французским протоколом, но у него есть еще и протокол для китайского языка, и он передает жене китайскую речь. Гостья из Китая точно так же могла бы послать обратную информацию вам, однако ни вы, ни она не можете перепрыгнуть через промежуточные франкоязычные слои. Информация переходит по слоям вверх и вниз, но ее необходимо обработать в слоях с подходящими протоколами и передать в следующий слой. Самостоятельно вы ничего не сможете передать от английского стола китайскому за один этап.
Но при желании можно создать протокол передачи информации с английского на китайский. Многие так и делают. Это называется выучить язык, причем учиться можете не только вы, но и машины. Собственно, программисты применяют многослойную архитектуру уже давно – особенно в области искусственного интеллекта. Родни Брукс, гениальный профессор информатики из Массачусетского технологического института, выдвинул идею «категориальной архитектуры», которая много лет доминировала в робототехнике.
Звучит не очень понятно, хотя сама идея достаточно простая. В любой системе, будь то человек, компьютер, робот или библиотека, хранятся какие-то сведения. Общий их запас все время пополняется новой информацией. В идеале эта информация должна быть отнесена к той или иной категории, иначе говоря, усвоена существующей системой без осложнений. Роботу нужна именно такая архитектура.
Брукс отлично знал, что роботы не прошли проверку на категоризацию новых данных, потому что двадцать лет назад, когда он выдвинул эту идею, роботов бы заклинило, если бы на их пути оказался, скажем, зефир или вообще что-либо, чего нет в запрограммированном перечне объектов, которых следует остерегаться. Они не сумели бы перестроиться соответственно изменившимся условиям. А вот категориальная архитектура, будь она заложена в конструкции робота, позволила бы ему вносить изменения – раз за разом добавлять к существующим слоям новые. Каждый слой оказывал бы влияние на нижележащие и таким образом внедрялся бы в архитектуру более крупного масштаба. Как подытожил в «Энциклопедии психики» Хэрольд Пашлер, «ключевая идея состоит в том, что система не создает единого, цельного представления о мире – напротив, сенсорные сигналы обрабатываются по-разному на каждом уровне, так что между сенсорными данными и двигательными сигналами, необходимыми для управления исполнительными механизмами робота, устанавливаются более или менее прямые, специфические для поведения соответствия»[15]. То есть справляться с текущими трудностями роботу каждый раз помогают узкоспециализированные системы – быстродействующие, эффективные и полезные. Централизованной системы, которая меняла бы картину отклика, когда робот встречается с очередным незнакомым препятствием, не существует. Вместо нее добавляется отдельная инструкция для конкретной ситуации, так что разработчики все время добавляли новые и новые инструкции по преодолению все новых и новых трудностей, которые возникают в окружающей среде. Никто не пытается решить все и сразу с помощью одного главного органа. Новые слои добавляются в систему по мере поступления проблем. Это все очень напоминает модули, образующие многослойную архитектуру. Собственно, модуль и сам по себе может служить слоем – или же слой может складываться из нескольких модулей. Консолидированные (интегративные) модули, о которых шла речь в конце 4 главы, – это модули обработки информации, составляющие один из верхних слоев. Он получает информацию с предыдущей ступеньки и обрабатывает ее согласно своему протоколу так, чтобы выдать более сложный продукт – может статься, даже модель психического (модель психического мира другого) или самоосознание!
Слои обеспечивают гибкость. Внести обновления в многослойную систему легко и просто, благо менять приходится только один слой, сохраняя все остальные. Если же что-то пойдет не так, легко найти причину ошибки. Нет нужды отправлять в утиль или ремонтировать всю систему – достаточно исправить неполадки на одном или нескольких неработающих слоях. В многослойной системе вашего костюма вы можете сменить порванную рубашку, а вот новые брюки вам не понадобятся. Что касается мозга, возможно, вам будет труднее заменить его части, однако, если где-то возникнет сбой, вы не лишитесь всей системы.
Нейробиология многослойной системы
Прелесть многослойной архитектуры в том, что она выполняет задачу для пользователя сложных систем, не посвящая его в подробности процесса. Высший слой смартфона – это слой приложений, и при такой схеме нам не надо знать или понимать, как работают остальные слои системы. Вряд ли вы хотите в обязательном порядке разбираться в протоколах распределения памяти каждый раз, когда вам надо отправить рассылку или щелкнуть фото. Точно так же мы должны поблагодарить судьбу за возможность пользоваться своим мозгом и не знать, как он работает. Нам неведом механизм превращения нашего обеда в энергию – мы просто съедаем его, и все. То же самое относится и к нашей психике. Мы понятия не имеем, как мы что-то делаем. Укажите на свой нос. Вы знаете, что, собственно, произошло? Вы не в силах ни понять, ни осознать, как это описывается с точки зрения формирования и передачи сигнала от нейронов к вашим мышцам. Мы используем свой разум – слои приложения в мозге, – чтобы произвести некие действия, которые составляют наше поведение, точно так же, как пилот авиалайнера использует программу, чтобы вести самолет. Но правда ли, что в живом мозге реализуется многослойная архитектура? Или это теоретическая модель, и на самом деле ей нет места в живой биологической системе?
Как это часто бывает, открытие нового подхода в науке или создание новой теории влечет за собой другое открытие – оказывается, те же идеи выдвигали и другие ученые, возможно, много лет назад. Сколько раз должны мы получить этот урок – что человеческая мысль является именно что мыслями человечества, которые на протяжении всей истории много кому приходили в голову? В данном случае нас интересуют Тони Прескотт, Питер Редгрейв и Кевин Герни из Шеффилдского университета. Все трое в нейробиологии, робототехнике и информатике, что называется, собаку съели и чрезвычайно умно распоряжаются полученными знаниями и опытом. В своей новаторской работе о многослойной структуре[16], написанной почти двадцать лет назад, они указали путь туда, где мы сейчас находимся. В начале этого пути стоит великий британский невролог XIX века Джон Хьюлингс Джексон. По всеобщему признанию, он был выдающимся врачом – скажем так, первоклассным жокеем. Но когда он брался за перо, то, к сожалению, пересаживался на захудалую лошадку – его труды почти недоступны для понимания. К счастью, другие жокеи, оседлавшие фаворитов, расшифровали его работы для всего мира.