Учебник_Информатика. Стандарт третьего поколениян. В. Макарова, В. Б. Волков
Скачать 14.49 Mb.
|
Пример. При распознавании изображений оператор (человек или электронное устройство) сообщает нейронной сети, правильно или нет она распознала изо бражение. □ Обучение без учителя — класс искусственных нейронных сетей, для которого диапазон выходных значений не задан и обучение сети проводится только на основании закономерностей, обнаруженных во входных сигналах. 94 Глава 3. Теоретические основы управления знаниями Рис. 3.9. Классификация нейронных сетей □ Многослойный перцептрон — искусственная нейронная сеть, состоящая из О входного слоя нейронов, на которые поступают входные сигналы; О выходного слоя нейронов, передающего выходные сигналы на интерфейс пользователя; О скрытых слоев нейронов, расположенных между входным и выходным слоями; О механизма (или алгоритма) обратного распространения, обеспечивающего при наступлении ошибки (несовпадении выходного сигнала с шаблоном) последовательную корректировку всех весовых коэффициентов связей, на чиная с ближнего к выходному скрытого слоя и заканчивая входным слоем, с целью устранения этой ошибки. □ Сеть с радиально-базисной функцией — искусственная нейронная сеть, имею щая, кроме входного и выходного, один скрытый слой и использующая в ка честве активационной функции нейронов скрытого слоя радиально-базисную функцию (Р Б Ф ), которая в общем виде выглядит так: □ Байесовская сеть — искусственная нейронная сеть, использующая в качестве математической модели сеть Байеса, связывающую между собой множество переменных (весовых коэффициентов) и их вероятностных зависимостей (ак тивационных функций). 3.4. Системы, основанные на знаниях 95 □ Самоорганизующиеся карты Кохонена — искусственные нейронные сети, осу ществляющие последовательное (по мере обучения) группирование сходных данных в плоской системе координат таким образом, что к завершению обуче ния узлы, содержащие сходные данные, располагаются геометрически в непо средственной близости друг от друга. Данный подход позволяет эффективно выделить главные данные, подавив случайные шумы и ошибки. □ Сети на основе адаптивной теории резонанса (ART-сети) были созданы специ ально для решения задач классификации. В них заложено сразу два дихотоми чески противоположных принципа: во-первых, сеть должна самомодифициро- ваться в ответ на каждый входной сигнал; во-вторых, сеть должна сохранять знания, а значит, быть стабильной. Решение заключается в нахождении точки равновесия между требованиями пластичности и стабильности сети. К достоинствам искусственных нейронных сетей можно отнести: □ возможность решения задач, которые не решаются никакими другими методами; □ самообучение; □ получение результатов в режиме реального времени; □ «креативность»; □ создание новых знаний внутри сети в процессе переработки входных данных. Недостатки искусственных нейронных сетей: □ сравнительная дороговизна аппаратной реализации; □ трудность тиражирования накопленных знаний; □ для больших сетей невозможность заранее даже приблизительно оценить время обучения сети. Искусственные нейронные сети хорошо подходят для решения задач: □ с большими массивами входных данных; □ с неизвестным алгоритмом, но большим количеством конкретных примеров решения; □ с большим количеством шумов; □ с недостаточностью или, наоборот, избыточностью данных. Искусственные нейронные сети могут эффективно решать задачи распозна вания изображений, классификации, оптимизации или прогнозирования. Более конкретно такими задачами являются: □ распознавание лиц, голосов, отпечатков пальцев; □ анализ рентгенограмм; □ обнаружение отклонений в ЭКГ; □ обработка звуковых сигналов (разделение, идентификация, локализация, устра нение шума, интерпретация); □ обработка радарных сигналов (распознавание целей, идентификация и лока лизация источников); 96 Глава 3. Теоретические основы управления знаниями □ проверка достоверности подписей; □ оценка риска займов; □ прогнозирование изменений экономических показателей и т. п. 3.4.3. Системы, основанные на прецедентах Когда речь идет о системах, основанных на прецедентах, имеется в виду на копленный ранее опыт решения проблем, сходных с возникшей. В базе знаний системы хранятся не правила, а прецеденты. Прецедент состоит из двух важных составляющих: □ хорошо сформулированного описания проблемы (или набора проблем); □ описания решения этой проблемы. Таким образом, система, основанная на прецедентах, наиболее полно соответ ствует понятию знаний организации. Она накапливает знания о методах, способах и путях решения часто встречающихся проблем и решения стандартных задач. Обобщенная схема работы системы, основанной на прецедентах, показана на рис. 3.10. Рис. 3.10. Схема работы системы, основанной на прецедентах Алгоритм работы предложенной схемы следующий: 1. На первом этапе возникает проблемная ситуация (техническая или производ ственная задача, требующая решения). 2. Заполняется диагностическая форма, то есть происходит описание ситуации по формальным признакам. 3.4. Системы, основанные на знаниях 97 3. По набору формальных признаков производится поиск схожей или идентичной ситуации в базе знаний: О если идентичная ситуация найдена, то алгоритм ее решения предлагается в качестве решения текущей проблемы; О если найдена ситуация, отклоняю щ аяся по формальным признакам от идентичной ниже порогового уровня (который вычисляется как сумма фор мальных признаков, помноженная на весовые коэффициенты признаков), то исследуется возможность адаптации прецедента из базы знаний к текущему прецеденту с использованием правил базы знаний; О если схожая ситуация не найдена или адаптация невозможна, к решению проблемы подключается эксперт в предметной области, после чего решение проблемы формализуется и новый прецедент вносится в базу знаний; О если в процессе поиска находится несколько соответствий описанию входной ситуации, необходимо уточнить набор входных параметров, чтобы выявить наиболее подходящий прецедент. В качестве достоинств систем, основанных на прецедентах, можно отметить: □ сокращение трудоемкости приобретения новых знаний, поскольку описывать прецеденты проще, чем программировать правила; □ обучение системы происходит на основе добавления новых прецедентов, а не изменения или добавления новых правил. Недостатки систем, основанных на прецедентах: □ необходимость строго отслеживать правильность оформления прецедентов, в противном случае может произойти «засорение» базы знаний; □ необходимость разработки методов поиска, однозначно идентифицирующих подходящие прецеденты. Наиболее часто системы, основанные на прецедентах, используются в тех об ластях, для которых характерны повторяющиеся проблемные ситуации: □ службы технической поддержки, сервисные подразделения; □ диагностика в медицинских учреждениях; □ организация юридической помощи (особенно в странах, где действует преце дентное законодательство); □ контрольные органы; □ системы обеспечения качества и т. д. В общем случае рекомендуется применять системы, основанные на прецедентах, когда □ трудно произвести детальную декомпозицию ситуации с целью выработать правила ее решения, то есть тогда, когда не может быть применена экспертная система, основанная на правилах; □ трудно понять и описать суть возникающих проблем, но легко накопить при меры их разрешения. 98 Глава 3. Теоретические основы управления знаниями 3.4.4. Системы, построенные на генетических алгоритмах Под алгоритмом обычно понимают более или менее сложную последовательность действий, которые необходимо выполнить для решения текущей проблемы или за дачи. При этом подразумевается, что данная последовательность является статиче ской, то есть формируется до начала решения задачи и остается неизменной в ходе ре шения. Статичность алгоритма накладывает ограничения на поиски путей решения. Генетический алгоритм — это одна из моделей машинного самообучения, осно ванная на абстрагировании моделей биологической эволюции. Так же как и в биологической эволюции, для применения генетического алго ритма внутри компьютера программным путем создаются популяции особей, пред ставленные хромосомами. При реализации генетического алгоритма в процессе используются следующие составляющие: □ генетическое представление потенциального решения проблемы; □ способ создания начальной популяции потенциального решения; □ эволюционная функция, которая играет роль среды обитания, сортируя реше ния согласно их адекватности; □ генетические операторы, которые изменяют сочетания генов потомства; □ значения различных параметров, которые использует генетический алгоритм. Эволюция решений при использовании генетического алгоритма базируется на трех основных процессах: □ Воспроизведение. На базе родительских шаблонов создается новое поколение кода, которое имеет более высокий адаптационный рейтинг, то есть в большей мере соответствует решению проблемы. □ Скрещивание. Строки кода в случайном порядке разбиваются пополам и соз даются новые строки путем обмена половинками старых строк. Этот процесс имитирует биологический процесс, происходящий при создании хромосом по томства из хромосом родителей. □ Мутация. В случайном порядке изменяется один символ (одна цифра) в ис ходной строке без воспроизведения или перекрещивания. Процесс применения генетического алгоритма является циклическим и выпол няется до тех пор, пока не находится приемлемое решение проблемы: 1. Вычисляется уровень адаптации всех членов популяции. 2. Над каждым членом популяции выполняются операции воспроизведения, ге нерации и мутации. 3. Старая популяция уничтожается. Генетические алгоритмы применяют для решения сложных задач с большим количеством данных и параметров, которым должно соответствовать решение: □ составление расписаний; □ решение логистических задач; □ создание сложных многослойных топологий (например, проектирование топо логии микросхем) и т. д. 3.4. Системы, основанные на знаниях 99 3.4.5. Интеллектуальные агенты Существует множество рутинных процессов, не поддающихся строгой алгорит мизации. При достаточно точной формулировке конечной цели или задачи процесс ее решения может потребовать от исполнителя определенной гибкости и адаптивно сти. Речь идет о таких процессах, как длительный поиск в больших массивах инфор мации, расположенных в динамически изменяющейся системе (например, в Интер нете), уборка квартиры или очистка участка улицы от снега, то есть работа, которую приходится выполнять человеку, но которую желательно перепоручить автомату. Для выполнения такого рода работ были созданы интеллектуальные агенты. Для того чтобы классифицироваться как интеллектуальный агент, сущность должна обладать следующей функциональностью: □ воспринимать свое окружение; □ понимать конечную цель или назначение; □ взаимодействовать с окружением; □ реагировать на изменения в окружении; □ проявлять признаки интеллекта, то есть уметь принимать решение и, возможно, обучаться на основе приобретенного опыта; □ принимать автономные решения, то есть, обладая знанием конечной цели или предназначения, самостоятельно решать, какие действия нужно выполнить для достижения цели. Общая архитектура интеллектуального агента представлена на рис. 3.11. Рис. 3.11 . Общая архитектура интеллектуального агента Интеллектуальные агенты все чаще применяются в самых разных областях деятельности: в поисковых и промышленных роботах, в беспилотных летательных аппаратах, в исследовательских роботах, работающих на дне океана, и т. д. 100 Глава 3. Теоретические основы управления знаниями 3.4.6. Системы добычи данных Базы данных в их классическом понимании, а также большие хранилища данных вне баз данных (например, лог-файлы крупных веб-серверов) могут быть источником информации, которая в явном виде в них не отображена. Например, анализируя лог-файлы популярного образовательного интернет-портала, можно сделать вывод об успешности информатизации школ в том или ином регионе страны. Под добычей данных (выявлением знаний) понимают автоматическое извлечение скрытых (присутствующих в неявной форме) данных из наборов данных. Добычей данных занимаются специализированные системы. Скрытые данные, добываемые при помощи инструментов добычи данных, могут служить основой для создания баз знаний экспертных систем различного типа. Сами инструменты добычи данных, в свою очередь, зачастую являются инструментами, основанными на знаниях. В за висимости от выбранной модели добычи данных, в качестве инструментов анализа и выявления скрытых данных (знаний) могут быть использованы: □ искусственные нейронные сети; □ деревья решений; □ генетические алгоритмы; □ индукционные алгоритмы. Источниками данных для выявления знаний могут служить любые массивы накопленных данных, например: □ медицинские и анкетные данные от государственной переписи населения до базы данных персонала и клиентов крупной фирмы; □ сохраненные данные видео- и фотонаблюдения; □ данные спутниковой съемки; □ данные на цифровых носителях; □ текстовые отчеты и записки; □ данные Всемирной паутины (несмотря на свою неструктурированную и ге терогенную природу, Интернет сосредотачивает в себе самый большой объем данных, который когда-либо существовал). Для выявления знаний используют два основных типа моделей: □ описательная модель выявляет и описывает общие свойства и закономерности в существующих данных; □ прогнозирующая модель пытается предсказать тенденции в той или иной об ласти, основываясь на добытых знаниях. Функциональность систем добычи данных может включать в себя следующие компоненты: □ Информационные характеристики объединяют в себе общие особенности объ ектов какого-либо класса. □ Дифференцирование данных. Продуктом дифференцирования данных является набор правил, описывающих разницу основных особенностей объектов целевого 3.5. Инженерия знаний 101 и контрастного классов. Например, чтобы лучше организовывать рекламные компании, полезно увидеть, чем отличаются клиенты, арендующие большие площади, от клиентов, арендующих малые площади. □ Анализ связности данных служит для извлечения сведений о данных, которые часто встречаются вместе. □ Классификационный анализ обеспечивает разделение данных на классы по не которым заранее известным характеристикам. Для этого обычно применяется нейронная сеть с учителем, когда в качестве выходного шаблона задаются тре буемые характеристики класса. □ Предсказание данных. На базе шаблонов, уже имеющихся в наборе данных, можно предсказать вероятность появления данных. Это может пригодиться для предсказания поведения потребителей на основе их прошлого поведения. □ Кластеризация обеспечивает разделение данных на классы с заранее неизвест ными параметрами, характеристики которых извлекаются из самих данных. При кластеризации основания для классификации ищутся в самих данных. Для кластеризации применяются нейронные сети без учителя, такие как само организующиеся карты Кохонена. □ Анализ выбросов позволяет отбирать данные, которые не подпадают ни иод один шаблон или класс. Иногда эти данные являются шумом, но иногда могут пред ставлять собой важные знания. □ Эволюционный анализ служит для моделирования изменения наборов данных во времени. □ Анализ отклонений позволяет сравнить эталонные и реальные значения данных и выявить причины, по которым данные отклоняются от эталона. Системы добычи данных можно классифицировать по □ типу источника данных (распределенные данные, временные ряды, данные мультимедиа, текстовые источники); □ используемой модели данных (реляционные данные, объектно-ориентирован ные базы данных, хранилища данных); □ способу добычи данных (дифференциация, классификация, кластеризация, и т. д.); □ технологии реализации (нейронные сети, генетические алгоритмы, статисти ческие методы, и т. д.). 3.5. Инженерия знаний Хотя термины «инженерия знаний» и «управление знаниями» часто используют как взаимозаменяемые, на самом деле необходимо провести демаркационную ли нию между двумя этими понятиями. Управление знаниями в большей мере связано с функцией руководства, администрирования и контроля. Менеджер знаний чаще 102 Глава 3. Теоретические основы управления знаниями всего является управляющим информационного подразделения в организации, отвечая за определение потребности организации в знаниях. Основной вопрос, на который отвечает менеджмент знаний: «зачем?». В менеджмент знаний входят следующие функции: □ определение потребности организации в знаниях; □ определение роли знаний в структуре управления работой организации; □ определение типа и объема знаний, необходимых различным подразделениям организации; □ выявление приоритетов важности знаний и времени, когда они необходимы. В отличие от менеджмента, инженерия знаний подразумевает ответ на вопрос «как?». Инженер по знаниям обеспечивает технологию решения задач и обеспечения потребностей, которые формулирует менеджер по знаниям. Инженерия знаний выполняет следующие функции: □ обеспечивает технологический процесс сбора и хранения знаний; □ разрабатывает методологии и технологии извлечения знаний из хранилищ; □ отвечает за форму представления знаний конечному пользователю; □ поддерживает сбор, хранение, модификацию и целостность знаний. Таким образом, если менеджер по знаниям может быть своего рода инфор мационным управляющим, не имеющим прямого отношения к компьютерным технологиям, то инженер по знаниям обязательно должен быть компьютерным специалистом, способным решать сложные задачи разработки и сопровождения информационных систем и информационных технологий самого широкого спектра. Одновременно инженер по знаниям должен обладать глубокими знаниями психо логии общения и развитыми социальными навыками, позволяющими обеспечить получение знаний от экспертов. 3.5.1. Получение знаний Получение (извлечение, добыча, выявление, приобретение) знаний является главным процессом в инженерии знаний. Без этого процесса все остальные техно логии становятся малоприменимыми. Поскольку экспертная система или любая другая система, основанная на зна ниях, должна содержать в себе в первую очередь знания экспертов-людей той или иной предметной области, процесс получения знаний в первую очередь предпола гает вовлечение экспертов в диалог с инженером по знаниям. Хотя эксперты обычно с удовольствием говорят на темы, непосредственно затрагивающие близ кую им предметную область, это не значит, что процесс получения знаний является легким. 3.5. Инженерия знаний 103 Кроме получения знаний от экспертов, знания можно получать из других источников: технической литературы или литературы по предметной области, анкетных опросов, документации аналогичных систем, основанных на знаниях. Однако стержнем системы, основанной на знаниях, являются знания экспертов, связанных с конкретной задачей в конкретной организации. Для получения знаний от экспертов широко используются различные способы собеседования (интервью). Выделяют четыре главных типа интервью: □ Неструктурированное интервью. Такого рода интервью представляет собой собеседование без четкого плана. В этом случае инженер получает базовые представления о предметной области. Задача инженера в процессе проведения интервью — мягко, но настойчиво возвращать эксперта к обсуждению пред метной области. □ Структурированное интервью. Этот тип интервью имеет четкий план и струк туру и используется для получения подробных сведений о предметной области. Поскольку структурированные интервью обычно проводятся после нескольких неструктурированных, инженер по знаниям обычно уже ориентируется в пред метной области. К этому интервью у него подготовлен список вопросов, на кото рые он хочет получить ответы. В основном интервью сосредотачивается на том, почему были предприняты те или иные действия, для того чтобы понять, как экс перт принимает решение. Структурированное интервью проходит в три этапа: 1) инженер по знаниям излагает предстоящие темы и согласовывает их с экс пертом. Задача этого этапа — мотивировать эксперта; 2) инженер по знаниям задает эксперту вопросы, эксперт отвечает; 3) инженер по знаниям еще раз проверяет, правильно ли он понял ответы, все ли вопросы были заданы, на все ли вопросы были получены правильные ответы. После чего он излагает свои выводы эксперту и добивается его одобрения. □ Случай из прошлого. В этом интервью инженер по знаниям просит эксперта вспомнить конкретный случай из прошлой практики, когда эксперт применял свои навыки в предметной области. Берется локальная ситуация, возможно, небольшая по масштабам, и разбирается очень подробно. Этот тип интервью направлен в первую очередь на то, чтобы понять, как именно происходит мысли тельный процесс у эксперта, на основании каких неявных мыслей принимается решение, и требует особых психологических навыков от инженера по знаниям. Цель интервью — постараться перевести в эксплицитные как можно больше тацитных (неявных) знаний эксперта. □ Мысли вслух. В этом типе интервью так же, как и в случае из прошлого, раз бирается конкретная ситуация (из реальной жизни или смоделированная), но эксперта просят все рассуждения делать явным образом, вслух. Цель интервью такая же, как и в предыдущем — выявление неявных знаний. Кроме четырех базовых типов интервью в работе инженера по знаниям могут применяться и другие типы бесед с экспертами. □ Учебное интервью. Эксперта просят подготовить презентацию для инженера по знаниям, чтобы ознакомить его со специфической областью. 104 Глава 3. Теоретические основы управления знаниями □ Двадцать вопросов. Инженер по знаниям подготавливает опросный лист из во просов, на которые надо ответить только «да» или «нет». □ Пусковое интервью. Инженер по знаниям готовит материал, который может резко повысить активность эксперта. Такая подготовка делается на основе предыдущих бесед (например, отмечается, что эксперт был очень эмоционален в обсуждении какого-то вопроса). Этот материал включается в интервью и все внимание сосредоточивается на нем. □ Интервью обратного обучения. Инженер по знаниям делает попытку обучить эксперта в обсуждаемой предметной области. Эксперт обеспечивает обратную связь. □ Репертуарная решетка. Объекты в предметной области помещаются в заголов ки столбцов, характеристики объектов — в названия строк, затем на пересече нии строк и столбцов ставятся крестики (методология работы с репертуарной решеткой достаточно объемна и в данной книге не приводится). Есть несколько советов, которые могут помочь в ходе проведения интервью. Во-первых, избегайте двусмысленности. Всякого рода сравнения типа «более быстрый», «лучше», «больше» требуют уточнения: больше чего? лучше по срав нению с чем? Во-вторых, надо принимать во внимание, что эксперт в своих рассуждениях часто опускает ключевые части процесса. Для того чтобы инженер по знаниям по нял его рассуждения, эксперт часто опускает ключевые, но сложные для понимания технические детали. В-третьих, то, что эксперт считает интуицией, часто является частью прошлого опыта, который может быть переведен в явную форму. Однако эксперт может на стаивать на том, что он просто «почувствовал», что именно такое решение будет правильным. Вопросы, которые полезно задавать в процессе интервью: 1. Можете ли вы дать мне краткий обзор выбранной темы? 2. Можете описать последний случай, с которым вы столкнулись на практике? 3. Какие факты или гипотезы приходят вам в голову, когда вы думаете о проблеме? 4. Какие вещи вы предпочитаете узнать перед тем, как начать размышлять о про блеме? 5. Расскажите, как именно вы к этому пришли? 6. И что вы делаете затем? 7. Как это связано с ...? 8. Как (почему, когда, зачем) вы делаете это? 9. Вы можете описать другими словами, что вы подразумеваете п о д ...? В завершение интервью крайне важно сделать краткий обзор полученной ин формации и оповестить эксперта о возможности или необходимости дальнейших интервью. 3.5. Инженерия знаний 105 3.5.2. Жизненный цикл и методология При проектировании и разработке систем, основанных на знаниях, стандартную методологию разработки информационных систем трудно применить в полном объеме. Специфика систем, основанных на знаниях, требует применения особых подходов и инструментов. В стандартной методологии жизненный цикл разработки информационных систем обычно составляет 6 этапов, объединенных в процессе разработки моделями водопада или спирали: 1. Анализ (сбор требований). 2. Дизайн (моделирование). 3. Реализация (программирование). 4. Тестирование (испытание). 5. Развертывание (установка). 6. Поддержка (обслуживание). При попытке применить эту методологию к созданию систем, основанных на знаниях, инженер по знаниям может столкнуться со следующими трудностями: □ Проблемы спецификации требований. На этапе сбора требований еще не суще ствует точной информации о том, какие знания будут содержаться в системе и как именно они будут обрабатываться. Поскольку модель водопада полностью построена на подробной спецификации требований при анализе, ее реализация оказывается невозможной. □ Проблемы макетирования. Циклический процесс разработки, который начи нается с создания макета и заканчивается разработкой полноценной системы, казалось бы, больше соответствует системам, основанным на знаниях. Однако этот процесс также затруднен: требования к выходным знаниям, к процессу принятия решений, расплывчатые на начальных этапах, должны конкретизи роваться от цикла к циклу. Но по мере выявления неявных знаний у экспертов эти требования обычно претерпевают разительные изменения. По этой причине зачастую каждый цикл представляет собой не доработку существующего макета, а создание нового, при этом количество циклов и сроки выполнения работ не возможно предсказать даже приблизительно. Такого рода затруднения требуют применения новых подходов и новых мето дологий проектирования при создании систем, основанных на знаниях. Архитектура общего планшета подразумевает разделение одной большой системы, основанной на знаниях, на ряд связанных подсистем и спецификацию однотипного интерфейса между ними. Таким образом, сложная задача создания большой системы разбивается на ряд подзадач, объем работ и время выполнения которых можно с достаточной степенью достоверности оценить. Название архитектуры произошло от способа проектирования, когда несколько человек усаживаются за один планшет (или доску) и совместно рисуют на ней. При этом каждый хорошо видит часть работы, которую выполняют другие. 106 Глава 3. Теоретические основы управления знаниями Архитектура планшета подходит не для всех проектов. Для того чтобы проект можно было разрабатывать, используя эту архитектуру, он должен допускать воз можность декомпозиции на ряд связанных, но в достаточной мере изолированных подзадач. |