Выбрать главу

Легко спроектировать компьютер, который может решить определенную задачу. Однако написать программу, которая достаточно универсальна, чтобы решать различные задачи, довольно трудно. А создание программы, способной адаптироваться и научиться решать совершенно разные задачи, пока невозможно. Но цель многих современных специалистов в области искусственного интеллекта состоит в том, чтобы спроектировать обучающуюся программу, которая будет решать задачи. На элементарном уровне такие самообучающиеся программы могли бы научиться определять, какие клиенты будут благонадежными пользователями кредитных карточек, а с какими лучше не связываться (см. рис. 16.9). На более продвинутом уровне находятся программы компьютерного зрения, над созданием которых работает Абу-Мустафа (Abu-Mostafa, 1995); они предназначены для опознавания объектов даже в случаях, когда объект-мишень изменяет направление или ориентацию.

Рис. 16.9. Обучение машины включает наладку внутренних параметров системы, при которой устанавливаются связи между входными данными и желаемым результатом. Например, система, дающая санкцию на предоставление кредита, обучалась бы связывать личные данные претендентов с их репутацией как должников. В действительности в процессе обучения «настраиваются шкалы», пока машина не сможет повторять отношения ввода-вывода в пробных примерах

Как учатся машины? Логический ответ — на основе «опыта», но, конечно, это почти ничего не говорит нам о механизмах, которые изменяют работу компьютера. Многие специалисты в области искусственного интеллекта подходят к решению этой проблемы с математической точки зрения, в рамках которой поведение машины рассматривается как функция, связывающая входные величины (например, характер решаемой задачи) с соответствующими выходными величинами (действия или решения). Один из способов решить эту задачу — рассматривать обучение машины просто как «поиск правильного положения ручек управления». Некоторые программы учатся, изучая примеры, как в случае задачи, приведенной на рис. 16.10.

Рис. 16.10. Вы можете решить эту задачу? Эти объекты были рассортированы на два класса, на что указывают серые или черные рамки. По какому признаку они различаются? Компьютеры, запрограммированные обучаться на примерах, часто сталкиваются с подобными загадками. Использование машиной подсказок делает обучение более быстрым и легким. Подсказку, которая поможет решить эту задачу, см. на рис. 16.11

Прервитесь на минуту, чтобы увидеть, сможете ли вы найти признак, который отличает один класс объектов от другого. Обратите внимание на то, что ваше решение, связанное с формированием понятия, может сосредоточиться на смысловых отношениях, но как тогда связаны старинный штопор, часы и кролик Банки? Это трудная задача, и все же вы, как и компьютер, испытаете озарение, когда увидите подсказку на рис. 16.11.

Рис. 16.11. Зрительная подсказка, которая помогает и машинам, и людям в решении задачи на рис. 16.10. Нарисованная ось дает понять, что у верхних шести объектов отсутствует зеркальная симметрия, имеющаяся у нижних трех объектов. Этот признак отличает объекты в черных и серых рамках

Машина «учится», имитируя функции-мишени и поэтапно совершенствуя свои действия, все больше приближаясь к цели, пока не достигнет ее. Было создано несколько успешных программ, действующих по этому принципу, включая основанные на нейронной сети (см. Hinton, 1992).

В основе многих работ по ИИ лежит важное различение между двумя методами решения задач. Один метод называется алгоритмическим, а другой — эвристическим. Алгоритмы обычно определяются как процедуры, гарантирующие решение задач данного типа; эвристика есть набор эмпирических правил или стратегий, которые в итоге действуют подобно правилу большого пальца. Различие между этими методами можно проиллюстрировать на примере шахматной задачи. Шахматы для компьютера — это игра, в которой во всякий данный момент у каждого игрока существует ограниченное количество ходов. И на каждый из возможных ходов противник может ответить также ограниченным набором ходов. Для практических целей количество этих перестановок конечно, то есть игра должна закончиться выигрышем (поражением) или вничью. На рис. 16.12 вы видите часть разветвленного дерева ходов, возможных в шахматной партии.