Если бы какая-нибудь машина была снабжена всеми этими типами процессов, она могла бы начать функционировать как единая, осознающая себя сущность. Тогда она в самом деле смогла бы утверждать, что обладает таким же сознанием, как я и вы, пусть даже не все люди с этим бы согласились.
Эту главу мы начали с вопроса, как мы можем представить себе то, чего никогда не видели и не испытывали. Остаток же этой главы будет посвящен более детальной демонстрации того, что наше воображение, возможно, является результатом многоуровневой переработки информации.
5.7. Воображение
Мы видим мир не таким, какой он есть, а таким, каковы мы сами.
Анаис Нин
Когда Кэрол берет один из своих брусков, это действие кажется ей совершенно простым: она всего-навсего протягивает руку, обхватывает фигурку пальцами и поднимает его. Просто видя этот брусок, она уже знает, как ей действовать. Тут, как будто бы, не вмешиваются никакие «размышления».
Однако кажущаяся «прямота» видения мира – иллюзия, проистекающая из нашей неспособности чувствовать сложность собственного механизма восприятия; для нас было бы столь же бесполезно видеть, как вещи «выглядят на самом деле», как разглядывать случайные точки на ненастроенных телевизионных экранах. Если говорить более обобщенно, мы меньше всего осознаем то, что наш блистательный разум делает лучше всего. И в самом деле, большая часть того, что, как нам кажется, мы видим, исходит из наших знаний и воображения. Посмотрите для примера на портрет Авраама Линкольна, сделанный моим старым другом Леоном Хармоном, одним из основоположников компьютерной графики. (Справа – портрет Леона, сделанный мной.)
Как можно узнать черты лица на изображениях, настолько размытых, что носы и глаза на них – всего лишь смутные пятна света и тени? Мы все еще очень мало знаем о том, как мозг делает это, и относимся к нашим талантам в области восприятия как к чему-то обыденному. «Видение» кажется нам совершенно простым, потому что наш мозг практически слеп к процессам, которые для нас это делают.
В 1965 году нашей целью было создание машин, которые могли бы делать вещи, которые делают дети: например, наливать жидкость в чашку или строить арки и башни из деревянного конструктора
[50]. Для этого мы делали механические руки и электронные глаза, подключая их к нашему компьютеру, – и таким образом создали первого робота, который мог строить из брусков.
Поначалу робот делал сотни самых разных ошибок. Он пытался то ставить бруски сами на себя, то сразу два на одно и то же место, потому что не имел достаточного уровня житейских знаний о материальных объектах, времени или пространстве! (Даже сегодня до сих пор не существует компьютеризованной визуальной системы, которая хоть как-то приближалась бы к способности человека различать предметы в обычных ситуациях.) Но постепенно наша армия студентов разработала программы, которые могли достаточно хорошо «видеть» расположение обычных деревянных брусков, чтобы распознавать это изображение как «горизонтальный брусок лежит сверху на двух поставленных вертикально».
Мы потратили несколько лет на то, чтобы научить нашу программу («Строителя») строить арки или башни из разрозненной кучки брусков (один раз посмотрев, как это делается). Поначалу мы организовали систему как шестиуровневую последовательность процессов:
Однако программа то и дело терпела неудачу, так как эти процессы низкого уровня были зачастую неспособны распознать достаточное количество отличительных черт, чтобы сгруппировать объекты в более крупные структуры. Например, посмотрите на это увеличенное изображение нижнего переднего края верхнего бруска в арке:
Этот край сложно выделить, потому что участки обеих его сторон имеют практически одинаковую текстуру
[51]. Мы пытались использовать дюжину разных способов распознать края, но ни один метод не работал сам по себе. В конце концов мы получили лучший результат, когда придумали, как их скомбинировать. И с такими же проблемами мы сталкивались на каждом уровне: ни одного метода не было достаточно самого по себе, но их комбинация повышала эффективность. И все равно в итоге эта модель поступательных действий не сработала, потому что «Строитель» продолжал совершать слишком много ошибок. Мы сделали следующий вывод: это произошло из-за того, что информация поступала в нашу систему только в направлении «вход – выход», и если на любом этапе совершалась ошибка, уже не было никакой возможности эту ошибку исправить. Чтобы помочь ситуации, нам пришлось добавить множество путей «верх – низ», так чтобы знания могли течь как вниз, так и вверх.
То же самое касается действий, которые мы предпринимаем. Ведь когда мы хотим изменить ситуацию, нам нужно составить план действий. Например, чтобы использовать правило из серии «Если видишь брусок, возьми его в руку», вам нужно сформировать план действий, направляющий ваши плечо, руку и пальцы на точное движение, которое не потревожит окружающие брусок предметы. То есть, опять-таки, здесь нужны процессы высокого уровня, а составление планов также требует использования нескольких уровней процессов, поэтому наша схема должна включать в себя следующие пункты:
Каждый Планировщик действий реагирует на обстановку составлением последовательности Целей движения, каждая из которых заканчивается использованием Моторных навыков – таких как «тянуться», «хватать», «поднимать», а затем «перемещать». Каждый Моторный навык – специалист в контролировании движения определенных мышц и суставов, и то, что начинается как простая Машина реакций, в итоге превращается в большую и сложную систему, в которой каждые «если» и «действуй» включают множество шагов, а процессы на каждом этапе обмениваются сигналами сверху и снизу.