понедельник, 30 августа 2010 г.

Часть 2: Становление и развитие научных исследований в области искусственного интеллекта

2. Бурный рост исследований искусственного интеллекта (1950е-1970е)

Годы после Дартмутского семинара стали годами открытий, исследователи были полны оптимизма.
За первыми успешными разработками Ньюэлла и Саймона последовало создание программы общего решателя задач (General Problem Solver— GPS). В отличие от программы Logic Theorist, эта программа с самого начала была предназначена для моделирования процедуры решения задач человеком. Как оказалось, в пределах того ограниченного класса головоломок, которые была способна решать эта программа, порядок, в котором она рассматривала подцели и возможные действия, был аналогичен тому подходу, который применяется людьми для решения таких же проблем. Поэтому программа GPS была, по-видимому, самой первой программой, в которой был воплощен подход к "организации мышления по такому же принципу, как и у человека". Результаты успешного применения GPS и последующих программ в качестве модели познания позволили сформулировать знаменитую гипотезу физической символической системы, в которой утверждается, что существует "физическая символическая система, которая имеет необходимые и достаточные средства для интеллектуальных действий общего вида". Под этим подразумевается, что любая система, проявляющая интеллект (человек или машина), должна действовать по принципу манипулирования структурами данных, состоящими из символов.
Джон Маккарти перешел из Дартмутского университета в Массачусетсский технологический институт и здесь в течение одного исторического 1958 года внес три крайне важных вклада в развитие искусственного интеллекта. В документе MIT AI Lab Memo No. 1 Джон Маккарти привел определение нового языка высокого уровня Lisp, которому суждено было стать доминирующим языком программирования для искусственного интеллекта. Lisp остается одним из главных языков высокого уровня, применяемых в настоящее время, будучи вместе с тем вторым по очередности появления языком такого типа, который был создан всего на один год позже чем Fortran. Разработав язык Lisp, Маккарти получил необходимый для него инструмент, но доступ к ограниченным и дорогостоящим компьютерным ресурсам продолжал оставаться серьезной проблемой. В связи с этим он совместно с другими сотрудниками Массачусетсского технологического института изобрел режим разделения времени. В том же 1958 году Маккарти опубликовал статью под названием Programs with Common Sense, в которой он описал гипотетическую программу Advice Taker, которая может рассматриваться как первая полная система искусственного интеллекта. Как и программы Logic Theorist и Geometry Theorem Prover, данная программа Маккарти была предназначена для использования знаний при поиске решений задач. Но в отличие от других программ она была предназначена для включения общих знаний о мире. Например, Маккарти показал, что некоторые простые аксиомы позволяют этой программе разработать план оптимального маршрута автомобильной поездки в аэропорт, чтобы можно было успеть на самолет. Данная программа была также спроектирована таким образом, что могла принимать новые аксиомы в ходе обычной работы, а это позволяло ей приобретать компетентность в новых областях без перепрограммирования. Таким образом, в программе Advice Taker были воплощены центральные принципы представления знаний и проведения рассуждений, которые заключаются в том, что всегда полезно иметь формальное, явное представление о мире, а также о том, как действия агента влияют на этот мир и как приобрести способность манипулировать подобными представлениями с помощью дедуктивных процессов. Замечательной особенностью указанной статьи, которая вышла в 1958 году, является то, что значительная ее часть не потеряла своего значения и в наши дни.
В конце 1950-х Джон МакКарти и Марвин Мински основали в MIT лабораторию искусственного интеллекта, которая работает и сегодня [5].
В 1958 году Фрэнк Розенблатт опубликовал работу «The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain», в которой развил идеи Хебба об обучении искусственных нейронной и предложил устройство, моделирующее процесс человеческого восприятия. Розенблатт назвал это устройство «перцептроном». Перцептрон передавал сигналы от фотоэлементов, представляющих собой сенсорное поле, в блоки электромеханических ячеек памяти. Эти ячейки соединялись между собой случайным образом в соответствии с принципами коннективизма. В 1957 году в Корнелльской Лаборатории Аэронавтики успешно было завершено моделирование работы перцептрона на компьютере IBM 704, а два года спустя, 23 июня 1960 года в Корнелльском университете, был продемонстрирован первый нейрокомпьютер — «Марк-1», который был способен распознавать некоторые из букв английского алфавита.
Чтобы «научить» перцептрон классифицировать образы, был разработан специальный итерационный метод обучения проб и ошибок, напоминающий процесс обучения человека — метод коррекции ошибки. Кроме того, при распознании той или иной буквы перцептрон мог выделять характерные особенности буквы, статистически чаще встречающиеся, чем малозначимые отличия в индивидуальных случаях. Тем самым перцептрон был способен обобщать буквы, написанные различным образом (почерком), в один обобщённый образ. Однако возможности перцептрона были ограниченными: машина не могла надежно распознавать частично закрытые буквы, а также буквы иного размера, расположенные со сдвигом или поворотом, нежели те, которые использовались на этапе ее обучения.
В 1960-е одной из наиболее важных областей разработки стало представление знаний. Терри Виноград разработал программу SHRDLU [6], при помощи которой тестировались идеи по машинному зрению, робототехнике и обработке естественного языка. Программа понимала простые команды («Поставь зеленый блок на синий») и могла ответить на рад вопросов о своих действиях («Зачем ты передвинул зеленый блок?»).
В начале 1960-х Джон МакКарти основал лабораторию искусственного интеллекта в Стэнфордском университете, в которой был разработан робот Шейки (Shakey), который мог перемещаться по искусственному миру и выполнять простые программы [7].

3. Спад исследований искусственного интеллекта (1970-е)

Чрезмерный оптимизм исследователей не оправдался, они не смогли выполнить своих обещаний, системы, основанные на искусственном интеллекте, не показывали обещанных результатов.
Можно выделить несколько основных причин спада:
Машинный перевод. Во времена Холодной войны правительство США было крайне заинтересовано в автоматическом переводе русскоязычных текстов и научных документов. С 1954 года началось активное финансирование в разработку систем машинного перевода, а ученые заявляли, что находятся на грани прорыва в науке. Однако, в ходе исследований были выявлены проблемы, которые не позволяли сделать машинные переводы достаточно эффективными и в 1964 году была создана комиссия ALPAC (Automatic Language Processing Advisory Committee), опубликовавшая в 1966 году отчет, согласно которому машинный перевод оказался менее эффективным и более дорогим, чем перевод человеком [8]. В связи с этим исследования машинного перевода были прекращены.
Нейронные сети. В 1969 году Матрин Мински и Сеймур Паперт опубликовали книгу «Perceptrons: An Introduction to Computational Geometry», которая описывала ограничения по использованию однослойных перцептронов, что привело к значительному снижению интереса к нейронным сетям более чем на 10 лет [9].
Окончание финансирования исследований. 1969 году Майк Мэнсфилд фактически прекратил финансирование исследований в область искусственного интеллекта со стороны DARPA. Финансировались только проекты, которые обещали быть в скором времени полезными для вооруженных сил США.
С другой стороны в 1970-е годы получили развитие системы, основанные знаниях, в особенности это были системы, которые обладали знаниями в какой-то конкретной области и могли строить достаточно длинные цепочки рассуждений для того, чтобы в достаточной точностью найти ответ на поставленный вопрос.
Одним из первых примеров реализации такого подхода была программа Dendral . Она была разработана в Станфордском университете группой ученых, в которую вошли Эд Фейгенбаум (бывший студент Герберта Саймона), Брюс Бьюкенен (философ, который сменил специальность и стал заниматься компьютерными науками) и Джошуа Ледерберг (лауреат Нобелевской премии в области генетики). Эта группа занималась решением проблемы определения структуры молекул на основе информации, полученной от масс-спектрометра. Вход этой программы состоял из химической формулы соединения (например, C6H13N02) и спектра масс, позволяющего определять массы различных фрагментов молекулы, который формировался при бомбардировке молекулы потоком электронов. Например, спектр масс может содержать пик в точке m=15, соответствующий массе метилового фрагмента (СН3).
Первая, примитивная версия этой программы предусматривала выработку всех возможных структур, совместимых с данной формулой, после чего предсказывала, какой спектр масс должен наблюдаться для каждой из этих структур, сравнивая его с фактическим спектром. Вполне можно ожидать, что такая задача применительно к молекулам более крупных размеров становится неразрешимой. Поэтому разработчики программы Dendral проконсультировались с химиками-аналитиками и пришли к выводу, что следует попытаться организовать работу по принципу поиска широко известных картин расположения пиков в спектре, которые указывают на наличие общих подструктур в молекуле. Например, для распознавания кетоновых подгрупп (С=0) с атомными весами 28 может использоваться приведенное ниже правило.
ЕСЛИ имеются два пика в точках x1 и х2, такие, что:
а)   x1 + х2 = М + 28 (где M—масса всей молекулы);
б)  в точке x1 - 28 — высокий пик;
в)   в точке x2 - 28 — высокий пик;
г)   по меньшей мере в одной из точек x1 и х2 — высокий пик, ТОГДА существует кетоновая подгруппа.
Применение способа, предусматривающего распознавание того, что молекула содержит какие-то конкретные подструктуры, позволило весьма значительно сократить количество возможных кандидатов, подлежащих проверке. В конечном итоге программа Dendral оказалась очень мощной, и причины этого описаны ниже.
Значение программы Dendral состояло в том, что это была первая успешно созданная экспертная система, основанная на широком использовании знаний: ее способность справляться с поставленными задачами была обусловлена применением большого количества правил специального назначения. В более поздних системах также широко применялся основной принцип подхода, реализованного Маккарти в программе Advice Taker, — четкое отделение знаний (в форме правил) от компонента, обеспечивающего проведение рассуждений.
Руководствуясь этим опытом, Фейгенбаум и другие специалисты из Станфорд-ского университета приступили к разработке проекта эвристического программирования (Heuristic Programming Project— HPP), целью которого было исследование того, в какой степени созданная ими новая методология экспертных систем может быть применена в других областях интеллектуальной деятельности человека. На очередном этапе основные усилия были сосредоточены в области медицинской диагностики. Фейгенбаум, Бьюкенен и доктор Эдвард Шортлифф разработали программу Mycin для диагностики инфекционных заболеваний кровеносной системы. После ввода в нее примерно 450 правил программа Mycin приобрела способность работать на уровне некоторых экспертов, а также показала значительно более лучшие результаты по сравнению с врачами, имеющими не такой большой стаж. Она также обладала двумя важными отличительными особенностями по сравнению с программой Dendral. Во-первых, в отличие от правил Dendral не существовала общая теоретическая модель, на основании которой мог бы осуществляться логический вывод правил Mycin. Для выявления этих правил приходилось широко применять знания, полученные от экспертов, которые, в свою очередь, приобретали эти знания с помощью учебников, других экспертов и непосредственного опыта, накопленного путем изучения практических случаев. Во-вторых, в этих правилах приходилось учитывать ту степень неопределенности, которой характеризуются знания в области медицины. В программе Mycin применялось исчисление неопределенностей на основе так называемых коэффициентов уверенности, которое (в то время) казалось вполне соответствующим тому, как врачи оценивают влияние объективных данных на диагноз.
В связи с широким ростом количества приложений, предназначенных для решения проблем реального мира, столь же широко возрастали потребности в создании работоспособных схем представления знаний. Было разработано большое количество различных языков для представления знаний и проведения рассуждений. Некоторые из них были основаны на логике, например, в Европе получил распространение язык Prolog, а в Соединенных Штатах широко применялось семейство языков Planner. В других языках, основанных на выдвинутой Минским идее фреймов, был принят более структурированный подход, предусматривающий сбор фактов о конкретных типах объектов и событий, а также упорядочение этих типов в виде крупной таксономической иерархии, аналогичной биологической таксономии.
В 1979 году Ганс Берлинер разработал программу для игры в триктрак, которая смогла победить чемпиона мира по триктраку, Луиджи Вилла из Италии. Это был первый случай победы компьютерной программы над человеком в сложной игре [10].

Комментариев нет:

Отправить комментарий