Восприятие и искусственный интеллект
Человек обладает обширными способностями к восприятию мира. Когда я разглядываю свой кабинет и выглядываю в окно, мой взгляд захватывает сотни объектов: книги на полке, телефон, пара стульев, картотека, скульптура совы, набор фотографий, самовар, стопка бумаг, псевдоготическая конструкция, анемометр наверху соседнего здания, заснеженные вершины гор, настойчиво приглашающие автора забросить на день-другой написание книги и отправиться покататься на лыжах, —каждый из них я могу немедленно распознать и классифицировать. Не менее интересна человеческая способность видеть, слышать, обонять и чувствовать на вкус мириады вещей. И все же этот перцептивный этап обработки информации, получаемый нами как дар, для компьютера составляет потрясающе сложную проблему.
Наоми Вайсштейн (Naomi Weisstein, 1973) описал трудность, с которой встречается гипотетический компьютер при выполнении элементарной задачи на восприятие: найти часы, считать время и сказать его нам— детская забава, но для компьютера она оказывается чрезвычайно сложной:
"Предположим, компьютер имеет сетчатку из 104 х 104 фотоэлементов. Сразу становится очевидным, что если мы дадим компьютеру список состояний, соответствующих часам, то список поиска для компьютера окажется бесконечным. По мере приближения компьютера к часам, их размер будет меняться;
Искусственный интеллект 503
следовательно, каждый шаг к часам будет... {приводить} к новому распределению {стимулов}... Но даже если бы эту проблему удалось решить, часы были бы любой величины и формы: современные часы "солнечные вспышки", цифровые часы, красные полоски, бегущие вокруг шестнадцатиугольного блока и т.д. Перечислить все возможные формы и величины часов или даже все возможные стандартные их формы и величины просто невозможно. И все же, большинство людей как правило справляется с задачей на опознание в пределах, скажем, 15 минут безо всяких трудностей'1.
Какие перцептивные способности используют люди при решении этой простой задачи, вызывающей такие трудности у компьютера? Здравый смысл подсказывает, что человек поступает разумно и организует поиск часов с применением своих знаний об окружении. Возможно, наш поиск организован неким иерархическом способом, когда сначала осматриваются места, где часы были замечены в прошлом, а если бы их там не оказалось, мы бы искали их в более скрытых местах. Обычно часы находятся на стене, а не под столом, и наше знание окружения направляет поиск.
Кроме стратегии поиска у человека есть система описания свойств часов: их движения, цифровых характеристик и т.д. Кроме того, для подражания человеческому познанию необходимо понимание назначения часов и абстрактной природы времени. Кто-то может подумать, что после того, как паттерн опознан, считывание времени — это уже простейшая часть задачи. Все, что требуется 'от компьютера,— это просканировать и интерпретировать цифровые характеристики, определить положение этих паттернов в памяти и доложить: "2:12". А может, это было "14:12"? Большинство людей на это отвечают немедленно, но для такого ответа требуется дополнительная информация о мире — день или ночь на дворе? Это нетривиальная задача, но нельзя ли ее свести к нескольким более простым и затем сконструировать робота по этим наметкам? Возможно, так, и в следующем разделе мы обратимся к некоторым конкретным перцептивным вопросам, поднятым в связи с задачей Вайсштейна.
Восприятие человека инициируется внешними сигналами, состоящими из света, звука, молекулярных соединений и давления. Эти сигналы обнаруживаются органами чувств и преобразуются (конвертируются в нервную энергию) в сообщения, понимаемые мозгом. Количество информации, доступной органам чувств, огромно; одна только зрительная система может передавать в мозг 4.3х106 бит информации в секунду. Фейгенбаум (Feigenbaum, 1967) предполагает, что некоторые периферийные устройства, иногда называемые периферической системой памяти, действуют подобно сенсорному буферу, предохраняющему мозг от переполнения потоком втекающей в него информации.
Как построить машину, способную подражать этому перцептивному, механизму? Логично было бы разработать что-то способное чувствовать. Один такой подход можно найти в работе по компьютерным распознающим системам.5
5Многие из ранних исследований этого типа руководствовались практическими задачами (например, как сделать устройство, считывающее цифровой код на чеках) и как таковые были слабо связаны с проблемой аналогии ИИ с человеком; здесь этот пример приводится для иллюстрации некоторых возможностей существующих систем компьютерного "восприятия".
Мышление и интеллект - естественный и искусственный 504
Один из способов научить компьютеры распознавать геометрические формы путем анализа логических признаков — это использовать принцип, что сложные геометрические формы состоят из простых. В этой программе использован ряд небольших "матриц", которые систематически проходят через каждый объект в поисках соответствия. Пример "матрицы" и идентифицируемого геометрического объекта показан на Рис. 15.2. Матрица сделана из двух типов сенсоров — позитивного и негативного; присутствует, отсутствует — это единственный сигнал, подаваемый такой ячейкой, или подразделением матрицы. Изображенная матрица содержит только шесть ячеек — три "минуса" и три "плюса", и, судя по расположению этих компонентов (все "отрицательные" элементы расположены слева), вроде бы, подходит для идентификации левого края объекта. Помещение матрицы ее средней линией над левым краем куба привело бы к полному соответствию. На углу соответствие было бы плохим, а на нижнем краю, где плюс и минус отменяют друг друга, соответствия не будет. Хотя эта эвристика в наибольшей степени ориентирована на возможности машин, она не расходится с результатами изучения восприятия у животных и человека. Ранее в этой главе (и в Главе 3) мы узнали, что психофизиологам удалось найти детекторы линий в клетках коры у кошек и, хотя эти данные не полностью подтверждены, похоже, что у человека также имеются детекторы края.
Трудность с вышеприведенной системой состоит в том, что для распознавания даже простых паттернов нужно большое количество матриц (например, детектор левой кромки, детектор правой кромки). Также проблематична "добротность" стимула; большинство геометрических форм (особенно в реальном мире) могут иметь резкие или расплывчатые края, яркие или тусклые края. Распознавание паттернов путем распознавания линий можно сильно упростить, если распознаваемую форму сначала преобразовать в образ, состоящий только из линий, и затем использовать матрицы для определения ориентации этих линий.
Распознавание линий
Системы распознавания паттернов обычно имеют дело со зрительным материалом. Как правило, воспринимающие устройства у таких систем имеют растр, или матрицу из фотоэлементов, реагирующих на свет. Обычно эти фотоэлементы имеют только два состояния — включено и выключено (для "белого" и "черного"). Рассмотрим элементарную задачу идентификации цифры. На Рис. 15.3 показано, как цифры можно преобразовать в
Распознавание паттернов
Матрица
Плохое соответствие
Соответствие отсутствует
Рис. 15.2.Обнаружение левого края посредством шестиэлементной матрицы. Знаки *+" и "-" указывают элементы, реагирующие на условия "присутствует" и 'отсутствует* соответственно. Адаптировано из: Raphael (1976).
Искусственный интеллект 505
двоичный код — 0, или выключено для "черного", и /, или включено — для "белого". Компьютер считывает каждую цифру (т.е. фотоэлементы — один для каждого квадрата сетки, накладываемой на число, — "ощущает" световые зоны, т.е. те, что не заняты числом), исходя из того, насколько данный цифровой код совпадает с матрицей, хранящейся в памяти компьютера. Это работает очень хорошо — если все буквы одной формы, одинаково расположены и не уменьшены,— и такие устройства широко применяются в американской промышленности и государственной почтовой службе. Но когда дело доходит до чтения рукописных писем, присланных для тети Иолы, у оптических сканирующих устройств начинаются разные трудности. Однако, судя по всему, быстро разрабатываются системы для "чтения" даже и рукописных текстов.
Идентификация букв и слов средствами ИИ представляет не только практическую проблему, она также имеет значение для тех ученых, кого интересует процесс анализа информации человеком. Многое из того, что известно об идентификации человеком букв и слов, обсуждалось в Главе 10 Эти знания помогают разрабатывать компьютерные программы, имитирующие этот процесс. Плодотворный отчет по этой теме, послуживший руководством для последующих исследований, представили Селфридж и Нейсер (Selfridge and Neisser, 1963). Только что описанная общая процедура "восприятия буквы" потребовала бы огромной компьютерной памяти (для хранения матрицы каждого нового варианта каждой буквы) или не
Рис. 15.3.Двоичное представление (колонка в центре! букв (колонка слева) Нули показывают выключено или "черный", единицы — включено или "белый". В правой колонке изображено, как выглядели бы цифры при считывании их сканером Адаптировано из Raphael (1976)
0 0 | 0 0 | ||||||
0 0 | Û | 0 0 | |||||
0 0 | 0 0 | ||||||
0 0 | |||||||
0 0 | 0 0 | ||||||
0 0 | 0 0 | ||||||
0 0 | 0 0 | ||||||
0 0 | |||||||
0 0 | 0 0 | ||||||
0 0 | 0 0 |
s „. <: ^ | *• v'*** | ? У | ||||||
t) Û | и | Û 0 | ||||||
0 0 | Ü 0 | |||||||
0 0 | Û | 0 0 | ||||||
0 0 | 0 0 | |||||||
0 0 | 0 0 | |||||||
0 0 | 0 0 | |||||||
0 0 | 0 0 | |||||||
0 0 | ||||||||
0 0 | 0 0 | |||||||
0 0 | 0 0 | |||||||
4 '. **i | Л» * | |||||||
TfTS | о | о | ^ | 0 0 | ||||
0 0 | 0 0 | |||||||
0 0 | 0 0 | |||||||
0 0 | 0 0 | |||||||
0 0 | 0 0 | |||||||
0 0 | 0 0 | |||||||
0 0 | 0 0 | |||||||
0 0 | 0 0 | |||||||
0 0 | 0 0 | |||||||
Мышление и интеллект - естественный и искусственный 506
смогла бы обнаруживать многие встречающиеся в действительности формы букв (Рис. 15.4).
Нужен был более "хитрый" подход, и Селфридж и Нейсер предложили анализировать буквы по их "деталям".6 Возьмем, например, букву А. Чем помещать все типы написаний буквы А в память компьютера и проводить с ними операции поиска и сравнения, мы можем написать для компьютера программу, которая будет изучать каждую из составляющих букву деталей, проверять их наличие или отсутствие и принимать решение о том, какая это может быть буква. Для этого есть два фундаментально различных способа — модель последовательной переработки и модель параллельной переработки. В модели последовательной переработки каждая деталь изучается заранее определенным пошаговым способом, и результат каждого теста определяет следующий шаг в программе. Пример программы последовательной обработки показан на Рис. 15.5 слева. Эта простая программа оценивает всего три детали, спрашивая: Есть ли у предъявленной фигуры кривизна наверху (например, H, U, Y, V), пересечение (например, H, F) и вертикальная линия (В, Y, T, R, P, H)? При постепенном процессе каждый из этих вопросов задается по порядку. Для рассмотренного набора букв (А, Н, V и Y) простое решение "Да" или "Нет"— это все, что необходимо для идентификации каждой буквы. Например, если предъявлена для опознания буква А, то, чтобы отделить эту букву от других букв рассматриваемого набора, надо только ответить отрицательно на первый вопрос (Есть ли кривизна наверху?). Остальные вопросы служат для различения между собой остальных букв этого набора.
Юбсуждение подетальной идентификации см. в Главе 10.
Рис. 15.4.Типичные случаи неудачного обнаружения. В случае "А" матрица (открытая буква) не находит соответствия, когда неизвестная буква (темная) имеет неправильную величину, ориентацию или положение; в случае "В" неверное сопоставление происходит даже когда образец был приведен к стандартной величине и ориентации. Здесь матрице А больше соответствует буква R, чем закругленные или с другим наклоном образцы буквы А. Взято из: Selfrodge and Neisser (Т 963).
В
Искусственный интеллект 507
В модели параллельной обработки тестовые детали те же самые, что и в модели последовательной обработки, но все они применяются не шаг за шагом, а одновременно (Рис 15 5 справа) Это "адская" модель в том плане, что для каждой детали есть свой "демон", принимающий решение и реагирующий на входной стимул согласно своему конкретному виду чувствительности
Возможно, наибольшая неудача этой ранней модели — это ее слепота к "критическим деталям" и влияниям контекста Первый из этих недостатков особенно существенней, поскольку различение "критических деталей" — это отличительная особенность распознавания паттернов человеком При отличении G от С или Q от О, например, критическая деталь — это почти незаметная небольшая линия Неважно, насколько преобладает заметность других деталей, для человеческой обработки они не перевешивают важность критической детали Второй пункт критики этой ранней модели в том, что она нечувствительна к влиянию контекста при идентификации отдельных букв Наши обширные знания орфографии и структуры предложения оказывают нам при идентификации букв неоценимую помощь Чтение рукописного текста — как в указанном случае — было бы почти невозможно, если бы читающий не привносил в ситуацию изрядное количество собственной информации Чтобы заставить машину действовать при обработке информации подобно человеку, следует принять в расчет этот важный параметр
А теперь мы рассмотрим несколько примеров того, как идентифицируются паттерны более сложные, чем просто буквы
Рис. 15.5.Алгоритмы последовательной {слева) и параллельной (справа) обработки для различения букв А, И, У и Y путем использования трех тестовых картинок При последовательной обработке каждый последующий этап определяется выходной информацией предыдущего, при параллельной обработке все тесты применяются одновременно, и решение принимается на основании объединения их выходных данных Адаптировано из Se If ridge and N-eisserjl963)
Мышление и интеллект - естественный и искусственный 508
В качестве примера распознавания других паттернов обратимся к идентификации треугольника7 На рисунке 15 6 изображены несколько треугольников, каждый из которых человек может немедленно опознать и классифицировать как таковой Если прототип "треугольности", хранимый в программе компьютера, соответствует "правильной" матрице треугольника (а), тогда треугольники (Ь) и (с), если их правильно повернуть и скорректировать по величине, можно будет легко распознать, однако, треугольники (d) и (е) вызывают проблемы, особенно те, что на (е) — их можно идентифицировать только в результате "хорошего гештальта", но не по тому, что они состоят из трех прямых линий
Наша способность немедленно распознавать каждую из этих фигур как треугольник объясняется обширным опытом восприятия других треугольных объектов, абстрактное представление о треугольности достаточно широко, чтобы позволить нам опознать эти треугольники именно как треугольники, хотя мы их никогда не видели Может ли компьютер выучить это понятие? Возможно, но такой механизм поиска необходимо будет более сложным, чем единичная операция сопоставления, такая, как в машине, считывающей номер с чека Вместо этого стоило бы подумать о программе поиска, распознающей детали треугольника (как в программе распознавания букв Селфриджа-Нейсера) Тогда такие детали, или атрибуты, как углы, линии, форма, количество объектов и т д хранились бы в компьютерной памяти, точно так же как в нашей памяти хранится каталог этих атрибутов треугольника
Программы последнего типа, более близкие интересам когнитивной психологии, разрабатывали Гузман и Винстон (Gusman, 1968, Winston, 1970, 1973, 1984) Эти программы отличались от более ранних тем, что
Распознавание сложных фигур
7О том, как человек формирует понятие о треугольности см в Главе 13
Рис. 15.6."Хорошие" (A-DJ и "проблематичные" (Е) треугольники Первые отличаются только по величине, ориентации и отношению сторон, у последних нет обычных прямолинейных сторон, но их все же можно опознать как треугольники
Искусственный интеллект 509
они не требовали хранения описаний тех форм, которые компьютеру предстояло распознавать, а основывались на соотношении частей трехмерных геометрических объектов
г
"Квалифицированное" зрительное восприятие у машин
Если бы мы могли видеть только те объекты, видеть которые были запрограммированы машины, описанные вплоть до этого момента, наши дела были бы плохи Основная проблема в том, что интеллект компьютеров, вежливо выражаясь, ограничен Люди "видят" мозгом столько же, сколько и глазами, эта мысль является основной темой этой книги Умение воспринимать базируется на частом опыте восприятия объектов и событий Опытный дизайнер по интерьерам способен разглядеть тончайшие нюансы цвета, или текстуры, или формы, к которым неспециалист слеп Тот же самый принцип, видимо, действует и в отношении других сенсорных модальностей (например, у профессиональных дегустаторов, музыкальных критиков, дегустаторов косметики и специалистов по мехам) Можно ли научить машину выполнять те же самые — или хотя бы сходные — функции?
Одна из очень практических функций, выполняемых человеком,— это обнаружение дефектов продукции Бесчисленные часы проводят наши друзья рабочие, изучая, правильно ли прилеплены этикетки на бутылках с пивом, или проверяя электролампочки, или ботинки, или печатные платы на предмет дефектов Люди не особенно хорошо справляются с такой работой не потому, что она превышает интеллект человека, но потому что она им быстро наскучивает, и они начинают допускать ошибки Скука не относится к характеристикам систем ИИ, они могут работать беспрестанно и не жалуются Может быть, квалифицированное человеческое восприятие, повторяющиеся действия — это именно то, что хорошо делает компьютер
Для обнаружения отклонений и принятия простых решений о качестве продукта было разработано много успешных программ с использованием компьютеров Примером работ по ИИ, проводимых в этой области, является программа, выполненная Тибадо (Thibadeau, 1985) в Институте Робр-тотехники, являющемся филиалом Университета Карнеги-Мелона Это не просто задача "зрительного обнаружения" (можно использовать оптику гораздо более чувствительную, чем человеческий глаз), а задача интерпретации обнаруженного паттерна как приемлемого или неприемлемого
В одном из проектов Тибадо занимался построением прибора для автоматической проверки, способном принимать разумные решения о качестве печатных плат На Рис 15 7 можно видеть сильно увеличенные изображения некоторых типов дефектов в проводниках печатных плат На части (а) этого рисунка изображен "обрыв" проводника, на части (Ь) — "короткое замыкание", а на части (с) — "щербинка"
Выявление такого брака человеком занимает много времени, дорого стоит и несовершенно, тогда как машины в этой сфере как минимум быстрее, дешевле и точнее Пока что они еще несовершенны, и именно к этому вопросу обратился Тибадо Первым этапом разработки лучшего ИИ прибора было составление списка видов брака, определяемых по стандартам, установленным инженерами Каталог этих ошибок включал сотни изображений, сходных с показанными на Рис 15 7 Следующим этапом было выяснить, на что обращают внимание инженеры, когда рассматрива-
Мышление и интеллект - естественный и искусственный 510
ют печатную плату В результате этот исследователь заинтересовался созданием методики, при которой инженеров просили описать эти изображения путем оценки их по отношению к системе отсчета
Одна система отсчета была установлена, когда инженеров просили сказать о том, "что вызвало данный дефект", и оценить уверенность в своей субъективной оценке по десятибалльной шкале Затем этих испытуемых просили сказать, какие части изображения привели их к такому решению и достаточно ли было этого изображения для вывода Наконец, в результате проведенной инженерами сортировки изображений дефектных соединений на категории была составлена определенная систематизация Данные этих наблюдений, отражающие некоторую точку зрения (о том, что вызвало данный дефект), использовались затем как часть базы данных компьютера, с тем, чтобы он принимал более разумные решения Совершенная оценка зрительных паттернов может потребовать многих систем отсчета
Такие разработки занимают в ИИ важное место В них с целью изготовления инструмента, способного "видеть" и принимать решения, сочетается применение некоторых способов принятия решения о зрительных стимулах, свойственных человеку, с превосходными возможностями ска-Рис. 15.7.Некоторые частые типы дефектов печатных плат Перепечатано с разрешения из 1984 Annual Research Review
Обрыв
Пример печатной платы
Короткое замыкание
Щербинка
Искусственный интеллект 511
нирования и скоростью вычислений, свойственных оптическим сканирующим устройствам и компьютерам Способен или нет компьютер видеть своим мозгом — это еще предстоит решать в будущем, но как минимум некоторые из деталей "мозга" теперь можно встроить в разумные машины
Перцептивная сторона ИИ выросла от сравнения фигур с матрицами до заучивания структурных признаков и отношений между ними Эти последние шаги не решают проблему Вайсштейна и не заполняют все ячейки в системе периферической памяти Ханта, но идут в верном направлении
Наша способность видеть и распознавать бесконечные знаки этого мира остается исключительно человеческим даром, но способность компьютера видеть и распознавать ограниченное, хотя и растущее количество довольно сложных зрительных паттернов, быстро развивается Если говорить очень строго, то компьютерные процедуры кодирования преобразуют яр-костные градации в двоичные коды, эти коды делаются значимыми путем соединения их так, чтобы это соответствовало общему знанию о зрительных стимулах Разработка машины, которая могла бы хранить прошлую информацию о мире и применять эти воспоминания при абстрагировании значений из перцептов,— это грандиозная задача для совместных усилий специалистов по ИИ и когнитивной психологии Значительная часть остальных разделов этой главы будет посвящена описанию этого предприятия