- •Введение
- •1. Искусственный интеллект в роботах
- •1.1. Обеспечение взаимодействия системы управления с человеком
- •1.2. Схема интеллектуального управления в робототехнических комплексах
- •1.3. Интеллектуальное программирование и интеллектуальный интерфейс
- •1.4. Организация интеллектуальных систем
- •2. Экспертные системы
- •2.1. Структура экспертных систем
- •2.2. Технология разработки экспертных систем
- •2.3. Механизм вывода в экспертных системах
- •2.4. Методы поиска решений в экспертных системах
- •2.5. Поиск в одном пространстве состояний
- •2.6. Поиск решения методом редукции
- •2.7. Поиск решения во множестве факторизованных пространств
- •2.8. Поиск в фиксированном множестве пространств
- •2.9. Поиск в изменяющемся множестве пространств (метод нисходящего уточнения)
- •2.10. Поиск в альтернативных пространствах
- •2.11. Поиск с использованием нескольких моделей
- •3. Представление знаний в системах
- •3.1. Продукционные системы
- •3.2. Системы поиска на основе классической логики
- •3.3. Использование логики предикатов первого порядка при представлении знаний
- •3.4. Использование фреймов при представлении данных
- •3.5. Семантические сети
- •4. Нейронные сети в системах искусственного интеллекта
- •4.1. Области применения нейронных сетей
- •4.2. Персептронные нейронные сети
- •4.3. Обучение персептронных сетей
- •4.4. Сети встречного распространения
- •4.5. Обучение нейронных сетей методом обратного распространения ошибки
- •4.6. Обучение без учителя
- •4.7. Сети без обучения
- •4.8. Нейронные сети с радиальными базисными функциями (вероятностные сети)
- •4.9. Коллективы нейронных сетей
- •4.10. Аппаратно-программные средства реализации нейронных сетей для задач робототехники
- •2. Использование сетей для распознавания речи
- •3. Использование сетей для формирования законов управления
- •5. Методы нечеткой логики в интеллектуальных системах
- •5.1. Логические операции над нечеткими множествами
- •5.2. Получение выводов в нечеткой логике
- •5.3. Алгоритмы поиска решения в нечеткой логике
- •Заключение
- •Библиографический список
- •394026 Воронеж, Московский просп., 14
3.5. Семантические сети
Семантические сети – способ представления знаний, в
котором каждому признаку предметной области присваивается определенное имя, а связи между признаками устанавливаются некоторыми отношениями (Рис.11).
Например, имя: деталь, большая деталь, маленькая деталь; отношение: размер и т.д.
Имена и отношения образуют сеть, где каждое имя – вершина, а каждое отношение – связь между вершинами. Отношения могут задаваться различными способами. Например, логическими (использование логических связок), лингвистическими (с использованием слов естественного языка).
Семантическая сеть, описывающая предметную область, содержит в виде вершин известные ее признаки и в виде связей все отношения между признаками (Рис.11). При выводе решения информация, полученная из предметной области, сопоставляется с одной из вершин. Поиск начинается из этой вершины по всем направлениям и заканчивается на вершинах,
33
от которых не идут больше связи. Эти вершины и образуют решение.
Б Д П
МД
П И
О
размер размер О
Д
Рис.11. Пример семантической сети
4. Нейронные сети в системах искусственного интеллекта
И скусственный нейрон имеет n входов X (Рис.12). Входные сигналы поступают на умножители, каждый из которых имеет индивидуально настраиваемый коэффициент перемножения W (синоптические веса). После перемножения сигналы поступают на сумматор. имеет порог задаваемой величиной b. Выходное значение сигнала сумматора S: S=Wi Xi+b
Сигнал S поступает на функциональный преобразователь f, выходное состояние которого y=f(S). Функция f называется функцией активации нейрона.
Таким образом искусственный нейрон осуществляет взвешенное функциональное преобразование наборов входных сигналов. Изменением весов b и выбором функции f можно создать набор соответствий между входными сигналами и вы-
34
ходным значением y.
f
X2 S y
.
.
. Wn
Xn
b
Рис.12. Схема искусственного нейрона.
В искусственных нейронах используются следующие
функции активации:
П ороговая: y= 1 при S0
0 при S0
З наковая или сигнатурная: y= 1при S0
-1 при S0
Линейная: y=kS
Полулинейная: y= kS при S0
0 при S0
5 . Линейная с насыщением: 1 при S1
y= kS при -1S1
-1 при S-1
6. Логистическая: y= 1
1+e-S
35
7 . Гиперболический тангенс: eS-e-S
y= eS+e-S
На основе единичных нейронов строятся нейронные сети, которые по своей архитектуре разделяются на полносвязные, слоистые (многослойные) и слабосвязные (Рис.13). В сетях первого типа все нейроны связаны между собой.
В многослойных сетях нейроны располагаются отдельными слоями, и передача сигналов выполняется последовательно от слоя к слою. В многослойных сетях слои нумеруются, обычно начинаются с 0. Нулевой слой называется входным, последний – выходным, остальные – скрытыми или решающи-
ми слоями. Поскольку сигналы в такой сети распространяются строго в одном направлении, то они называются сетями прямого распространения.
Слабосвязные сети характеризуются тем, что в них устанавливаются отдельные связи между нейронами.
1
0 2
x1 y1 x1 y1
x2 y2 x2 y2
Рис. 13. Основные структуры нейронных сетей
а) полносвязные сети; б) многослойные сети; в) слабосвязные сети
Нейронные сети классифицируются по некоторым при-
знакам. Если в сетях используются нейроны с одинаковыми функциями активации, то сети называются гомогенными. В противном случае гетерогенные.
36
Сети, которые обрабатывают аналоговые сигналы, называются аналоговыми, сети для обработки цифровой информации – бинарными.
Нейроны в сети возбуждаются в определенные временные такты. Если каждый нейрон имеет собственное время возбуждения, то сеть называется асинхронной. Если нейроны в сети тактируются по группам, то сеть называется синхронной. В частности, в многослойных сетях тактирование выполняется по слоям.
При выборе архитектуры сети используются некоторые
эмпирические сведения, которые позволяют оценить примерное количество связей и количество нейронов. Для многослойных сетей применяются следующие оценки:
m∙N/(1+log2N) L (mN+1) ∙ (n+m+1)+1
где L – количество связей в сети;
n – количество входов;
N – количество обучающих образцов;
m – количество выходов.
При выбранном L и выбранном количестве слоев можно определить количество нейронов. В частности, для сети прямого распространения с двумя скрытыми слоями, количество нейронов в этих слоях определится как:
K= L/n+m