Обучение машин. Экспертные системы и их задачи
Обучение остается «крепким орешком» искусственного интеллекта. Важность обучения, тем не менее, несомненна, поскольку эта способность является одной из главных составляющих разумного поведения. Экспертная система может выполнять долгие и трудоемкие вычисления для решения проблем. Но, в отличие от человеческих существ, если дать ей такую же или подобную проблему второй раз, она не «вспомнит» решение. Она каждый раз вновь и вновь будет выполнять те же вычисления – едва ли это похоже на разумное поведение. Одним из главных достижений ранних исследований по ИИ стало осознание важности специфического для некоторой предметной области знания. Экспертное знание – это сочетание теоретического понимания проблемы и набора эвристических правил для ее решения, которые, как показывает опыт, эффективны в данной предметной области. Экспертные системы создаются с помощью заимствования знаний у человеческого эксперта и кодирования их в форму, которую компьютер может применить к аналогичным проблемам. Стратегии экспертных систем основаны на знаниях человека-эксперта. Хотя многие программы пишутся самими носителями знаний о предметной области, большинство экспертных систем являются плодом сотрудничества между таким экспертом, как врач, химик, геолог или инженер, и независимым специалистом по ИИ. Эксперт предоставляет необходимые знания о предметной области, описывая свои методы принятия решений и демонстрируя эти навыки на тщательно отобранных примерах, специалист по ИИ (или инженер по знаниям, как часто называют разработчиков экспертных систем) отвечает за реализацию этого знания в программе, которая должна работать эффективно и внешне разумно. Большинство экспертных систем были написаны для специализированных предметных областей, эти области довольно хорошо изучены и располагают четко определенными стратегиями принятия решений. Проблемы, определенные на нечеткой основе здравого смысла, подобными средствами решить будет уже сложнее. Несмотря на воодушевляющие перспективы экспертных систем, было бы ошибкой переоценивать возможности этой технологии. Основные проблемы таковы: · Трудности в передаче «глубоких» знаний предметной области. Системе MYCIN, в которую вложены знания экспертов медицины для диагностики и лечения спинального менингита и бактериальных инфекций крови, не достает действительного знания человеческой физиологии. Она не знает, какова функция кровеносной системы или спинного мозга. Ходит предание, что однажды, подбирая лекарство для очередного пациента, MYCIN спросила, беременен ли пациент, хотя ей указали, что пациент мужского пола. Было это на самом деле или нет, неизвестно, но это хорошая иллюстрация потенциальной ограниченности знаний экспертной системы. · Недостаток здравомыслия и гибкости. Если людей поставить перед задачей, которую они не в состоянии решить немедленно, то они обычно сперва исследуют основные принципы и вырабатывают какую-то стратегию для перехода к проблеме. Экспертным системам этой способности не хватает. · Неспособность предоставлять осмысленные объяснения. Поскольку экспертные системы не владеют глубоким знанием своей предметной области, их пояснения обычно ограничиваются описанием шагов, которые система предприняла в поиске решения. Но они зачастую не могут пояснить, почему был выбран данный конкретный подход. · Трудности в тестировании. Хотя обоснование корректности любой большой компьютерной системы достаточно трудоемко, экспертные системы проверять особенно тяжело. Это серьезная проблема, поскольку технологии экспертных систем применяются для таких критичных задач, как управление воздушным движением, ядерными реакторами и системами оружия. · Ограниченные возможности обучения на опыте. Сегодняшние экспертные системы делаются буквально вручную, производительность разработанной системы не будет возрастать до следующего вмешательства программистов. Это заставляет серьезно усомниться в разумности таких систем. Очевидное решение этих проблем – заставить программы учиться самим на опыте, аналогах или примерах. Несмотря на эти ограничения, экспертные системы доказали свою ценность во многих важных областях. Хотя обучение является трудной областью, существуют и некоторые программы, которые опровергают опасения о ее неприступности. Одной из таких программ является АМ – Автоматизированный Математик, разработанный для открытия математических законов. Отталкиваясь от заложенных в него понятий и аксиом теории множеств, Математику удалось вывести из них такие важные математические концепции, как мощность множества, целочисленная арифметика и многие результаты теории чисел. АМ строил теоремы, модифицируя свою базу знаний, и использовал эвристические методы для поиска наилучших из множества возможных альтернативных теорем. Из недавних результатов можно отметить программу Коттона, которая изобретает интересные целочисленные последовательности. Из всего этого можно сделать предположение, что машины смогут обучаться. Вычислительные машины могут учиться улучшать свою работу путем ее анализа. Называть ли это мышлением – вопрос терминологический. Существует ли вероятность того, что машины смогут учиться больше, чем человек? Если такое и произойдет, то только лишь потому, что люди перестанут учиться. Человеку учиться легче, чем машине. Если же люди начнут поклоняться машине и оставлять ей все, то за возможные неприятности и негативные последствия нам нужно будет «благодарить» только самих себя. Обучающаяся машина – это такая машина, которая не просто, скажем, играет в какую-нибудь игру по твердым правилам, с неизменной стратегией, но периодически или непрерывно рассматривает результаты этой стратегии, дабы определить, нельзя ли изменить с пользой те или иные параметры, величины или стратегии. Успешность программ машинного обучения наводит на мысль о существовании универсальных принципов, открытие которых позволило бы конструировать программы, способные обучаться в реальных проблемных областях.
|