Текст книги "Фреймы для представления знаний"
Автор книги: Марвин Минский
сообщить о нарушении
Текущая страница: 8 (всего у книги 12 страниц)
Глава четвертая.
Управление
4.1. Централизация управления
Выше уже затрагивался вопрос о процессах, которые манипулируют системами фреймов. Далее я не буду касаться тех аспектов, которые связаны с длительным управлением процессами мышления, включая такие проблемы, как многоцелевое управление, распределение времени между задачами, распределение памяти, энергетических и других видов ресурсов.
В значительно более короткие промежутки времени – назовем их эпизодами – деятельность механизмов человеческого мышления и понимания, как я это себе представляю, направлена на то, чтобы отыскать подходящий в данной ситуации (будь то планирование или распознавание образов) фрейм и заполнить задания отсутствия его терминалов конкретными данными. Это дает нам возможность представить крупные проблемы в виде совокупности более мелких, а также затрагивает все обычные вопросы эвристического программирования, например:
ПОИСК СВЕРХУ – ВНИЗ ИЛИ ГОРИЗОНТАЛЬНЫЙ. Следует ли вначале обойти все терминалы или же попытаться осуществить полное заполнение пробелов одного, центрального терминала? В действительности, ни тот, ни другой вариант не следует считать достаточно хорошим. Человек обычно стремится "семь раз отмерить и один раз отрезать", однако всегда должна существовать возможность немедленной обработки субфреймов, вызванных интересным или неожиданным событием.
ЦЕНТРАЛЬНОЕ УПРАВЛЕНИЕ. Должен ли фрейм после своей активации взять на себя управление и руководить заполнением своих собственных пробелов, или же эта операция должна вестись под руководством какого-то центрального процесса? И здесь ни одна из этих двух стратегий не является наилучшей. Ни демон, ни любой другой локальный процесс не может обладать знаниями обо всей ситуации в целом, достаточными для принятия правильных решений; однако ни один "руководитель" верхнего уровня не может знать требуемое количество подробностей.
Видимо, оба вопроса следует попытаться решить на основе, предложенной У.Мартином(1974) в противовес идее о "поддержке" и задуманной как стратегия обращения с ошибками и неудачами. Нельзя ни передавать управление подчиненным структурам, ни полностью сосредоточить его на верхнем уровне; поэтому нам требуется такой интерпретатор, который имел бы доступ и к целям верхнего уровня, и к работе отдельных демонов. Терминалы различных типов нуждаются в различных типах процессов, поэтому одной стратегией здесь не обойтись. Заполнение пробелов терминала стены фрейма комнаты предусматривает поиск и заполнение конкретными данными субфрейма "стена" более низкого уровня, в то время как конкретизация терминала "дверь" предусматривает присоединение фрейма комнаты к фрейму дома. Для включения в каждый фрейм данных относительно действий подобного типа каждый терминал мог бы указывать интерпретатору на те инструкции, где сказано, как собирать нужную информацию и как реагировать в случае трудностей и различного рода неожиданностей.
Итак, процесс конкретизации фреймов должен объединять в себе элементы поиска на дереве решений и активации демонов: управление поиском на дереве решений зависит от результатов проверок, которые могут выполняться с помощью демонов.
После того, как фрейм комнаты будет включен в работу, он может проверить, например, основное свойство стены. Такие проверки будут производиться на дереве, узлы которого образованы всевозможными фреймами стены, а его структура обеспечивает удобный нелинейный порядок для выяснения того, какие задания отсутствия могут быть сохранены, а какие требуют дополнительного рассмотрения.
В модели, использующей демоны, предполагается, что определенные терминалы вызванного фрейма активируют связанные с ними демоны с целью наблюдения за развертыванием событий во внешнем мире. Круглый предмет, находящийся высоко на центральной стене (а на боковой – имеющий вид эллипса), по предположению, должен быть часами, и это должно получить свое подтверждение в вид найденной цифры или радиальной линии (стрелки). Если такое подтверждение не будет получено, то "наблюдатель" всё же "увидит" часы, но описать их подробно не сумеет. Четырехугольник, расположенный на уровне глаз, может представлять собой картину или окно; в таких случаях дальнейший анализ, как правило, необходим.
Цель работы системы зрительного восприятия заключается не в том, чтобы постоянно отыскивать все находящиеся вокруг нас предметы; ее главной задачей является помощь в выработке ответов на вопросы путем объединения визуальной информации с предположениями, вырабатываемыми внутренними процессами. Однако в любом случае мы должны иметь возможность правильно ориентироваться в пространстве относительно нашего ближайшего окружения, что, кстати говоря, требуется для ответа на большинство из встающих перед нами вопросов. Поэтому определенная часть процесса конкретизации будет выполняться независимо от каких бы то ни было специальных вопросов или целей. Ясно, что нам требуется такой механизм, который умел бы "идти на компромисс" и позволял бы легко заменять "слабые" задания отсутствия при выявлении демонами непредвиденных обстоятельств.
Структура управления "продукциями" А.Ньюэлла и Г.Саймона (1972) образуется последовательным расположением (в некоторой памяти) локальных правил поведения. В системах, подобных языку CONNIVER (А.Макдермотт, Дж.Суссман, 1972), существуют явные структуры управления высших уровней; однако и здесь многое зависит от того, какие утверждения (аналогичные "продукциям") активны в данный момент; такой вид управления полностью явным уже не назовешь. Обе эти системы характеризуются высокой степень" локального процедурального управления. Все, что удается заметить, сопоставляется со своим "образцом-предшественником", который вызывает другой субфрейм, подключает его к процессу поиска и выполняет некоторые предписанные им функции.
Здесь существует еще одна проблема: процессы, являющиеся общими для многих систем, должны быть централизованы. Это способствует и экономии ресурсов, и возможности их усовершенствования, что достигается в процессе отладки. Слишком большая автономия мешает системе быстро и правильно реагировать при появлении новых целей высокого уровня.
Ниже предлагается один из вариантов, с помощью которого, по всей вероятности, можно будет преодолеть подобные затруднения. Фрейм представляется в виде "пакета" данных в процедурах, в таком же виде представляются и цели высокого уровня. Когда вызывается какой-либо фрейм, его пакет добавляется к "среде" текущей программы и определяемые им процессы получают непосредственный доступ к тем данным, которые им нужны, не ухудшая при этом возможности работы с остальными знаниями системы. Теперь следует рассмотреть два вопроса: как в деталях реализуется эта идея и насколько она хороша.
4.2. Фреймы и процесс согласования (по С.Фальману (1974))
Рассмотрим базу данных, в которой множества фактов и демонов объединены в пакеты; любое их число может быть немедленно активировано или к ним в любой момент можно организовать доступ. Пакет может (рекурсивно) содержать любое число других пакетов это означает, что если один пакет активируется, то и все, содержащиеся в нем пакеты, также активируются, это открывает доступ к любым данным, за исключением тех которые были особым образом модифицированы или аннулированы. Таким образом, активация небольшого числа соответствующих пакетов приводит к созданию в системе той среды, которая требуется для проведения вычислений и которая содержит только необходимые для достижения заданной цели данные и процедуры. Конечно, в некоторых случаях может оказаться необходимым дополнить активную группу новыми пакетами для того, чтобы иметь возможность найти выход из какой-то особой ситуации, но неудобство такого рода во много раз меньше, чем бремя постоянного перебора ненужных знаний или бесполезной активации демонов
Фрейм начинает процесс согласования с проверки любых сведений, которыми он уже располагает и которые могли быть получены в процессе его активации или проверки предыдущих гипотез. После этого, если разрабатываемая гипотеза еще не принята, но и не отклонена, фрейм начинает задавать вопросы, чтобы получить больше сведений о текущей ситуации. Характер этих вопросов будет меняться в зависимости от проблемной среды: программа, работающая в области медицины, может потребовать проведения некоторых лабораторных исследований, визуальная программа – дать указание более внимательно изучить некоторую область пространства. Иногда один вопрос может положить начало целому процессу распознавания: "Это может быть коровой – посмотреть, есть ли у нее вымя".
Последовательность, в которой задаются вопросы, определяется дополнительной информацией, хранящейся во фрейме. Эта информация указывает, какие основные черты следует выявлять в рамках данной проверки, каким образом на нее может повлиять уже имеющаяся информация и во что обойдется ответ на каждый вопрос. При выявлении каждой новой черты ее описание добавляется к пакету информации вместе с указанием на то, откуда получена эта информация и насколько она надежна. Этот пакет может быть использован и при переходе к другой гипотезе. Когда встречается незатребованная информация, она проверяется и пускается в дело.
Конечно, на практике невозможно добиться для такой системы идеального согласования. Для каждого возможного вида нарушений в дополнительных данных фрейма содержатся указания на то, следует ли это нарушение рассматривать как тривиальное, серьезное или фатальное (т.е. отклоняющее возможность использования этого фрейма). Такие индивидуальные черты, как размер обуви, пропорции тела или давление крови будут иметь перечни с указанием диапазона своего нормального изменения, а также данные других возможных значений с указанием на возможные последствия. Иногда какая-то черта может не способствовать ни принятию, ни опровержению выдвинутой гипотезы, но сама она может быть объяснена с помощью этой гипотезы; это также должно быть отмечено во фрейме. Если анализируемая ситуация содержит нечто необычное, не предусмотренное текущим фреймом (например, оленьи рога), то система будет рассматривать этот факт как серьезное нарушение, а сами невписывающиеся в обычную схему данные будут оцениваться в соответствии с информацией того пакета, который связан с этими данными, ибо ясно, что фрейм гипотезы не может содержать сведений о том, что делать со всякими не вписывающимися в него деталями.
Изредка какая-либо деталь будет получать для себя сильное подтверждение: если подобный факт удается заметить, то не нужно будет волноваться относительно правильности выбранного пути. Однако подобное случается крайне редко, поэтому обычная процедура состоит в том, чтобы выявленные детали накапливать до тех пор, пока либо не будет достигнут некоторый уровень приемлемости и гипотеза сможет перейти в разряд принятых, либо пока какое-то явное нарушение или совокупность более мелких нарушений не укажут на необходимость поиска другой гипотезы. (В настоящий момент я представляю себе уровень приемлемости в виде простой «копилки»: каждая согласованная черта увеличивает счет в этой «копилке», а каждая не согласованная, но тривиальная – его уменьшает. Возможно, что здесь может понадобиться и более сложная схема, но пока я не вижу для этого причин). В зависимости от ситуации уровень приемлемости может колебаться в значительных пределах: лишь один беглый взгляд может убедить меня в том, что стол по-прежнему находится на своем месте, тогда как счет в тысячу долларов заслуживает тщательной проверки, прежде чем его следует оплатить.
Иногда может случиться так, что, за исключением двух-трех серьезных нарушений, вся собранная нами модель довольно хорошо согласуется с реальной ситуацией. В таком случае система должна попытаться объяснить имеющиеся разногласия. Возможно, корова красная потому, что ее кто-то вымазал краской. Возможно, у больного не наблюдается высокое давление, какое обычно бывает при подобных заболеваниях, поскольку он принимает соответствующие лекарства. Если какое-то несоответствие может, в конце концов, получить удовлетворительное объяснение, то данную гипотезу следует принять. Иногда две модели будут настолько близки Друг к другу, что их можно различить только с помощью особого теста или по ряду малозначительных деталей. Наиболее простым выходом из положения будет включение в оба родственных фрейма сведений о подобии, а также инструкций для правильного выбора нужного фрейма. В медицине подобное тестирование именуется дифференциальным диагнозом.
Отметим, что такое использование фреймов придает системе значительную гибкость, особо ценную в путаных и непредвиденных ситуациях. Формально корова может быть представлена как крупное четвероногое, но наша система не встретит особых затруднений, если у коровы не будет одной ноги, хотя во всем остальном эта корова достаточно хорошо вписывается в свой образ. (Заметим, что отсутствие ноги объяснить легко, а вот присутствие лишней – намного труднее.) Если такой системе предъявить нечто, не вписывающееся ни в одно из известных ей понятий, то она может, по крайней мере, указать, к чему близко это нечто, а также его основные отличия от понятия, предложенного в качестве первого приближения. Визуальная система, организованная в соответствии с этими принципами, может легко сориентироваться при встрече с такими высказываниями, как, например, "похожий на человека, только ростом 25 метров и зеленый". При определенных обстоятельствах такие описания могут образовывать ядра новых фреймов распознавания, представляющих собой законные, хотя и не имеющие наименования, концепты.
Важной чертой фреймов распознавания (и тех категорий, которые они представляют) является то, что они могут образовывать иерархические структуры. Благодаря этому система может вырабатывать гипотезы на многих уровнях, от весьма общих до очень конкретных, например: животное некоторого вида, четвероногое средних размеров, собака, колли, кличка Лесси. Каждому уровню соответствует свой фрейм распознавания, однако фреймы, с помощью которых порождаются конкретные гипотезы, включают в себя пакеты фреймов более высоких уровней; так, например, если в системе активирован фрейм "собака", то ей доступна информация фрейма "животное". Конечно, конкретный фрейм может содержать такие сведения, которые будут исключать из рассмотрения некоторые более общие данные: фрейм "утконос" будет включать в себя информацию фрейма "млекопитающее", но должен исключить сведения о живородящем варианте появления своего потомства. Часто общий фрейм будет использовать в качестве образца одно из своих конкретных проявлений; фрейм "млекопитающее" может скорее призвать на помощь фреймы "собака" или "корова", а не пытаться обеспечить соответствие входной фразы некоторой схематической модели идеального, но неконкретного животного. В подобном случае единственное различие между использованием понятий "млекопитающее" и "корова" будет заключаться в том, что во втором варианте переход к какому-либо иному конкретному представлению будет более сложным; в целом же проверке будут подвергаться одни и те же признаки.
Отметим, что подобная организация системы допускает существование большего числа различных иерархических сетей, которые могут перекрывать друг друга в самых различных (и интересных!) сочетаниях; так, например, с точки зрения зоосистематики дракон "комодо" должен быть пресмыкающимся, однако у него имеется четыре ноги и по своим повадкам он ближе к повадкам собаки, а не змеи. Чтобы решить, как представлять эти запутанные ситуации и что с ними делать, требуются дальнейшие изыскания. Некоторые фреймы следует считать фреймами-"паразитами", поскольку единственное их назначение состоит в том, чтобы прикрепиться к другим фреймам и тем самым изменить эффект от их применения. (Может быть, здесь более подходит термин "вирусный фрейм".) К фрейму "корова" может прикрепиться фрейм "статуя" и тем самым исключить такую его черту, как способность двигаться, изменить вид материала (мясо, скажем, на гипс), а формы оставить нетронутыми. Можно к животному добавить понятие "мифический" и сделать более правдоподобными его возможности самостоятельно летать, перевоплощаться, рассказывать сказки на латинском языке и менее правдоподобным его физическое существование. Тот же механизм может использоваться для более практических целей, например, чтобы учесть возможные осложнения для различных видов болезней. И еще одно замечание: нет ничего необычного в том, если к одному фрейму прикрепятся несколько фреймов-паразитов, взаимно не исключающих друг друга; например, вполне может существовать изваяние мифического животного.
Глава пятая.
Пространственные образы
5.1. Местоположение и ориентация
Обычно мы представляем себе, что наше движение происходит в неподвижном пространстве: когда мы поворачиваемся, мир не вращается вместе с нами, когда мы продвигаемся вперед, мир не отступает. Сидя за письменным столом, я считаю, что видимая из окна река течет на север, хотя на самом деле она сильно отклоняется от точного направления на Северный полюс. Это представление я получил много лет назад, будучи в другом населенном пункте, расположенном на той же реке: там она действительно течет на север. Такое ощущение направления относится ко всей окружающей обстановке; тот же «север» существует в любом доме, своем и соседнем, а любой неподвижный предмет также характеризуется своим направлением (ориентацией) в пространстве.
Кроме ориентации каждый предмет характеризуется определенным местоположением. Мы менее уверены в существовании каких-то связей между позициями, находящимися в разных комнатах. Частично это происходит от того, что определение местоположения любого предмета всегда требует вычислений, тогда как установление связей между ориентированными объектами – дело более простое (в прямоугольных комнатах направления просто переносятся из одного замкнутого пространства в другое).
В незнакомой обстановке одни люди ориентируются значительно легче, чем другие. Один мой знакомый постоянно сверяет свои ощущения с компасом и никогда не теряется в новом для себя городе. Лишь небольшая часть его умения ориентироваться базируется на правильном использовании данных о проделанных в ходе движения по улицам поворотах. Он использует разные средства: карты, тени, время дня, ориентиры (включая отражения от окон) и т. д. Вначале этот способ кажется громоздким, но на самом деле он не требует слишком больших усилий. Весь фокус состоит в том, что надо выработать в себе привычку подмечать и должным образом представлять подобные вещи.
Сформировавшиеся представления об ориентации объектов довольно устойчивы и их трудно менять, даже когда для этого имеются веские основания. В конце концов я понял, что около моего дома река имеет излучину, однако это не убедило меня в том, что следует пересмотреть свою укрупненную пространственную модель. Еще один пример: я провел в Бостоне многие годы, прежде чем заметил, что его Центральный парк имеет пятиугольную форму. Я настолько привык к прямоугольному Манхэттену, что никак не мог справиться с этой неэвклидовой бессмыслицей, ибо в моей памяти отсутствовал угловой сектор для представления северной части Бостона.
Такие трудности указывают на" то, что нами используются как глобальные эталонные фреймы, так и более мелкие локальные структуры. Трудности при перестройке представлений свидетельствуют, что локальные фреймы не являются полностью трансформируемыми структурами, а при уточнении межпредметных связей зависят от места их присоединения к глобальным фреймам. Ниже рассматриваются некоторые вопросы использования глобальных эталонных систем: в принципе это должно предполагать наличие более мощных и общих процедур для частичного изменения сложных представлений; на практике возможности людей в этом плане сильно ограничены, особенно когда они находятся в условиях жесткого дефицита времени.
5.2. Глобальная система пространственных фреймов
Мне не очень нравится предлагаемая ниже модель, но для систем ИИ раньше или позже нечто подобное непременно потребуется разработать. Глобальный пространственный фрейм (GSF) представляет собой постоянный набор «типичных позиций» в абстрактном трехмерном пространстве, копии которого используются как каркасы для сборки сложных сцен. Такой каркас можно представить себе в виде расположенной в горизонтальной плоскости решетки (матрицы) размером (5х5), Каждый узел («позиция») которого имеет три вертикальных уровня. Центральные ячейки служат для представления сведений, наиболее близких к основному в GSF понятию, а периферийные представляют собой менее значительные понятия. (В сущности, человек всегда представляет себе, что он находится в универсальной воображаемой комнате, в которой происходят реальные события. Люди, вероятно, в жизни своей используют более сложные и математически менее строгие структуры, например, чтобы подчеркнуть простоту доступа к объектам, находящимся вблизи рук или лица, или чтобы представлять пространство не в чисто метрических категориях, а по отношению к своим манипуляционным возможностям.
GSF связан с системой видовых фреймов; каждый видовой фрейм описывает визуальные характеристики GSF со своей «колокольни». Таким образом, этот подход не противоречит одновременно ни системе Коперника, ни системе Птолемея: перемещения наблюдателя никак не влияют на присутствие в GSF образа видимой им ] сцены, однако активация видового фрейма, соответствующего данному конкретному местоположению наблюдателя, представляет его воображению именно ту картину. которую он и должен видеть.
Видовой фрейм, соответствующий определенной позиции наблюдателя, получается путем проектирования на это место ячеек GSF. Результатом является массив видовых перечней, каждый из которых представляет собой упорядоченную последовательность тех ячеек GSF, которые должны пересекаться лучом, исходящим от наблюдателя. Таким образом, видовой фрейм подобен обычному визуальному фрейму, за исключением того, что его элементы получены из GSF, а не в результате наблюдений за отдельными элементами и связями реальных объектов. Поскольку видовые перечни соответствуют участкам сетчатки, нам они представляются трехмерными зонами, вытянутыми вдоль одного общего для данного перечня направления.
Заслонения объясняются или представляются с помощью предписании для видовых перечней; нам не следует ожидать, что удастся увидеть целиком тот объект, который не находится на первом месте в видовом перечне. (Аналогично, более близкие к началу перечня предметы препятствуют выполнению манипуляций с другими предметами, находящимися дальше в этом списке. Заслоненные ячейки перечней видов предоставляют процессу согласования большую свободу, ибо они устраняют часть ограничений соответствующих терминалов.)
Для усвоения визуальной информации, полученной из разных точек наблюдения, нам необходимо нечто наподобие схемы "косвенной адресации", в которой визуальные черты приписываются видовым перечням посредством каркасных конструкций GSF. Ниже приводится предварительный набросок такой схемы.
ЗРИТЕЛЬНОЕ ВОСПРИЯТИЕ. Разнообразные типы визуальных "черт" распознаются с помощью демонов на уровне сетчатки. Каждая обнаруженная черта автоматически связывается с видовым направлением текущего видового перечня в соответствии с его положением на общем визуальном поле.
АКТИВАЦИЯ ФРЕЙМОВ. Одновременно производится предварительное присоединение некоторого предметного фрейма или некоторого вида ожидания к узлам решетки GSF в соответствии с данным направлением текущего видового перечня. Это означает, что каждый терминал связывается с видовым направлением некоторого вшивного видового перечня. (Иными словами, терминалы визуального фрейма содержат пространственно-сориентированные данные, что оказывается возможным благодаря наличию соответствующих указателей в структуре GSF), .3 рамках одной системы различные визуальные фреймы выбираются согласно текущему видовому фрейму, а направления всех объектов должны быть соответственно откорректированы.
КОНКРЕТИЗАЦИЯ. Когда мы смотрим в определенном направлении, то, во-первых, в соответствии с информацией активного фрейма ожидаем увидеть определенные визуальные черты в определенных зрительных областях, соответствующих данным GSF, и, во-вторых, на самом деле видим их там. Поэтому естественно предложить такую теорию зрительного восприятия (первого порядка), в которой каждый маркер каждого терминала фактически задает некоторый класс визуальных демонов – «признаков» так же, как и предполагаемое местоположение соответствующего узла в GSF. В такой системе наблюдатель может быть тоже представлен как объект и это позволит ему «увидеть» себя из разных мест в качестве полноправного элемента сцены. При наличии всего этого довольно легко получить информацию, требуемую для означивания терминалов и конкретизации фреймов. Системе остается лишь сопоставить «перцептуальные» пары (демон, видовой перечень) со «схематическими» парами (маркер, узел). Если бы терминалы предметных фреймов можно было непосредственно присоединять к узлам GSF, и если бы они автоматически проектировались, и образовывали видовые перечни, то это бы почти полностью избавило систему от необходимости проведения повторных вычислений для представления тех объектов, которые уже наблюдались, но только из других положений.