Учебное пособие (Интеллектулльные информационные технологии) (ТГУ). Учебное пособие (Интеллектулльные информационные технологии) (Т. Интеллектуальные информационные технологии
Скачать 3.62 Mb.
|
С применениемкомпьютера Без применениякомпьютера Формированиезнаний Приобретениезнаний Извлечениезнаний Рис. 5.1. Стратегии получения знаний 5.2. Основные аспекты извлечения знаний Процедура извлечения знаний включает психологический, лингвистический и гносеологический аспекты. Психологический является ведущим, поскольку определяет успешность и эффективность взаимодействия когнитолога с экспертом. Извлечение знаний происходит через общение, которое является процессом выработки новой информации, общей для общающихся людей и рождающей их общность. Можно выделить следующие структурные компоненты модели общения при извлечении знаний: участники общения (партнеры); средства общения (процедура); предмет общения (знания). В соответствии с этой структурой выделяются три слоя психологических проблем, возникающих при извлечении знаний: контактный, процедурный и когнитивный. Разработка проблематики контактного слоя позволила выявить параметры партнеров, влияющие на результаты извлечения знаний:
Параметры процедурного слоя описывают непосредственно процесс процедуры извлечения знаний и являются по сути профессиональными:
Наименее исследованы в настоящее время проблемы когнитивного слоя, связанные с изучением семантического пространства памяти эксперта и реконструкцией его понятийной структуры и модели рассуждений. Основными факторами, влияющими на когнитивную адекватность, являются:
В дальнейшем «общий код» преобразуется в некоторую семантическую сеть, которая является прообразом Pz предметной области;
Рис. 5.2. Структура «общего кода» Гносеология – это раздел философии, связанный с теорией познания, или теорией отражения действительности в сознании человека. Гносеологический аспект извлечения знаний объединяет методологические проблемы получения нового научного знания, поскольку при создании БЗ эксперт часто впервые формулирует некоторые закономерности из личного опыта. Инженерия знаний как наука дважды гносеологична – сначала действительность отражается в сознании эксперта, а затем опыт эксперта интерпретируется сознанием когнитолога в поле знаний, служащее основой построения ЭС. Гносеологическую цепочку можно представить в виде: факт обобщенный факт эмпирический закон теоретический закон. Основными методологическими критериями научности, позволяющими считать научным и само новое знание и способ его получения, являются:
Методологическая структура познания может быть представлена как последовательность этапов: описание и обобщение фактов; установление логических и математических связей, дедукция и индукция законов; построение идеализированной модели; объяснение и предсказание явлений. 5.3. Методы извлечения знаний По принципу источника знаний методы их извлечения делятся на коммуникативные и текстологические. Коммуникативные методы – это набор приемов и процедур, предпочитающих контакт когнитолога с непосредственным источником знаний – экспертом, а текстологические включают методы извлечения знаний из документов и специальной литературы. В свою очередь коммуникативные методы делятся на пассивные и активные. Пассивные методы извлечения знаний включают такие методы, где ведущая роль фактически передается эксперту, а когнитолог только фиксирует рассуждения эксперта во время работы по принятию решений. К этим методам относятся наблюдения, анализ протоколов «мыслей вслух» и лекции. В процессе наблюдений когнитолог находится рядом с экспертом во время его профессиональной деятельности и протоколирует все его действия. Эксперт максимально комментирует свои действия. Непременное условие этого метода – невмешательство когнитолога в работу эксперта. Наблюдения – один из распространенных методов извлечения знаний на начальных этапах разработки ЭС. Протоколирование «мыслей вслух» отличается от наблюдений тем, что эксперт не просто комментирует, но и объясняет цепочку рассуждений при решении конкретной задачи. Основной трудностью при протоколировании «мыслей вслух» является принципиальная сложность для любого человека объяснить, как он думает, поскольку люди не всегда в состоянии достоверно описать мыслительные процессы. Кроме того, часть знаний, хранящихся в невербальной форме, слабо коррелируют с их словесным описанием (например, различные процедурные знания типа «Как завязать галстук»). Обычно «мысли вслух» дополняются одним из активных методов для реализации обратной связи с экспертом. Лекция является самым старым способом передачи знаний. Использование лекции для извлечения знаний целесообразно, если эксперт обладает лекторским мастерством. В процессе лекции когнитолог может задавать уточняющие вопросы. Как и другие пассивные методы, лекции используются для извлечения знаний на начальных стадиях разработки ЭС. В активных методах извлечения знаний ведущая роль принадлежит когнитологу. Активные методы подразделяются на индивидуальные и групповые. Активные индивидуальные методы извлечения знаний в настоящее время являются наиболее распространенными и включают анкетирование, интервью, свободный диалог, игры с экспертом. Анкетирование – наиболее жесткий метод (стандартизированный). Когнитолог заранее составляет вопросник и осуществляет опрос нескольких экспертов. Существует несколько общих рекомендаций при составлении анкет:
Под интервью понимается специфическая форма общения когнитолога с экспертом, в которой когнитолог задает эксперту серию заранее подготовленных вопросов. В интервью когнитолог имеет возможность в зависимости от ситуации ряд вопросов опускать или вставлять новые вопросы, изменять темп, разнообразить ситуацию общения. По форме вопросы подразделяются на открытые (для ответа предоставляют полную свободу) и закрытые (предполагают фиксированные ответы), личные и безличные, прямые и косвенные, вербальные и с использованием наглядного материала. По функции – на основные, зондирующие и контрольные, по воздействию вопросы подразделяются на нейтральные и наводящие. Свободный диалог – это метод извлечения знаний в форме беседы когнитолога и эксперта. Диалог предполагает выбор правильного темпа и ритма беседы, поскольку при больших паузах эксперт отвлекается, а при высоком темпе быстро утомляются оба собеседника. Игра с экспертом предполагает, что эксперт и когнитолог в моделируемой ситуации берут на себя некоторые роли, например «учитель» и «ученик». В процессе игры эксперт поправляет ошибки «ученика». Существуют следующие советы когнитологу по проведению индивидуальных игр: играть смело, нешаблонно; не навязывать игру эксперту, если он не расположен; в игре «не давить на эксперта» и не забывать цели игры. К активным групповым методам извлечения знаний относятся «мозговой штурм», дискуссии за круглым столом и ролевые игры. «Мозговой штурм», или «мозговая атака» – один из наиболее распространенных методов раскрепощения и активизации творческого мышления. Основная идея «штурма» – это отделение процедуры генерирования идей в замкнутой группе экспертов от процесса анализа и оценки высказанных идей. Как правило, «штурм» длится не более 40 минут с числом участников до 10 человек. Экспертам предлагается высказывать любые идеи на заданную тему (критика запрещена). Оценивает результаты группа экспертов, не участвовавшая в «штурме». Метод круглого стола предусматривает обсуждение какой-либо проблемы из выбранной предметной области, в котором принимают участие с равными правами несколько экспертов. Задача дискуссии – коллективно, с разных точек зрения, под разными углами исследовать спорные гипотезы предметной области. По ходу дискуссии важно проследить, чтобы слишком эмоциональные и разговорчивые эксперты не подменили тему и чтобы критика позиций друг друга была обоснованной. Ролевые игры предусматривают участие в экспертной игре нескольких экспертов. Роль – комплекс образцов поведения. Когнитолог является режиссером и сценаристом, и ему предоставляется полная свобода в выборе формы проведения игры. Из трех основных типов деловых игр (учебных, планово-производственных и исследовательских) к экспертам ближе всего исследовательские, которые используются для анализа систем, проверки правил принятия решений. Группа текстологических методов объединяет методы извлечения знаний, основанные на изучении текстов. Задачу извлечения знаний из текстов можно сформулировать как задачу понимания и выделения смысла текста. Сам текст на естественном языке является лишь проводником смысла, а замысел и знания автора лежат во вторичной структуре (смысловой структуре, или макроструктуре текста), настраиваемой над естественным текстом. При этом можно выделить две смысловые структуры (рис. 5.3): М1 – смысл, который пытался заложить автор в текст, его модель мира; М2 – смысл, который постигает читатель, в данном случае когнитолог, в процессе интерпретации I (понимания) текста; Т – результат вербализации V смысла М1. Сложность процесса извлечения знаний из текста заключается в принципиальной невозможности совпадения знаний, образующих М1 и М2. Таким образом, два когнитолога извлекут из одного текста Т две различные модели. Рис. 5.3. Схема извлечения знаний из специальных текстов Сложность интерпретации научных и специальных текстов заключается еще и в том, что любой текст приобретает смысл только в контексте, под ним понимается окружение, в которое «погружен» текст. Методы извлечения знаний являются основой к структурированию знаний. Простейший прагматический подход к формированию Рz включает этапы:
Глава 6. Нейронные сети 6.1. Искусственный нейрон и функции активации Биологический нейрон содержит сому (тело нейрона), совокупность отростков – дендритов, по которым в нейрон поступают входные сигналы и отросток – аксон, передающий выходной сигнал нейрона другим нейронам. Точка соединения дендрита и аксона называется синапсом. Общее число нейронов в головном мозгу человека превышает 100 миллиардов, при этом один нейрон соединен более чем с 10 тысячами соседних нейронов. Время срабатывания нейрона составляет около одной миллисекунды, чуть меньше тратится на передачу сигнала между двумя нейронами. Таким образом, биологический нейрон – чрезвычайно медленный процессорный элемент, уступающий быстродействию современных компьютеров в миллионы раз. Тем не менее, в целом мозг способен за доли секунды решать задачи, которые не может решить и суперкомпьютер (например, узнать лицо человека, показанное в непривычном ракурсе). Искусственным нейроном называется простой элемент в виде следующей структуры (рис.6.1) [1]. Рис. 6.1. Искусственный нейрон: вектор входных переменных (дендритов); вектор синаптических весов; S – сома; y – выход (аксон) Сначала вычисляется взвешенная сумма V входных переменных (скалярное произведение): Затем полученная сумма (потенциал нейрона) сравнивается с заданной пороговой величиной W0. Если VW0, то нейрон «не срабатывает», в противном случае вычисляется функция активации (решающая функция) f . При этом . Величину порогового барьера можно рассматривать как еще один весовой коэффициент при постоянном входном сигнале. Функции активации могут быть различных видов: линейная, ступенчатая, линейная с насыщением, многопороговая. Наиболее распространенной является сигмоидная функция с выходными значениями в интервале (0,1): или в интервале (-1,1): . Коэффициент определяет крутизну сигмоида. Поскольку сигмоидная функция является гладким отображением , крутизну можно учесть через величины весов и порогов, и без ограничения общности можно полагать = 1. Чтобы учесть особенности конкретной задачи, могут быть выбраны различные другие функции активации – гауссова, синусоидальная, всплески и т.д. 6.2. Нейронные сети с прямой связью Нейронная сеть представляет собой совокупность большого числа нейронов, топология соединения которых зависит от типа сети. Нейронные сети с прямой связью состоят из статических нейронов, так что сигнал на выходе сети появляется в тот же момент, когда подаются сигналы на вход. Наиболее общий тип архитектуры сети получается в случае, когда все нейроны связаны друг с другом, но без обратных связей (рис. 6.2). xn Выходные переменные Нейроны выходного слоя y2 Нейроны скрытого слоя Входные переменные Рис. 6.2. Нейронная сеть с прямой связью и одним скрытым слоем Каждому нейрону соответствует свой вектор синаптических весов, множество которых образуют синаптическую матрицу . Связь с нейронами выходного слоя определяет синаптическая матрица , где m – число нейронов скрытого слоя, k – число нейронов выходного слоя. Число нейронов скрытого слоя неограниченно возрастает при увеличении точности решения задачи. На практике рекомендуется выбирать m = (n + k)/2. Согласно теоретическим результатам, нейронные сети с прямой связью и с сигмоидными функциями активации являются универсальным средством для аппроксимации различных функций. Любую многослойную сеть можно трансформировать в однослойную без потери информации путем пересчета синаптических матриц. Применение нейронных сетей целесообразно для решения задач моделирования, прогнозирования, распознавания образов, если:
Характер разработок в области нейронных сетей принципиально отличается от ЭС: последние построены на правилах типа «если …, то…», которые вырабатываются на основе формально-логических структур. В основе нейронных сетей лежит преимущественно-поведенческий подход к решаемой задаче: сеть «учится на примерах» и подстраивает свои параметры при помощи алгоритмов обучения через механизм обратной связи. Пример 6.1. Пусть n=2, m=2,k=2. Порог возбуждения отсутствует, . Задана структура сети (рис.6.3). Рис. 6.3. Структура нейронной сети с одним скрытым слоем, x1 = 1, x2 = - 1. Определить значения y1, y2. Решение Пример 6.2. Пусть задана нейронная сеть с двумя скрытыми слоями (рис. 6.4). Порог возбуждения отсутствует, . Рис. 6.4. Структура нейронной сети с двумя скрытыми слоями , , x1 = - 1, x2 = 1. Определить значения y1, y2, и преобразовать сеть в однослойную. Решение Для преобразования нейронной сети в однослойную необходимо переопределить семантическую матрицу, т.е. вычислить новую матрицу Wп. . Самым важным свойством нейронной сети является ее способность обучаться на примерах. Цель обучения состоит в настройке синаптических матриц. 6.3. Алгоритмы обучения нейронных сетей На этапе обучения происходит вычисление синаптических коэффициентов в процессе решения нейронной сетью конкретных задач. Контролируемое обучение нейронной сети можно рассматривать как решение оптимизационной задачи. Ее целью является минимизация функций ошибок (невязок) на данном множестве примеров путем выбора значений весов W. Известно два вида обучения: с учителем и без учителя. Обучение с учителем предполагает предъявление сети последовательности обучающих пар (Xi, Di), где Xi – обучающий пример, Di – эталон, который должен быть получен на выходе сети. Для каждого Xi вычисляется yi, который сравнивается с Di. Разница используется для корректировки синаптической матрицы. Обучение без учителя предполагает наличие только обучающих примеров Xi. Синаптическая матрица настраивается так, чтобы близким входным векторам соответствовали одинаковые результирующие векторы. Процесс обучения можно рассматривать как дискретный процесс, описываемый конечно-разностными уравнениями. Большинство методов обучения используют идею Хэбба, смысл которой заключается в повторении заучиваемого примера. Синаптический вес увеличивается если два нейрона – источник и приемник – активизированы. Наращивание веса определяется произведением уровней возбуждения двух нейронов, что можно записать так: , где – значения веса связи от i-го нейрона к j-му на предыдущей итерации обучения и текущей; – скорость обучения (); – выход нейрона i, являющийся входом для j-го нейрона на 0-й итерации; – выход нейрона j на 0-й итерации. Процесс обучения нейронной сети рассматривается как задача минимизации некоторой функции F(W) min, где W – синаптическая матрица сети. Для решения такой задачи могут использоваться различные методы нелинейного программирования: градиентный, квазиньютоновский случайный поиск и др. Общим для методов обучения сети является следующее: для некоторого начального состояния синаптической матрицы определяется направление уменьшения целевой функции F(W) и находится ее минимум в этом направлении. Для полученной точки опять вычисляется направление убывания функции и осуществляется одномерная оптимизация. В общем алгоритм можно представить как где величина шага на этапе 0; направление поиска на этапе 0. Наиболее развитым методом обучения является алгоритм обратного распространения. Каких-либо ограничений на количество слоев и топологию сети не накладывается. Единственное требование состоит в том, чтобы функция возбуждения была всюду дифференцируема. Как правило, используется сигмоидная (логистическая) функция. Алгоритм обратного распространения является методом обучения с учителем (рис. 6.5). Рис. 6.5. Схема обучения нейронной сети с учителем Алгоритм обратного распространения представляет собой развитие обобщенного дельта-правила и является алгоритмом градиентного спуска, минимизирующим суммарную квадратичную ошибку. Главная цель состоит в том, чтобы вычислить чувствительность ошибки сети к изменению весов. Пусть нейронная сеть соответствует схеме на рис. 6.2. Тогда алгоритм обучения можно описать [6]: 1. Задать синаптические матрицы W, W*. 2. Для каждой обучающей пары (Xi, Di) выполнить действия: подать на вход скрытого слоя очередной набор обучающих данных ; вычислить выход скрытого слоя : ; вычислить выход выходного слоя: . 3. Рассчитать ошибки для выходного и скрытого слоев: между полученными выходными величинами сети и эталонными величинами; для нейронов скрытого слоя. Повторять шаги 2 и 3 до тех пор, пока ошибки не станут приемлемыми. Пример 6.3. Пусть нейронная сеть соответствует схеме на рис. 6.2. При этом n=2, m=2,k=1 (рис. 6.6). Обучающее множество =(1;2), D=3. Необходимо обучить нейронную сеть складывать цифры 1 и 2. Все нейроны возбуждаются сигмоидной функцией. Заданы синаптические матрицы для скрытого слоя на первой итерации: и вектор для выходного слоя . Рис. 6.6. Нейросеть с одним скрытым слоемВычислим взвешенную сумму тогда . Взвешенный вход для выходного слоя В то же время желаемое значение y(1), преобразованное функцией возбуждения D = F(3) = 0,952. Поэтому среднеквадратическая ошибка (СКО): Значения фактического выхода и желаемого не совпадают, поэтому синаптические веса следует изменить. Для этого следует выяснить, каким образом повлияют эти изменения на величину ошибки. Анализ, согласно алгоритму обратного распространения, выполняют начиная с выходного слоя сети и продвигаясь к входу:
Полученная реакция скорости изменения ошибки при данном значении выхода отрицательная, что указывает на необходимость увеличения значения на выходе;
Значение EQ показывает, что скорость изменения ошибки в процессе изменения средневзвешенного входа выходного нейрона существенно ниже по сравнению со скоростью реакции сети на изменение ее выхода. Каким образом влияет на ошибку сети каждый из входов выходного слоя, можно узнать, если результат предыдущего шага умножить на уровень активности нейрона, из которого эта связь исходит:
Далее вычисляются поправочные коэффициенты EW для синаптической матрицы скрытого слоя и значения : . Второй прямой проход выполняется, чтобы определить, насколько рассматриваемая сеть близка к поставленной цели. В результате повторного просчета с синаптическими матрицами получим =0,564 и соответственно . За n итераций нейронная сеть будет обучена. В [13] приведены результаты решения задачи по выбору оптимального маршрута при перевозке крупногабаритных грузов на основе нейросетевых технологий. Для решения использован модуль Neural Analyser, входящий в состав пакета Deductor Professional [14]. Глава 7. Технология создания экономических советующих систем 7.1. Определение и виды информационных технологий Создаваемые ЭСС используются для информационной поддержки лиц, принимающих решение. Решения характеризуются свойствами: - имеют многошаговый характер; - управленческие процессы протекают в условиях несогласованности целей и интересов участников принятия решений. Большая часть решений направлена на урегулирование и разрешение внутрифирменных конфликтов; - процессы, протекающие вне фирмы, характеризуются случайными событиями; - экспертные знания профессионалов носят субъективный характер, что приводит к противоречиям при их интеграции в БЗ. ЭСС – это локальные системы, которые не требуют серьезных средств для своего создания, ибо обычно пользуются поддержкой уже действующей на предприятии информационной системы. Поэтому можно воспользоваться технологией, специально созданной для разработки ЭСС, ориентированной на программные оболочки. Рассмотрим основные понятия. Технология – связанная цепь процедур, а также система правил, регламентирующая их выполнение. Информационная технология – связанная согласно правилам цепь процедур, обеспечивающих информационное сопровождение процессов управления с помощью компьютера и средств коммуникаций. Существует три вида информационных технологий: - предметная; - обеспечивающая; - функциональная. Предметная технология – это последовательность процедур, выполняемых с целью обработки информации без привлечения компьютера. Обеспечивающая ИТ (ОИТ) представляет собой ПС, ориентированные на некоторый класс задач, но не снабженные конкретными технологическими правилами их решения (пустые программные оболочки). ОИТ можно представить как ОИТ = ОБ + ТС + П1, где ОБ – программная оболочка; ТС – технологические средства; П1 – правила и ограничения наполнения и использования ОБ. К ОИТ относятся: табличный и текстовый процессоры, гипертекстовые системы, экспертная система, СППР. ОИТ – это инструмент для пользователя. Функциональная ИТ (ФИТ) – это ОИТ, наполненная правилами из предметной технологии и данными из предметной области. ФИТ можно представить в виде ФИТ = ОБ + ТС + П1 + П2 + данные, где П2 – правила реализации ИТ. 7.2. Технология «Ресурс – Обучение – Цель» Технология «Ресурс–Обучение–Цель» (РОЦ-технология) представляет собой совокупность процедур, выполнение которых на систематической основе позволяет создать ЭСС, удовлетворяющие главному требованию – не только помочь в принятии решений, но и обеспечить воплощение этого решения в жизнь [6]. Процедуры РОЦ–технологии ориентируются на представление целей лица, принимающего решение, в виде дерева решений. Пример 7.1. Построить дерево целей для решения задачи обеспечения высокого уровня стабильности предприятия (рис. 7.1). Рис. 7.1. Дерево целейРасщифровка вершин графа дерева целей приведена в табл. 1 Процедуры РОЦ-технологии можно разделить на три уровня:
Таблица 1
Выбор цели является исходной точкой в процессе принятия решений. Ее знание позволяет приступить к процедурам подготовки информации и поиска альтернатив. Для этого следует выполнить этапы:
РОЦ-технология содержит четыре комплекса проектных процедур:
7.3. Определение коэффициента важности целей При построении ЭСС используется БЗ в виде дерева целей, снабженная коэффициентами относительной важности и направлениями изменений каждой из вершин дерева. Числовая характеристика важности целей измеряется в шкале 0 1 и называется коэффициентом важности целей (КОВ) – относительный вес целей. Для измерения КОВ используются методы непосредственной оценки и последовательного парного сравнения. Пусть имеется n целей и выполнено их парное сравнение. Определим матрицу z, размерность которой z: dim z=n·m: т.е. указывает на предпочтительность цели (не меньшую важность) по сравнению с другой. Тогда . (7.1) Пример 7.2. Пусть n=4: А1 – обеспечить повышение производительности труда, А2 – увеличить коэффициент сменности оборудования, А3 – увеличить обратную величину к стоимости установленного оборудования, А4 – обеспечить повышение удельного веса машин и оборудования в стоимости основных производственных фондов. Задана матрица Z Тогда в соответствии с (7.1) получим КОВ1=4; КОВ2=0,3; КОВ3=0,2; КОВ4 = 0,1. Глава 8. Программный инструментарий разработки систем, основанных на знаниях 8.1. Цели и принципы технологии разработки программных средств Технология – это наука о мастерстве (технос – мастерство, логос – слово, наука). Под технологией программирования понимается совокупность знаний о способах и средствах достижения целей в области ПО. Изменения являются постоянным фактором разработки ПО. Для того чтобы преодолеть их разрушающий эффект, в качестве целей технологии разработки ПО принимаются следующие свойства ПС:
По мере выполнения работ необходимо придерживаться определенного набора принципов, которые обеспечивают достижение поставленных целей:
Абстракция и модульность считаются наиболее важными принципами, используемыми для управления сложностью систем ПО. Но они не являются достаточными, потому что не гарантируют получения согласованных и правильных систем. Для обеспечения этих свойств необходимо привлекать принципы единообразия, полноты и подтверждаемости. 8.2. Технология и инструментарий разработки программных средств Подсистема разработки и реализации Спецификация, тесты Подсистема управления документиро-вания Рис. 8.1. Общая структура типовой технологической системы поддержки разработки ПС Новой ветвью в технологии разработки ПО является CASE-технология (Computer Aided Software Engineering). Первоначально CASE-технология появилась в проектах создания систем обработки данных. Все средства поддержки CASE-технологии делятся на две группы: CASE-Tool Kits и CASE-Work Benches. Русских эквивалентов нет, но первую группу называют «инструментальные сундучки» (технологические пакеты), а вторую «станки для производства программ» (технологические линии) (рис.8.2). Р CASE-средства Анализ и проектирование Генерация года Сопровождение Обработка экранных форм Моделирование проектных решений Прототипирова-ние Обнаружение ошибок Программирова-ние Тестирование Документирова-ние Выполнение Документаторы Анализаторы программы Реструкториза-торы Подсистемы перепроектирования перепроекти-рования ис. 8.2. Типовая система поддержки CASE-технологии Стиль программирования в ИИ-системах существенно отличается от стиля программирования с использованием обычных алгоритмических языков [9]. В табл. 2 приведены соответствующие сравнительные характеристики. |