Введение в теорию искусственного интеллекта. учебное пособие. Сысоев Д.В., Курипта О.В
.pdfМинистерство образования и науки РФ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Воронежский государственный архитектурно-строительный университет»
Д.В. Сысоев, О.В. Курипта, Д.К. Проскурин
ВВЕДЕНИЕ В ТЕОРИЮ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА
Учебное пособие
Допущено Учебно-методическим объединением по образованию в области прикладной информатики в качестве учебного пособия для студентов высших учебных заведений, обучающихся
по направлению «Прикладная информатика»
Воронеж 2014
УДК 004.8 ББК 32.813 С 956
Рецензенты:
кафедра вычислительной техники и информационных систем Воронежской государственной лесотехнической академии; Т.Н. Князева, д-р техн. наук, проф.
Воронежской государственной медицинской академии
Сысоев, Д.В.
С956 Введение в теорию искусственного интеллекта: учеб. пособие /
Д.В. Сысоев, О.В. Курипта, Д.К. Проскурин; Воронежский ГАСУ. – Воронеж, 2014. – 171 с.
ISBN 978-5-89040-498-5
Рассматриваются современные подходы к моделированию нейронных сетей, применению нечеткой логики для решения задач прогнозирования, классификации, аппроксимации.
Учебное пособие предназначено для студентов по специальности 230700 - «Прикладная информатика», а также для научных работников, аспирантов, работающих в области моделирования искусственного интеллекта.
Табл. 16. Рис. 109. Библиогр.: 85 назв.
УДК 004.8 ББК 31.813
ISBN 978-5-89040-498-5
© Сысоев Д.В., Курипта О.В., Проскурин Д.К., 2014.
© Воронежский ГАСУ, 2014
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ …………………………………………………………………... 5
1.КЛАССИФИКАЦИЯ ИНФОРМАЦИОННЫХ ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ …………………………………… 6
2.ВВЕДЕНИЕ В ТЕОРИЮ НЕЙРОННЫХ СЕТЕЙ …………………....... 15
2.1.Основные положения теории искусственных нейронных сетей . 16
2.2.Классификация нейронных сетей и их свойства ………………... 20
2.3.Теорема Колмогорова-Арнольда - Хехт-Нильсена ……………... 25
2.4.Обучение нейронных сетей ………………………………………. 28
2.5. Типы нейронных сетей …………………………………………… |
31 |
2.5.1. Персептрон Розенблата ………………………………………. |
31 |
2.5.2. Рекуррентные нейронные сети. Сети Джордана и Элмана … |
41 |
2.5.3. Рекуррентные нейронные сети. Сети Хопфилда и Хэмминга |
44 |
2.5.4. Двунаправленная ассоциативная память ……………………. |
51 |
2.5.5. Нейронная сеть Кохонена. Нейроны Гроссберга …………… |
53 |
2.5.6.Двухслойная сеть встречного распространения …………….. 57
2.5.7.Сети с радиальными базисными функциями (RBFN)……….. 58
2.5.8.Структура и назначение когнитрона, неокогнитрона и свѐрточных нейронных сетей ………………………………… 63
3.ВВЕДЕНИЕ В ТЕОРИЮ НЕЧЕТКОЙ ЛОГИКИ ……………………… 74
3.1.Нечѐткие знания и нечѐткая информация ……………………….. 74
3.2.Основы теории нечѐтких множеств ……………………………… 75
3.3.Операции над нечеткими множествами …………………………. 80
3.4.Нечѐткие и лингвистические переменные ………………………. 84
3.5.Нечѐткие отношения ……………………………………………… 88
3.6.Нечѐткий логический вывод ……………………………………… 91
3.7.Эффективность нечѐтких систем принятия решений …………... 101
4.ЛАБОРАТОРНЫЙ ПРАКТИКУМ ……………………………………… 104 Лабораторная работа № 1. «Аппроксимация функции одной переменной» ……………………………………………………………… 105 Лабораторная работа № 2. «Аппроксимация функции двух
переменных» ……………………………………………………………... 110
3
Лабораторная работа № 3. «Сеть Кохонена, самоорганизующаяся |
|
|
нейронная сеть» ………………………………………………………….. |
114 |
|
Лабораторная работа № 4. «Сеть Хопфилда» ………………………….. |
119 |
|
Лабораторная работа № 5. |
«Формирование нечетких множеств и |
|
проведение операций с ними» …………………………………………... |
123 |
|
Лабораторная работа № 6. |
«Моделирование нечеткой системы |
|
инструментами нечеткой логики» ………………………………………. |
132 |
|
Лабораторная работа № 7. |
«Исследование алгоритма нечеткой |
|
кластеризации» …………………………………………………………… 141 Лабораторная работа № 8. «Алгоритм нечеткой кластеризации
Mamdani» …………………………………………………………............. 146 ЗАКЛЮЧЕНИЕ ………………………………………………………………. 158 БИБЛИОГРАФИЧЕСКИЙ СПИСОК …………...…………………………. 159 ПРИЛОЖЕНИЕ ………………………………………………………………. 164
4
ВВЕДЕНИЕ
Данное учебное пособие предназначено для студентов специальности 230700 – «Прикладная информатика» в рамках учебного плана. В пособии представлены теоретические основы построения, обучения и применения нейронных технологий, построения систем искусственного интеллекта на основе нечеткой логики, а также практические работы в виде лабораторных занятий.
Лабораторные работы включают теоретические сведения и пошаговое описание практической части лабораторного задания. Практическая часть лабораторного занятия выполняется в редакторе MatLAB2009.
Выполненная работа сохраняется на винчестере в виде файла для последующей защиты. Защита работы - это предоставление оформленного отчета и электронной версии выполненной работы.
В каждой лабораторной работе сформулирована ее цель, представлена методика выполнения, даны сведения об оформлении отчета для защиты лабораторной работы, а в приложении даны варианты контрольных заданий. Используемый в учебном пособии теоретический материал заимствован из литературы, библиографический список которого представлен в конце пособия.
Цель данного учебного пособия - овладеть основными навыками работы в редакторе MatLAB2009 применительно к моделированию нейронных сетей, к моделированию элементов нечеткой логики при построении систем искусственного интеллекта, выполнить приведенные практические работы и защитить результат их выполнения.
5
1. КЛАССИФИКАЦИЯ ИНФОРМАЦИОННЫХ ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ
В течение тысяч лет человек пытается понять, как он думает. В области искусственного интеллекта специалисты пытаются не только понять природу интеллекта, но и создать интеллектуальные сущности.
Искусственный интеллект (ИИ) – это одна из новейших областей науки. Первые работы в этой области начались вскоре после второй мировой войны, а само ее название было предложено в 1956 году. В настоящее время тематика искусственного интеллекта охватывает огромный перечень научных направлений, начиная с таких задач общего характера, как обучение и восприятие, и заканчивая такими специальными задачами, как игра в шахматы, доказательство математических теорем, сочинение поэтических произведений и диагностика заболеваний. В искусственном интеллекте систематизируются и автоматизируются интеллектуальные задачи, и поэтому эта область касается любой сферы интеллектуальной деятельности человека. В этом смысле искусственный интеллект является поистине универсальной научной областью.
Интеллектуальные информационные системы проникают во все сферы нашей жизни, поэтому трудно провести строгую классификацию направлений, по которым ведутся активные и многочисленные исследования в области ИИ. Рассмотрим кратко некоторые из них.
Разработка интеллектуальных информационных систем или систем,
основанных на знаниях. Это одно из главных направлений ИИ. Основной целью построения таких систем является выявление, исследование и применение знаний высококвалифицированных экспертов для решения сложных задач, возникающих на практике. При построении систем, основанных на знаниях, используются знания, накопленные экспертами в виде конкретных правил решения тех или иных задач. Это направление преследует цель имитации человеческого искусства анализа неструктурированных и слабоструктурированных проблем [23]. В данной области исследований осуществляется разработка моделей представления, извлечения и структурирования знаний, а также изучаются проблемы создания баз знаний, образующих ядро систем основанных на знаниях, частным случаем которых являются экспертные системы (ЭС).
Разработка естественно-языковых интерфейсов и машинный перевод.
Системы машинного перевода с одного естественного языка на другой обеспечивают быстроту и систематичность доступа к информации, оперативность и единообразие перевода больших потоков, как правило, научно-технических текстов [16]. Системы машинного перевода строятся как интеллектуальные системы, поскольку в их основе лежат базы знаний в определенной предметной области и сложные модели, обеспечивающие дополнительную трансляцию «исходный язык оригинала — язык смысла — язык перевода». Кроме того, в них осуществляется ассоциативный поиск
6
аналогичных фрагментов текста и их переводов в специальных базах данных. Данное направление охватывает также исследование методов и разработку систем, обеспечивающих реализацию процесса общения человека с компьютером на естественном языке [16].
Обучение и самообучение. Эта актуальная область ИИ включает модели, методы и алгоритмы, ориентированные на автоматическое накопление и формирование знаний с использованием процедур анализа и обобщения данных
[6, 45].
Распознавание образов. Это одно из самых ранних направлений ИИ, в котором распознавание объектов осуществляется на основании применения специального математического аппарата, обеспечивающего отнесение объектов к классам [17], а классы описываются совокупностями определенных значений признаков.
Игры и машинное творчество. Машинное творчество охватывает сочинение компьютерной музыки [15], интеллектуальные системы для изобретения новых объектов [3, 46]. Создание интеллектуальных компьютерных игр является одним из самых развитых коммерческих направлений в сфере разработки программного обеспечения. Кроме того, компьютерные игры предоставляют мощный арсенал разнообразных средств, используемых для обучения.
Программное обеспечение систем ИИ. Инструментальные средства для разработки интеллектуальных систем включают специальные языки программирования, ориентированные на обработку символьной информации (smalltalk, рефал), языки логического программирования (prolog), языки представления знаний (ops 5, krl), интегрированные программные среды, содержащие арсенал инструментальных средств для создания систем ИИ (arts, guru), а также оболочки экспертных систем (exsys professional, эксперт), которые позволяют создавать прикладные ЭС, не прибегая к программированию [18, 40].
Новые архитектуры компьютеров. Это направление связано с созданием компьютеров не фон-неймановской архитектуры, ориентированных на обработку символьной информации. Известны удачные промышленные решения параллельных и векторных компьютеров [2, 18], однако в настоящее время они имеют весьма высокую стоимость, а также недостаточную совместимость с существующими вычислительными средствами.
Интеллектуальные роботы. Создание интеллектуальных роботов составляет конечную цель робототехники. В настоящее время в основном используются программируемые манипуляторы с жесткой схемой управления, названные роботами первого поколения. Основными сдерживающими факторами в разработке автономных роботов являются нерешенные проблемы в области интерпретации знаний, машинного зрения, адекватного хранения и обработки трехмерной визуальной информации.
Интеллектуальной информационной системой (ИИС) называют автомати-
7
зированную информационную систему, основанную на знаниях, или комплекс программных, лингвистических и логико-математических средств для реализации основной задачи - осуществления поддержки деятельности человека и поиска информации в режиме продвинутого диалога на естественном языке.
Кроме того, информационно-вычислительными системами с интеллектуальной поддержкой для решения сложных задач называют те системы, в которых логическая обработка информации превалирует над вычислительной.
Таким образом, любая информационная система, решающая интеллектуальную задачу или использующая методы искусственного интеллекта, относится к интеллектуальным системам. Для интеллектуальных информационных систем характерны следующие признаки [42]:
развитые коммуникативные способности;
умение решать сложные плохо формализуемые задачи;
способность к самообучению;
адаптивность.
Коммуникативные способности ИИС характеризуют способ взаимодействия (интерфейса) конечного пользователя с системой, в частности возможность формулирования произвольного запроса в диалоге с ИИС на языке, максимально приближенном к естественному языку.
Сложные плохо формализуемые задачи – это задачи, которые требуют построения оригинального алгоритма решения в зависимости от конкретной ситуации, для которой могут быть характерны неопределенность и динамичность исходных данных и знаний.
Способность к самообучению – это возможность автоматического извлечения знаний для решения задач из накопленного опыта конкретных ситуаций.
Адаптивность – способность к развитию системы в соответствии с объективными изменениями модели проблемной области.
Всоответствии с перечисленными признаками ИИС делятся (рис. 1.1):
на системы с коммутативными способностями (с интеллектуальным ин-
терфейсом);
на экспертные системы (системы для решения сложных задач);
на самообучающиеся системы (системы, способные к самообучению);
на адаптивные системы (адаптивные информационные системы).
Интеллектуальные базы данных отличаются от обычных баз данных возможностью выборки по запросу необходимой информации, которая может явно не храниться, а выводиться из имеющейся в базе данных.
Естественно-языковой интерфейс предполагает трансляцию естест-
венно-языковых конструкций на внутримашинный уровень представления знаний. Для этого необходимо решать задачи морфологического, синтаксического и семантического анализа и синтеза высказываний на естественном языке. Так, морфологический анализ предполагает распознавание и проверку правильности написания слов по словарям, синтаксический контроль – разложение входных
8
сообщений на отдельные компоненты (определение структуры) с проверкой соответствия грамматическим правилам внутреннего представления знаний и выявления недостающих частей и, наконец, семантический анализ – установление смысловой правильности синтаксических конструкций. Синтез высказываний решает обратную задачу преобразования внутреннего представления информации в естественно-языковое.
Рис. 1.1. Классификация интеллектуальных информационных систем по типам систем
Естественно-языковой интерфейс используется:
для доступа к интеллектуальным базам данных;
для контекстного поиска документальной текстовой информации;
для голосового ввода команд в системах управления;
для машинного перевода с иностранных языков.
Гипертекстовые системы предназначены для реализации поиска по ключевым словам в базах текстовой информации. Интеллектуальные гипертекстовые системы отличаются возможностью более сложной семантической организации ключевых слов, которая отражает различные смысловые отношения терминов. Таким образом, механизм поиска работает прежде всего с базой знаний ключевых слов, а уже затем непосредственно с текстом.
Системы контекстной помощи можно рассматривать как частный слу-
9
чай интеллектуальных гипертекстовых и естественно-языковых систем. В отличие от обычных систем помощи, навязывающих пользователю схему поиска требуемой информации, в системах контекстной помощи пользователь описывает проблему (ситуацию), а система с помощью дополнительного диалога ее конкретизирует и выполняет поиск относящихся к ситуации рекомендаций.
Системы когнитивной графики позволяют осуществлять интерфейс пользователя с ИИС с помощью графических образов, которые генерируются в соответствии с происходящими событиями. Такие системы используются в мониторинге и управлении оперативными процессами. Графические образы в наглядном и интегрированном виде описывают множество параметров изучаемой ситуации.
Экспертные системы предназначены для решения задач на основе накапливаемой базы знаний, отражающей опыт работы экспертов в рассматриваемой проблемной области.
Экспертные системы как самостоятельное направление в искусственном интеллекте сформировалось в конце 1970-х гг. История ЭС началась с сообщения японского комитета по разработке ЭВМ пятого поколения, в котором основное внимание уделялось развитию «интеллектуальных способностей» компьютеров с тем, чтобы они могли оперировать не только данными, но и знаниями, как это делают специалисты (эксперты) при выработке умозаключений. Одним из важных свойств ЭС является способность объяснить ход своих рассуждений понятным для пользователя образом [48].
Область исследования ЭС называют инженерией знаний. Этот термин был введен Е. Фейгенбаумом и в его трактовке означает «привнесение принципов и инструментария из области искусственного интеллекта в решение трудных прикладных проблем, требующих знаний экспертов». Другими словами, ЭС применяются для решения неформализованных проблем, к которым относят задачи, обладающие одной (или несколькими) из следующих характеристик:
задачи не могут быть представлены в числовой форме;
исходные данные и знания о предметной области обладают неоднозначностью, неточностью, противоречивостью;
цели нельзя выразить с помощью четко определенной целевой функции;
не существует однозначного алгоритмического решения задачи;
алгоритмическое решение существует, но его нельзя использовать по причине большой размерности пространства решений и ограничений на ресурсы (времени, памяти).
Главное отличие ЭС и систем искусственного интеллекта от систем обработки данных состоит в том, что в них используется символьный, а не числовой способ представления данных, а в качестве методов обработки информации применяются процедуры логического вывода и эвристического поиска решений.
10