Файл: Практикум по дисциплинам Методы искусственного интеллекта в управлении, Интеллектуальное управление сложными объектами.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.11.2023

Просмотров: 253

Скачиваний: 10

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Порядок выполнения работы
1. Выполнить нечеткий логический вывод для модели системы нечеткого управления кондиционером воздуха в помещении (п.3.2).
Входные значения модели СНВ использовать по выданному варианту задания 1. Определить активные правила модели, затем алгоритмами Мамдани и Ларсена выполнить этапы фаззификации, агрегирования, активизации, аккумулирования; методами дефаззифи- кации найти точные значения на выходе модуля нечеткого управления. Провести исследования по поиску результирующих значений, применяя различные методы дефаззификации. Обосновать окончательное решение. Процедуру вывода провести в графическом и математическом виде.
2. Выполнить нечеткий логический вывод алгоритмом Такаги-
Сугено (п.3.3.2) по выданному варианту задания 2. Выполнить этапы фаззификации, агрегирования, активизации, затем методом модифицированного варианту расчета четкого значения переменной выполнить процедуру дефаззификации и найти точные значения на выходе модуля нечеткого управления. Процедуру вывода провести в графическом и математическом виде.

Требования к содержанию и оформлению отчета
Отчет по практической работе должен содержать:
1. Название и цель работы.
2. Исходные данные варианта задания 1. Процедура нечеткого логического вывода в графическом и математическом виде. Таблица точных значений для алгоритмов Мамдани и Ларсена и методов различных методов дефаззификации.
3. Исходные данные варианта задания 2. Процедура нечеткого логического вывода по алгоритму Такаги-Сугено с графическим изображением и математическим представлением.
4. Выводы.
Варианты заданий
Задание 1. Варианты заданий представлены в табл. 2.5.
Таблица 2.5
№ варианта
1 2 3 4 5 6 7 8 9 10

6 7 8 9 14 15 19 26 27 28

0,5 -0,3 0,3 0,25 -0,2 -0,3 0,25 -0,4 0,1 0,5
№ варианта
11 12 13 14 15 16 17 18 19 20

6 7 8 9 14 15 19 26 27 28

0,4 -0,1 0,25 0,2 -0,25 0,1 -0,3 0,5 0,4 -0,2
Задание 2.
Модуль нечеткого управления построен на базе нечетких правил, фрагмент которой представлен ниже:
Правило 1:
ЕСЛИ = среднее ( ) И = среднее ( ) ТО
2 2 ;
Правило 2:
ЕСЛИ = малое ( ) И = высокое ( ) ТО
2 2
3 .
Заданы термы нечетких подмножеств , ,
, :
при 2 4,
при 4 6
при 0 2,
при 2 4
при 2 4,
при 4 6
при 4 8,
при 8 12
Входные четкие величины

и

, считываемые с датчиков, заданы в табл. 2.6. Необходимо определить четкое значение выходной переменной .
Таблица 2.6
№ варианта
1,11 2,12 3,13 4,14 5,15 6, 16 7, 17 8, 18 9, 19 10,20

3 2,5 3 2,2 2,5 3,5 3,5 3,2 2,7 2,5 4,2 4,3 5 5,5 5 4,5 5 5,5 4,7 5
Контрольные вопросы
и задания
1. В чем состоит суть нечеткого управления, раскройте структуру модуля нечеткого управления.
2. Назовите этапы нечеткого логического вывода.
3. Чем отличается алгоритм Мамдани от алгоритма Ларсена?
Приведите пример.
4. Поясните содержание алгоритма Такаги-Сугено.
5. Что такое фаззификация и дефаззификация?
6. Раскройте содержание методов дефаззификации.
Список литературы
1. Пегат А. Нечеткое моделирование и управление / А. Пегат; под ред.
Ю. В.
Тюменцева; перевод с английского
А. Г. Подвесовского, Ю. В. Тюменцева. 3-е изд. М.: Лаборатория знаний, 2015. 801 с.
2. Леоненков А.В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. СПб.: БХВ-Петербург, 2003. 736 с.
3. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы: Пер. с польск.
И.Д. Рудинского. М.: Горячая линия - Телеком, 2004. 452 с.
4. Ярушкина Н. Г. Основы теории нечетких и гибридных систем: учеб. пособие. М.: Финансы и статистика, 2004. 320с.
5. Флегонтов, А.В. Моделирование задач принятия решений при нечетких исходных данных: монография / А. В. Флегонтов,
В. Б. Вилков, А. К. Черных. СПб.: Лань, 2020. 332 с.


Практическая работа № 3
ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ С УЧИТЕЛЕМ.
АЛГОРИТМ ОБРАТНОГО РАСПРОСТРАНЕНИЯ ОШИБКИ
1. Цель и задачи работы
Целью работы является закрепление знаний об обучении искусственных нейронных сетей, приобретение навыков применения алгоритма обучения нейронных сетей с учителем.
Задачами работы являются: формирование умений расчета выхода нейронной сети при прямом распространении входного примера; расчета среднеквадратичной ошибки нейросети, корректировки весовых коэффициентов синаптических связей нейросети по алгоритму обратного распространения ошибки.
2. Теоретические сведения
2.1. Модель искусственного нейрона
Искусственные нейронные сети (ИНС) – это направление искус- ственного интеллекта, в котором для обработки сигналов моделируются процессы, аналогичные происходящим в нейронах живых существ. ИНС – элементарные нейроподобные преобразова- тели информации (нейроны), соединенные каналами обмена информацией. Единицей обработки информации в ИНС является искусственный нейрон – абстрактный логический элемент, отражающий лишь те свойства биологического нейрона, которые связаны с переработкой информации. Модель искусственного
нейрона представлена на рис. 3.1.
Рис. 3.1. Модель искусственного нейрона

В модели искусственного нейрона выделяют следующие элементы:
– вектор входных сигналов
, , … ,
, поступающих от других нейронов;
– вектор коэффициентов синаптических связей (weight) между нейронами
,
, … ,
;
сумматор
, который складывает входные сигналы X, взвешенные относительно соответствующих синапсов W нейрона; на выходе сумматора формируется линейная комбинация входных воздействий;
функция активации
(), ограничивающая амплитуду выходного сигнала нейрона;
выходной сигнал нейрона ;
пороговый элемент b
k
(bias), который является внешним параметром искусственного нейрона.
Математически функционирование искусственного нейрона k
описывается парой уравнений:
∙ ;
. 3.1
Формальное представление нейрона демонстрирует
двухтактную работу нейрона: на первом такте вычисляется скалярное произведение векторов Х и W; на втором – рассчитывается выходной сигнал нейрона Y в соответствии с заданными порогом и функцией активации.
Функции активации

(
), которые также называют нелинейным преобразователем, определяют выходной сигнал нейрона: в результате нормализованный диапазон амплитуд выхода нейрона должен находиться в интервале
0, 1 или
1, 1 . Выделяют следующие типы функций активации:
функция единичного скачка, или пороговая функция (рис. 3.2), используется в классическом искусственном нейроне У. МакКалока и
У. Питтса для обработки двоичных сигналов. К сожалению, такой вид функции активации не предоставляет ИНС достаточную гибкость при обучении и настройке на заданную задачу, так как функция является не дифференцируемой;
сигмоидальная функция (рис. 3.3) дифференцируема на всей оси абсцисс, что широко используется во многих алгоритмах

обучения. Кроме того, она обладает свойством усиливать слабые сигналы лучше, чем сильные, и предотвращает насыщение от сильных сигналов.
1, если
0, если
; (3.2)
Рис. 3.2. Пороговая функция активации
; (3.3)
a – коэффициент крутизны функции активации (параметр наклона):
a
  – вырождается в пороговую
a
 0 – становится пологой
Область значений (0;1)


∙ 1
Рис. 3.3. Сигмоидальная функция активации
2.2. Обучение искусственных нейронных сетей
Искусственные нейросети этомножество искусственных нейронов, соединенных определенным образом между собой синаптическими соединениями. Как правило, активационные функции всех нейронов ИНС фиксированы, а синаптические веса являются параметрами ИНС и могут изменяться.
Цель обучения ИНС – настройка синаптической матрицы на заданное поведение. Выделяют две основные парадигмы обучения: «с учителем» и «без учителя».

При обучении «с учителем» роль учителя проявляется в виде источника знаний об объекте, представленного в виде пар входных и выходных координат. Одновременно с подачей входных координат обучающего вектора «учитель» передает нейросети желаемый отклик, соответствующий данному входному вектору. В процессе обучения параметры ИНС корректируются на основе значений сигнала ошибки на выходе сети, т.е. разности между желаемым сигналом и текущим откликом сети. Данная парадигма обучения используется при решении задач классификации, аппроксимации и прогнозирования.
Обучение «без учителя», или самообучение, использует значения входных координат обучающего вектора и не требует знания правильных ответов для примеров обучающей выборки.
В процессе самообучения определяется внутренняя структура данных, обнаруживаются корреляции между входными примерами, что позволяет разбить примеры по категориям. Данная парадигма обучения применяется при решении задач кластеризации.
Форма обучения ИНС «с учителем» рассматривается как задача минимизации эмпирической ошибки между желаемым выходом и фактической реакцией нейросети
(
1,
) по всем нейронам выходного слоя.
1 2
Большинство методов обучения на основе коррекции ошибок используют идею Хебба, которая заключается том, что синапти-
ческий вес увеличивается, если 2 нейрона (источник и приемник)
активизированы; т.е. увеличение весового коэффициента

зависит от уровней возбуждения нейронов. На основе идеи Хебба и формулы вычисления вектора градиента в методе наискорейшего спуска формулируется алгоритм минимизации среднеквадратической ошибки, известный также под названием дельта-правило (3.4); переходя от итерации к
1 -й, алгоритм выполняет коррекцию весовых коэффициентов:
1

, (3.4) где
1 ,
– вектор весов синаптических связей между нейронами на предыдущей и текущей итерациях обучения;
– вектор градиента функции ошибки в точке
;


– положительная константа, называемая параметром скорости обучения (
0 1 , которая оказывает влияние на скорость сходимости алгоритма: если параметр мал, то алгоритм замедляется, и траектория изменения соответствует гладкой кривой; напротив, если параметр велик, то алгоритм ускоряется, и траектория изменения принимает зигзагообразный вид.
Обучение ИНС проводится с использованием обучающей
выборки, представляющей совокупность пар векторов входных и желаемых выходных значений. Входной вектор нейронной сети имеет вид:
, , … ,
, где m – число признаков, p – количество примеров обучающего множества. Выходной вектор желаемого отклика сети
,
, … ,
имеет размерность
r
, соответствующую количеству выходных координат p.
На рис. 3.4 представлена структура многослойного персептрона
– многослойной нейронной сети прямого распространения с последовательными связями, в которых входной сигнал распространяется по сети от слоя к слою. Количество слоев нейросети равно N; в каждом слое разное число нейронов n
k
,
k =
1, …, N. На вход нейросети подаются внешние сигналы
,
1,
. Все выходы нейронов k-го слоя подаются на каждый нейрон (k+1)-го слоя.
В обозначении выходных сигналов нейронов верхний индекс
k – номер слоя, а нижний индекс i – номер нейрона в этом слое.
Весовой коэффициент синаптической связи соединяет i-й нейрон
(k –1)-го слоя с j-м нейроном слоя (k)
Рис. 3.4. Структура многослойного персептрона

В многослойных ИНС желаемые выходные значения нейронов всех слоев, кроме последнего, неизвестны, и поэтому трех- или более слойный персептрон невозможно обучить, руководствуясь только величинами ошибок на выходах ИНС.
Наиболее известным и чаще всего применяемым для многослойных ИНС алгоритмом обучения с учителем является
метод обратного распространения ошибки – итеративный градиентный алгоритм обучения, который используется с целью минимизации функции ошибки многослойных ИНС, в направлении, обратном прямому распространению сигналов в обычном режиме работы. Функция ошибки представляет собой сумму квадратов рассогласования (ошибки) желаемого и фактического выхода ИНС.
При вычислении элементов вектора-градиента используется активационная функция сигмоидального типа.
2.3. Алгоритм обратного распространения ошибки
Алгоритм обратного распространения ошибки (ОРО) (error back
propagation algorithm) в настоящее время считается одним из наиболее эффективных алгоритмов обучения и определяет стратегию подбора весов многослойной нейронной сети с применением градиентных методов оптимизации. Алгоритм ОРО представляет собой развитие обобщенного дельта-правила и является алгоритмом градиентного спуска, минимизирующим суммарную среднеквадра- тичную ошибку. В соответствии с дельта-правилом корректировка весов на текущем шаге обучения осуществляется в направлении антиградиента функции ошибки.
Обучение ИНС с использованием алгоритма ОРО проводится в несколько этапов:
Шаг 1. Начальная инициализация весов ИНС малыми случайными значениями.
Прямой проход по ИНС
Шаг 2. Выбирается очередной обучающий пример (X, D) из обучающего множества. Вектор X предъявляется на вход нейросети.
Шаг 3. Входные нейроны ИНС используются для разветвления сигнала Х и передают сигналы на нейроны вычислительного слоя, в которых, во-первых, осуществляется взвешенное суммирование,

а во-вторых, производится нелинейное преобразование с помощью функции активации:


, 3.5 где – взвешенная сумма входных сигналов j-го нейрона в слое k, а
– выход i-го нейрона в предыдущем слое (k–1). Выходной сигнал j-го нейрона k-го слоя:
. 3.6
В общем случае рекуррентное соотношение, определяющее выход нейрона в произвольном слое, записывается следующим образом:

. 3.7
Таким образом, осуществляется последовательное прямое
распространение входного обучающего примера по нейронной сети.
Обратный проход по ИНС
Шаг 4. Определяется суммарная среднеквадратичная ошибка Е по всем нейронам выходного слоя нейросети, которая вычисляется как разность между требуемым (целевым, желаемым, эталонным) выходом D и реальным (фактическим) выходом Y последнего N-го слоя нейросети:
1 2
. 3.8
Шаг 5. Обучение ИНС основано на адаптивной коррекции весовых коэффициентов таким образом, чтобы минимизировать значение среднеквадратичной ошибки.
Минимизация функции ошибки проводится на основе дельта- правила (3.4), согласно которому подстройка весовых коэффициентов осуществляется по формуле:
1

;
Δ

, 3.9
где
– коэффициент скорости обучения, определяющий величину шага коррекции,
0 1; – номер итерации обучения.
Поскольку суммарная среднеквадратичная ошибка зависит от результатов работы ИНС (3.8), а выход ИНС формируется с помощью нелинейной функции активации (3.6) от взвешенной суммы входных сигналов


, точастная производная функции ошибки записывается как производная сложной функции в виде:


. 3.10
В соответствии с формулой (3.4) взвешенная сумма входных сигналов является функцией от синаптических весов; а выражение частной производной равно значению входного сигнала текущего слоя многослойной нейронной сети, который одновременно является выходом нейрона предыдущего слоя:
. 3.11
Отсюда следует, что,

. 3.12
Если ввести обозначение
, то образуется следующее равенство:

∙ ′

. 3.13
Подставив выражение (3.12) в (3.8), а также используя равенство
(3.10), запишем выражение для коррекции весов (3.8) в следующем виде:
Δ


. 3.14

По этой формуле и проводится коррекция весовых коэффициентов, начиная с выходного слоя сети и по направлению ко входу.
Шаг 6. Проверка критерия остановки алгоритма обучения. Если выполняется хотя бы один из следующих критериев, то обучение останавливается:
– ошибка обучения достигла заранее заданной величины;
– ошибка обучения не уменьшается или уменьшается незначительно;
– ошибка обобщения начинает возрастать, указывая на начало переобучения.
Если же критерий остановки алгоритма обучения не выполняется, то осуществляется переход к шагу 2 и проводится следующая итерация обучениядля каждой пары обучающего множества.
По окончании работы алгоритма ОРО нейронная сеть считается обученной (натренированной) и готовой к применению.
3. Методика выполнения работы
3.1. Прямое распространение входного примера по искусственной нейронной сети. Расчет среднеквадратичной ошибки
Пример 1. Имеется двухвходовая однослойная ИНС прямого распространения (однослойный персептрон) (рис. 3.5), которая состоит из двух нейронов.
Рис. 3.5. Однослойный персептрон