Системы распознавания паттернов обычно имеют дело со зрительным материалом. Как правило, воспринимающие устройства у таких систем имеют растр, или матрицу из фотоэлементов, реагирующих на свет. Обычно эти фотоэлементы находятся в двух состояниях: «включено» и «выключено» (для «белого» и «черного»). Рассмотрим элементарную задачу идентификации цифры. Ниже показано, как цифры можно преобразовать в двоичный код: 0, или «выключено», — для «черного», и 1, или «включено», — для «белого» Компьютер считывает каждую цифру (то есть фотоэлементы — один для каждого квадрата сетки, накладываемой на число, «ощущают» световые зоны, т. е. те, которые не заняты числом) исходя из того, насколько данный цифровой код совпадает с матрицей, хранящейся в памяти компьютера. Этот принцип работает очень хорошо, если все буквы одной формы, одинаково расположены и не размыты, такие устройства широко применяются в американской промышленности и государственной почтовой службе. Но когда дело доходит до чтения рукописных писем, присланных для тети Иолы, у оптических сканирующих устройств начинаются разные трудности. Однако в наше время быстро разрабатываются системы для «чтения» даже рукописных текстов.
Идентификация букв и слов средствами ИИ — это не только практическая задача, она также имеет значение для тех ученых, кто интересуются процессом анализа информации человеком. Многое из того, что нам уже известно об идентификации человеком букв и слов, обсуждалось в главе 12. Эти знания помогают разрабатывать компьютерные программы, имитирующие данный процесс. Подробный отчет по этой теме, послуживший руководством для последующих исследований, представили Селфридж и Найссер (Selfridge & Neisser, 1963). Выше описанная общая процедура «восприятия буквы» потребовала бы компьютерной памяти огромного объема (для хранения матрицы каждого нового варианта каждой буквы) или оказалась бы неспособной обнаруживать многие встречающиеся в действительности формы букв. Основная логика Селфриджа и Найссера была использована в недавно появившихся устройствах, считывающих буквы и слова. Эти компьютеры «читают» текст с помощью ряда подпрограмм, каждая из которых специализируется в одной части задачи чтения, скажем буквы. Такой анализ несколько напоминает способ решения задач «средства—результат», упомянутый в главах 14 и 15, посвященных мышлению. Один из способов работы программы чтения буквы изображен на рис. 16.3. На нем показано, как буква R обрабатывается через ряд довольно простых стадий, пока не устанавливается соответствие на основе исключения альтернатив.
Читать далее →
В качестве примера распознавания других паттернов обратимся к идентификации треугольника. На рис. 16.5 изображено несколько треугольников, каждый из которых человек может с легкостью опознать и классифицировать. Если прототип «треугольности», хранимый в программе компьютера, соответствует «правильной» матрице треугольника А, то треугольники В и С, если их правильно повернуть и скорректировать по величине, можно будет легко распознать; однако треугольники D и E вызывают проблемы, особенно Е — их можно идентифицировать только в результате «хорошего гештальта», но не по тому признаку, что они состоят из трех прямых линий.
Наша способность немедленно распознавать каждую из этих фигур как треугольник объясняется обширным опытом восприятия других треугольных объектов; абстрактное представление о треугольности достаточно широко, чтобы позволить нам опознать эти треугольники именно как треугольники, хотя раньше мы их никогда не видели. Может ли компьютер выучить это понятие? Возможно, но такой механизм поиска будет более сложным, чем единичная операция сопоставления, такая, как в машине, считывающей номер с чека. Вместо этого стоило бы подумать о программе поиска, распознающей детали треугольника. Тогда такие детали, или атрибуты, как углы, линии, форма, количество объектов и т. д., хранились бы в компьютерной памяти, точно так же, как в нашей памяти хранится каталог этих атрибутов треугольника. Компьютерное распознавание сложных форм применяется на практике в области распознавания лиц. Предположим, что ваше лицо имеет уникальные признаки, такие же, как отпечатки пальцев. Компьютерная система, которая может сканировать лицо человека и найти полное соответствие с ним, могла бы очень помочь в работе полиции. Она также оказалась бы полезной для идентификации чеков и в системах безопасности промышленных объектов и офисов. Представьте, что каждое утро на работе вас приветствует компьютер, который просит: «Пожалуйста, расположите ваше лицо так, чтобы я мог его увидеть», — а после его сканирования и открытия двери говорит: «Здравствуйте, госпожа Джуэль, вам звонил В. М. Бич… и, между прочим, с днем рождения». Хотя вы можете воспринять это как еще одно вторжение в вашу личную жизнь, вероятно, что довольно скоро нам придется смириться с такими устройствами. Исследование идентификации лиц было проведено специалистами по компьютерам Томасом Поджо и Роберто Брунелли в Массачусетском технологическом институте. Суть программы состояла в определении и математическом анализе существенных признаков лиц, таких как ширина носа, расстояние между глазами и подбородком и т. д. Были выявлены шестнадцать признаков.
Читать далее →
Психологи считают язык основным проявлением когнитивных процессов. Он больше, чем все другие виды человеческого поведения, отражает мышление, восприятие, память, решение задач, интеллект и научение. И ввиду его важности для основных психологических принципов язык представляет большой интерес для специалистов по ИИ.
Артур Кларк в наиболее полном виде — как обмен мнениями между Дейвом (человеком) и фантастическим компьютером Хэлом — предвосхитил связь способности к языку и сферы решения задач с искусственным интеллектом:
— Я хочу сделать это сам, Хэл, — сказал он, — пожалуйста, передай мне управление.
— Слушай, Дейв, у тебя еще куча работы. Я предлагаю, чтобы ты оставил это мне.
— Хэл, переключи анабиоз на ручное управление.
— Насколько я могу судить по обертонам твоего голоса, Дейв, ты серьезно расстроен. Почему бы тебе не принять таблетку от стресса и не отдохнуть немного?
— Хэл, этим кораблем командую я. Я приказываю тебе разблокировать ручное управление анабиозом.
— Извини, Дейв, но, согласно специальной подпрограмме С1435бис-4, цитирую: «Если экипаж мертв или недееспособен, бортовой компьютер должен принять управление на себя», конец цитаты. Следовательно, я должен признать твою власть недействительной, поскольку ты не в состоянии исполнять обязанности разумно.
Насколько близко мы подошли к тому, чтобы, пусть пока лишь в лабораториях ИИ, сделать эту фантастику реальностью?
Читать далее →
Полные энтузиазма первые исследователи искусственного интеллекта быстро приняли вызов, брошенный задачей Тюринга, и написали программы, разработанные для продуцирования ответов на реальные вопросы, которые были бы неотличимы от ответов человека. Теперь некоторые из этих программ могут показаться несколько наивными, но наука часто развивается именно таким образом.
ELIZA. Одна из первых «разговаривающих» компьютерных программ ELIZA (ЭЛИЗА)1 была написана Джозефом Вейценбаумом (Weizenbaum, 1966). С момента создания первоначальной программы появилось несколько ее переработанных вариантов. В одной конкретной программе под названием «ДОКТОР ЭЛИЗА» играла роль, сходную с ролью психиатра. В следующем примере высказывания ЭЛИЗЫ выделены заглавными буквами:
Все люди похожи.
ЧЕМ ЖЕ?
Они вечно надоедают нам то тем, то другим.
НЕ МОГЛИ БЫ ВЫ ПРИВЕСТИ КОНКРЕТНЫЙ ПРИМЕР?
Ну, мой приятель заставил меня прийти сюда.
ВАШ ПРИЯТЕЛЬ ЗАСТАВИЛ ВАС ПРИЙТИ СЮДА?
Он говорит, что я почти все время подавлен.
МНЕ ЖАЛЬ СЛЫШАТЬ, ЧТО ВЫ ПОДАВЛЕНЫ.
Это правда, я чувствую себя несчастным.
ВЫ ПОЛАГАЕТЕ. ЧТО ПРИХОД СЮДА ПОМОЖЕТ ВАМ ПЕРЕСТАТЬ БЫТЬ НЕСЧАСТНЫМ?
Мне нужна какая-то помощь, это точно.
Читать далее →
Несмотря на то что некоторые из фраз этого компьютера достаточно хороши, чтобы обманывать кого-то некоторое время, он не способен обманывать всех и постоянно. Компьютеры терпят неудачу не из-за недостатка памяти на слова — она почти неограниченна, и не из-за недостаточной способности генерировать значимые предложения — она весьма обширна, и не из-за плохого произношения букв — оно вполне приемлемо, а из-за того, что они недостаточно понимают используемый язык. На ранних этапах развития ИИ многие думали, что компьютеры смогут оказать значительную помощь при переводе с языка на язык. Просто загрузить в компьютер словарные эквиваленты (например, necklace = «ожерелье», cloth = «сукно», pocketbook = «записная книжка», pink = «розовый» и т. д.), ввести один язык и получить на выходе другой. Однако, даже если делать перевод один к одному в контексте синтаксической информации, результаты получаются довольно странные. Например, когда пассаж из Библии (возможно, апокрифический) The spirit is willing, but the flesh is weak («Стремится дух, да плоть слаба») перевели на русский язык, а затем обратно на английский, то получилось следующее: «Вино было приятным, но мясо протухло». Опыт использования подобных примитивных программ перевода и развитие психолингвистики изменили наше представление о языке. В предыдущем примере русские и английские слова были эквивалентны и синтаксис в обоих языках правилен. Но смысл двух предложений получился разным. Любой язык ограничен различными правилами, определяющими последовательность грамматических компонентов и значение всей последовательности. Сложные отношения внутри языка требуют тщательного анализа. Компьютерный анализ процессов естественного языка выражается в разработке систем, способных «понимать» язык. Были созданы довольно сложные «понимающие» программы, основанные на концептуальной базе языка. Эти программы могли анализировать как контекст рассуждения, так и значение слов, а в некоторых случаях и «знания о мире» (Т. Виноград). Анализатор синтаксиса определяет наиболее вероятный синтаксический разбор и интерпретацию предложения.
Способность первых языковых систем подражать человеческому разговору была ограничена в связи с недостатком знаний о мире и неспособностью делать выводы. В речи людей то, что не говорится, столь же важно для эффективного сообщения, как и то, что произносится вслух. В разумной человеческой деятельности присутствуют все виды умозаключений — и не только при обработке языка, но и при других видах деятельности, таких как зрительное восприятие. Нам не обязательно видеть частично скрытый объект полностью, чтобы заключить, что он существует целиком. Даже частичных и вторичных признаков достаточно для запуска целой серии ответных реакций: если я иду через лес, зная, что в нем водятся ядовитые змеи, то звука шуршащих листьев достаточно, чтобы я замер на месте.
Еще один аспект понимания привлек внимание исследователей ИИ — это понятие об «убеждениях». Рассмотрим следующий пример:
Вчера я вернулся домой после 2 часов ночи. Ну, приятель, и задала же мне жена!
Будет справедливо заключить, что большинство людей понимают — то, что задала эта жена своему мужу, вовсе не было задачкой на вычитание. Ничего, что этот вывод может быть абсолютно неверен. (Например, муж мог работать допоздна в своей лаборатории и только что открыть средство от рака, которое принесло бы его семье славу и деньги; или он мог прийти домой слишком рано!) Мы говорим о том, что большинство людей понимают из этой простой истории и чего не понимают компьютерные программы. Чтобы программа поняла эту историю, нужна не только обширная память на идиомы (а иначе как понять выражение «задала мне»), но также некоторое представление о приходах и уходах мужей и о том, каковы убеждения и отношения жен к таким выходкам.
Системы непрерывного распознавания речи (НРР) — это программы, которые распознают и регистрируют естественную речь. Внешне система НРР кажется достаточно простой для конструирования. В конце концов, большинство людей и некоторые животные распознают и регистрируют определенный тип речи. Однако эта задача крайне сложна по упомянутым выше причинам. Рассмотрим хотя бы проблему, связанную с омофонами, — словами, которые звучат одинаково, но имеют различное значение, например arm («рука») — конечность, прикрепленная к торсу, и arm («оружие») — то, что вы производите, чтобы защитить себя от полуночного злоумышленника. В предложении: Jeff armed himself in the event of an emergency («Джеф вооружился на крайний случай») слово armed означает, что Джеф обзавелся определенным видом оружия. Однако, если вы знаете Джефа, а также то, что в результате несчастного случая он потерял обе руки и теперь пользуется протезами, которые он надевает в крайнем случае, например при пожаре, вы так же знаете, что armed означает, что он надел свою искусственную руку. Как бы система НРР разобралась с этим паттерном речи? Большинство программ работает на основе статистической вероятности и ограниченного синтаксического контекста и, таким образом, неверно истолковали бы смысл предложения. Однако постепенно создаются все более сложные программы, которые учитывают контекст и задействуют «знания о мире».
Исследования на переднем крае НРР связаны с программами перевода, упомянутыми выше. Эти новые программы не просто осуществляют перевод путем «грубого поиска и сравнения», а способны к непрерывному распознаванию речи с использованием полного словаря, переводу на другие языки и синтезу речи с высокой степенью точности. Это означает, что человек может говорить по-английски, например в «телефон» (или микрофон, связанный с компьютером); английская речь переводится в текст; текст переводится на другой язык, например французский; синтезируется речь на втором языке; и в результате мы получаем устную версию переведенного сообщения. Эта удивительно практичная программа уже находится на стадии экспериментальной проверки (см. Kurzweil, 1999), и коммерческий продукт, как ожидается, появится на рынке в начале этого десятилетия.
В процессе разумного общения с человеком NETtalk и CSR используют знания о мире, и то же самое делают другие программы, в спектр деятельности которых включены те или иные формы человеческого понимания. Среди наиболее известных и наиболее спорных — программа понимания языка, разработанная в Йельском университете Роджером Шенком. Разработки Шенка преследовали несколько целей, включая создание программы, способной понимать письменный текст, кратко излагать его суть, переводить его на другой язык и отвечать на вопросы по его содержанию. Шенк и его коллеги скоро обнаружили, что люди понимают гораздо больше, чем просто ряды слов естественного языка. Он иллюстрирует этот момент следующим рассказом: «Джон пошел в ресторан. Он заказал сэндвич. Официант принес его быстро, поэтому он дал ему большие чаевые». Вопрос: съел ли Джон сэндвич? Заплатил ли он за него?
Когда я говорю вам: «Я был в Венеции прошлым летом», — вы можете, в свою очередь, задать мне много вопросов более или менее по существу: потратил ли я сколько-то денег? Летел ли я самолетом? Или плыл на корабле? Говорил ли я с кем-нибудь? Заходил ли я в ресторан? Видел ли я других людей в Венеции? Говорят ли они по-итальянски? Носят ли они одежду? Есть ли у них ногти? Сколько? Чтобы «разумная» машина понимала язык, она должна уметь при обработке языка делать разумные выводы, как это делают обычные люди. Основная идея Шенка близка принципу обработки «сверху вниз», подробно обсуждающемуся в этой книге.
Одной из трудностей, с которой исследователь столкнулся при разработке программы обработки языка, была неоднозначность естественных языков. Шенк (Schank, 1981) приводит следующий пример: Я ударил Фреда по носу. Я ударил Фреда в парке.
Читать далее →
Литература по решению задач и играм в рамках ИИ, возможно, более обширна, чем по любому другому психологическому вопросу. Одна из причин, почему многие специалисты по ИИ интересуются решением задач, состоит в том, что этот термин, грубо говоря, синонимичен мышлению, которое в своем наиболее сложном виде является исключительно атрибутом человека. Этот факт, а также то, что машины с ИИ способны выполнять процедуры решения задач, привели к бурному развитию методов и теории в этой области.
Вычисления были одним из первых примеров использования машин для решения задач. В 1642 году Паскаль (тогда ему было 19 лет) продемонстрировал, что при помощи изобретенного им механического вычислителя некоторые математические задачи можно решить точнее и быстрее, чем это делают люди вручную. В контексте современного ИИ решение задач означает гораздо больше, чем механические вычисления; оно охватывает широкий диапазон от решения сложных головоломок до доказательства теорем, заучивания успешных операций и различных игр.
Легко спроектировать компьютер, который может решить определенную задачу. Однако написать программу, которая достаточно универсальна, чтобы решать различные задачи, довольно трудно. А создание программы, способной адаптироваться и научиться решать совершенно разные задачи, пока невозможно. Но цель многих современных специалистов в области искусственного интеллекта состоит в том, чтобы спроектировать обучающуюся программу, которая будет решать задачи. На элементарном уровне такие самообучающиеся программы могли бы научиться определять, какие клиенты будут благонадежными пользователями кредитных карточек, а с какими лучше не связываться. На более продвинутом уровне находятся программы компьютерного зрения, над созданием которых работает Абу-Мустафа (Abu-Mostafa, 1995); они предназначены для опознавания объектов даже в случаях, когда объект-мишень изменяет направление или ориентацию.
Читать далее →
Выше мы описывали, как при помощи оптимального сканера, работающего с компьютером, можно было бы разобрать смысл простого паттерна методом сравнения матриц. Обсуждая анализ паттернов, мы выяснили, что паттерны сложны и что модель распознавания паттернов человеком, основанная только на сопоставлении матриц, неспособна имитировать разнообразие, сложность и экономичность, характерные для человеческой способности к распознаванию паттернов при кратком предъявлении. Если для распознавания каждого из разнообразных паттернов, встречающихся в повседневной жизни, потребовалась бы отдельная матрица, они переполнили бы память даже самого большого компьютера. Но давайте выберем для сопоставления матриц умеренно простой паттерн — что-нибудь среднее между опознанием вашей бабушки и считыванием стоимости фунта масла (код напечатан на упаковке). В шахматах мы имеем схожие паттерны: простая сетка 8×8 попеременно окрашенных клеток; ходы четко определяются (например, ладья может ходить на любое количество клеток по вертикали или горизонтали при условии, что на ее пути нет других фигур, пешка может ходить на одно поле вперед, за исключением… и т. д.); ходы можно выбирать путем грубого поиска, а количество перестановок конечно, хотя и огромно. При условии очень большого объема хранения и такого же запаса времени можно для каждого хода определить вероятность, с которой он приближает выигрыш. Компьютеры изучают потрясающее количество возможных ходов, однако модель, которая будет просчитывать все ходы, построить технически невозможно; кроме того, это не говорит ничего о том, как играют в шахматы люди и, что более важно, как при этом воспринимаются, кодируются, преобразуются и приводятся в действие сложные паттерны.
Из экспериментов Чейза и Де Грота мы знаем, что даже начинающие игроки в шахматы выделяют информацию о положении конкретных фигур и затем сосредоточиваются на разработке стратегии вокруг ключевых фигур и ходов. Поэтому, чтобы шахматная машина могла играть в шахматы как человек, она должна уметь анализировать паттерн и быстро абстрагировать из фигур и их позиций информацию об относительной важности более крупных единиц информации.
Читать далее →
Возможно, вы думаете, что есть некоторые области человеческой деятельности, которые защищены от вторжения искусственного интеллекта. Вы можете утверждать, что различные виды искусств — поэзия, музыка и изобразительное искусство — являются проявлениями исключительно человеческого гения и они не будут затронуты вторжением электронных зондов. Однако в каждой из этих областей была проведена значительная работа. Сначала рассмотрим поэзию.
Поэзия
Поэзия. Компьютеры создали несколько вполне удачных стихотворений, похожих на стихи, сочиненные людьми. Одна такая программа была разработана Курцвейлом и названа «Кибернетический поэт Рея Курцвейла» (Ray Kurzweil’s Cybernetic Poet — RKCP). Эта программа использует методы моделирования языка, основанные на материале стихотворений, которые она «читала». Ей дают образец (чем более объемный, тем лучше) стихов какого-нибудь поэта, и на их основе она создает модель языка, в которой копируются стиль, паттерны ритма и структура стихотворения автора. Оцените это хокку (японское лирическое стихотворение), написанное «Кибернетическим поэтом Рея Курцвейла» после того, как он «прочитал» стихи Джона Китса и Уэнди Деннис.
Читать далее →