- •О.А. Печень
- •Оглавление
- •Предисловие
- •Раздел 1. Теоретические основы построения иис Тема 1.1. Развитие и области применения интеллектуальных информационных систем
- •1.1.1. Предмет, цель и задачи дисциплины
- •1.1.2. Классификация иис, место и роль иис в ит
- •Контрольные вопросы по теме
- •Тема 1.2. Знания и методы представления знаний
- •1.2.1. Знания, свойства и классификация знаний
- •1.2.2. Модели представления знаний
- •1.2.3. Логическая модель представления знаний
- •1.2.3. Нечеткая логика как расширение логической модели
- •1.2.4. Продукционная модель представления знаний
- •База правил
- •База правил
- •1.2.5. Модель представления знаний на основе семантических сетей
- •1.2.6. Представление знаний с применением фреймов
- •1.2.8. Использование различных моделей представления знаний
- •Контрольные вопросы по теме
- •Тема 1.3. Инженерия знаний и получение знаний
- •1.3.1. Инженерия знаний
- •1.3.2. Методы получения знаний
- •Контрольные вопросы по теме
- •Раздел 2. Технологии экспертных систем
- •2.1.2. Структура экспертных систем
- •2.1.3. Классификация экспертных систем
- •Контрольные вопросы по теме
- •Тема 2.2. Технология разработки экспертных систем
- •2.2.1. Этапы разработки экспертной системы
- •2.2.2. Состав и взаимодействие участников процесса разработки и эксплуатации эс
- •Контрольные вопросы по теме
- •Тема 2.3. Процесс поиска решений и механизмы вывода и рассуждений
- •2.3.1. Поиск как основа функционирования иис
- •2.3.2. Методы поиска решений в пространстве состояний
- •2.3.3. Стратегии поиска в глубину и ширину
- •2.3.4. Стратегия эвристического поиска
- •2.3.5. Формализация задач в пространстве состояний
- •Контрольные вопросы по теме
- •Раздел 3. Технологии нейронных сетей
- •Тема 3.1. Введение в нейронные сети и нейросетевые системы
- •3.1.1. Основы нейросетевого подхода
- •3.1.2. Построение и применение нейросетей
- •Контрольные вопросы по теме
- •Тема 3.2. Классификация и выбор структуры нейросетей
- •3.2.1. Классификация нейросетей
- •3.2.2. Выбор структуры нейросетей
- •Контрольные вопросы по теме
- •Тема 3.3. Решение задач с помощью нейросетей
- •3.3.1. Общий подход к построению нейросети
- •3.3.2. Обучение нейросети
- •3.3.3. Применение обученной нейросети
- •Контрольные вопросы по теме
- •Раздел 4. Эволюционные вычисления
- •Тема 4.1. Эволюционные вычисления и генетические алгоритмы
- •4.1.1. Сущность эволюционного подхода к вычислениям
- •4.1.2. Основы теории генетических алгоритмов
- •4.1.3. Направления развития генетических алгоритмов
- •Контрольные вопросы по теме
- •Раздел 5. Средства разработки и интерфейсы иис
- •Тема 5.1. Инструментальные средства разработки иис
- •5.1.1. Общие сведения о средствах разработки иис
- •5.1.2. Языки программирования для разработки иис
- •Тема 5.2. Интеллектуальные интерфейсы
- •5.2.1. Речевое взаимодействие с иис
- •5.2.2. Графические интеллектуальные интерфейсы
- •5.2.3. Интеллектуальные поисковые системы
- •5.2.4. Обучающие системы и тренажеры
- •Контрольные вопросы по теме
- •Литература
Контрольные вопросы по теме
Опишите процесс поиска решения в пространстве состояний с формальной точки зрения.
Расскажите об основных типах методов писка решения в пространстве состояний.
Расскажите о поиске решений на основе смены состояний.
Опишите стратегию поиска решения в ширину.
Опишите стратегию поиска решения в глубину.
Дайте описание эвристической стратегии поиска..
Дайте определение пространства состояний.
Расскажите методику представления задач в пространстве состояний.
Раздел 3. Технологии нейронных сетей
Тема 3.1. Введение в нейронные сети и нейросетевые системы
3.1.1. Основы нейросетевого подхода
Применение нейросетевых вычислений
Нейронной сетью(НС) называется динамическая система, состоящая из совокупности связанных между собой по типу узлов направленного графа элементарных процессоров, называемых формальными нейронами, и способная генерировать выходную информацию в ответ на входное воздействие.
В последние несколько лет наблюдается взрыв интереса к нейронным сетям, они находят успешное применение в самых различных областях - бизнесе, медицине, технике, геологии, физике. Нейронные сети вошли в практику везде, где нужно решать задачи прогнозирования, классификации или управления, поскольку они применимы практически в любой ситуации, когда имеется связь между переменными-предикторами (входами) и прогнозируемыми переменными (выходами), даже если эта связь имеет очень сложную природу и ее трудно выразить в обычных терминах корреляций или различий между группами.
Растущий интерес к методам нейронных сетей можно объяснить их успешным применением в самых различных областях деятельности для решения задач прогнозирования, классификации и управления. Такие характеристики нейросетевых методов, как возможность нелинейного моделирования и сравнительная простота реализации, часто делают их незаменимыми при решении сложнейших многомерных задач [11,с.4].
Нейронные сети нелинейны по свой природе и представляют собой исключительно мощный метод моделирования, позволяющий воспроизводить чрезвычайно сложные зависимости. На протяжении многих лет в качестве основного метода в большинстве областей использовалось линейное моделирование, поскольку для него хорошо разработаны процедуры оптимизации. Там, где линейная аппроксимация неудовлетворительна и линейные модели работают плохо, а таких задач достаточно много, основным инструментом становятся нейросетевые методы. Кроме того, нейронные сети справляются с «проклятием размерности», которое не позволяет моделировать линейные зависимости в случае большого числа переменных.
Нейронные сети учатся на примерах. Пользователь нейронной сети подбирает репрезентативную выборку, а затем запускает алгоритм обучения, который автоматически воспринимает структуру данных. При этом от пользователя, конечно, требуется какой-то набор эвристических знаний о том, как следует отбирать и подготавливать данные, выбирать нужную архитектуру сети и интерпретировать результаты, однако уровень знаний, необходимый для успешного применения нейронных сетей, гораздо скромнее, чем, например, при использовании традиционных методов статистики.
Нейронные сети привлекательны с интуитивной точки зрения, ибо они основаны на примитивной биологической модели нервных систем. В будущем развитие таких нейробиологических моделей может привести к созданию действительно мыслящих компьютеров.
Нейросетевая парадигма
Идея нейронных сетей родилась в ходе исследований в области искусственного интеллекта, а именно, в результате попыток воспроизвести способность биологических нервных систем обучаться и исправлять ошибки, моделируя низкоуровневую структуру мозга. Основной областью исследований по искусственному интеллекту в 60-е - 80-е годы были экспертные системы. Такие системы основывались на высокоуровневом моделировании процесса мышления (в частности, на его представлении как манипуляций с символами). Скоро стало ясно, что подобные системы, хотя и могут принести пользу в некоторых областях, не охватывают некоторые ключевые аспекты работы человеческого мозга. Согласно одной из точек зрения, причина этого состоит в том, что они не в состоянии воспроизвести структуру мозга. Чтобы создать искусственный интеллект, необходимо построить систему с похожей архитектурой.
Мозг состоит из очень большого числа (приблизительно 10000000000) нейронов, соединенных многочисленными связями (в среднем несколько тысяч связей на один нейрон, однако это число может сильно колебаться). Нейроны - это специальные клетки, способные распространять электрохимические сигналы. Нейрон имеет разветвленную структуру ввода информации (дендриты), ядро и разветвляющийся выход (аксон). Аксоны клетки соединяются с дендритами других клеток с помощью синапсов. При активации нейрон посылает электрохимический сигнал по своему аксону. Через синапсы этот сигнал достигает других нейронов, которые могут в свою очередь активироваться. Нейрон активируется тогда, когда суммарный уровень сигналов, пришедших в его ядро из дендритов, превысит определенный уровень (порог активации).
Интенсивность сигнала, получаемого нейроном (а, следовательно, и возможность его активации), сильно зависит от активности синапсов. Каждый синапс имеет протяженность, и специальные химические вещества передают сигнал вдоль него. Один из самых авторитетных исследователей, Дональд Хебб, высказал постулат, что обучение заключается в первую очередь в изменениях «силы» синаптических связей. Например, в классическом опыте Павлова каждый раз непосредственно перед кормлением собаки звонил колокольчик, и собака быстро научилась связывать звонок колокольчика с пищей. Синаптичес-кие связи между участками коры головного мозга, ответственными за слух, и слюнными железами усилились, и при возбуждений коры звуком колокольчика у собаки начиналось слюноотделение.
Таким образом, будучи построен из очень большого числа совсем простых элементов (каждый из которых берет взвешенную сумму входных сигналов и в случае, если суммарный вход превышает определенный уровень, передает дальше двоичный сигнал), мозг способен решать чрезвычайно сложные задачи. Разумеется, мы не затронули здесь многие сложные аспекты устройства мозга, однако интересно то, что искусственные нейронные сети способны достичь замечательных результатов, используя модель, которая ненамного сложнее, чем описанная выше.
Искусственный нейрон как основа нейросети
Попытки моделирования работы мозга с помощью построения моделей нейронных сетей (нейрокибернетика) восходят ко времени появления первых ЭВМ и не были напрямую связаны с их появлением. Первые модели нейронных сетей были физическими и основывались на электронных моделях нейронов. Начало этому моделированию положила идея формального нейрона Мак-Каллока и Питтса (1943 г.), которая была воспринята Розенблаттом и развита им в рамках построенных им и его учениками многочисленных моделей перцептронов (систем для распознавания образов) - одного из классов современных нейронных сетей.
Формальная модель нейронаМак-Каллока-Питтса, которая и сейчас является наиболее применяемым формализмом для описания отдельного нейрона в нейронной сети, показана на рис. 3.1.[7,с.38]
Рис. 3.1. Формальная модель нейрона Мак-Каллока - Питтса.
На рисунке приняты следующие обозначения: xi - сигнал на i-м входе (синапсе) нейрона; wi- вес i-го входа (синапса) нейрона; y - выход нейрона; h - порог срабатывания нейрона.
В модели взвешенная сумма сигналов на входах нейрона сравнивается с пороговым значением h, и на выходе есть сигнал, если она превышает порог. В современных моделях нейронов пороговая функция в общем случае заменяется на нелинейную функцию y=f(S), называемую передаточной функцией или функцией активации нейрона. В качестве этой функции может использоваться, одна из сигмоидальных функций, например, рациональная сигмоида
Параметр a обычно называется смещением. Таким образом, иногда говорят, что нейрон состоит из умножителей (на веса), сумматора и нелинейного элемента.
Виды функции активации
Вид функции активации во многом определяет функциональные возможности нейронной сети и метод обучения этой сети. Рассмотрим некоторые виды функций активации, применяемые при конструировании нейронных сетей.
Пороговая функция.В общем случае эта функция активации описывается следующим выражением:
Рис. 3.3. Графики пороговых функций активации: а - симметричная; б - смещенная
Сигмоидная функция активации. Эта функция относится к классу непрерывных Выбираемая разработчиком для решения конкретной задачи непрерывная функция активации должна удовлетворять следующим условиям: быть непрерывной, монотонно возрастающей и дифференцируемой. Сигмоидная функция полностью удовлетворяет этим требованиям. Как и для пороговой, для этой функции различают смещенный и симметричный вид. Математически оба вида сигмоидной функции представляются следующим образом:
Рис. 3.4. Графики сигмоидных функций на базе экспоненты:
а - смещенная; б - симметричная
Линейная функция активации.Эта функция также относится к классу непрерывных. Линейный участок такой функции активации позволяет оперировать с непрерывными сигналами. Зоны нечувствительности определяются физической реализуемостью этих функций.
Степенные функции активации.Функции этого вида используют при проектировании НС, предназначенных для решения задач аппроксимации функций одной и/или многих переменных, для реализации степенных рядов, для реализации сложных вычислительных алгоритмов. Математическая модель таких функций имеет вид
В практике разработки НС применяют функции активации и других видов, отличных от перечисленных выше. Все определяется характером решаемой задачи. В каждом конкретном случае разработчик должен обосновать свой выбор.
Формальный нейрон фактически представляет собой процессор с очень ограниченной специальной системой команд (в литературе принято называть ней-росетевой базис). Формальные нейроны по способу представления информации бывают аналоговые и цифровые. И те и другие выполняют единообразные вычислительные действия и не требуют внешнего управления.