1. ИСКУСТВЕННЫЕ НЕЙРОННЫЕ СЕТИ. ОБУЧЕНИЕ

advertisement
Automaatjuhtimissüsteemid
Kontrolltöö #2
1.
ИСКУСТВЕННЫЕ
НЕЙРОННЫЕ
СЕТИ.
ОБУЧЕНИЕ, ПРОЦЕССЫ ОБУЧЕНИЯ, АЛГОРИТМЫ
ОБУЧЕНИЯ. ЗАДАЧИ ОБУЧЕНИЯ
Искусcтвенные нейронные сети — математические модели, а также их программные или
аппаратные реализации, построенные по принципу организации и функционирования
биологических нейронных сетей — сетей нервных клеток живого организма. Это понятие
возникло при изучении процессов, протекающих в мозге при мышлении, и при попытке
смоделировать эти процессы. Первой такой моделью мозга был перцептрон. Впоследствии
эти модели стали использовать в практических целях, как правило в задачах
прогнозирования. С точки зрения машинного обучения, нейронная сеть представляет собой
частный случай методов распознавания образов, дискриминантного анализа, методов
кластеризации и т. п. С математической точки зрения обучение нейронных сетей — это
многопараметрическая задача нелинейной оптимизации.
Схема простой нейросети:
Нейронные сети не программируются в привычном смысле этого слова, они обучаются.
Возможность обучения — одно из главных преимуществ нейронных сетей перед
традиционными алгоритмами. Технически обучение заключается в нахождении
коэффициентов связей между нейронами. В процессе обучения нейронная сеть способна
выявлять сложные зависимости между входными данными и выходными, а также выполнять
обобщение. Это значит, что, в случае успешного обучения, сеть сможет вернуть верный
результат на основании данных, которые отсутствовали в обучающей выборке.
Для обучения нейронных сетей применяются алгоритмы обучения двух типов (разные типы
сетей используют разные типы обучения): управляемое ("обучение с учителем") и
неуправляемое ("без учителя"). Чаще всего применяется обучение с учителем.
© Кто-то
1
04/12/2008
Automaatjuhtimissüsteemid
Kontrolltöö #2
Для управляемого обучения сети пользователь должен подготовить набор обучающих
данных. Эти данные представляют собой примеры входных данных и соответствующих им
выходов. Сеть учится устанавливать связь между первыми и вторыми. Обычно обучающие
данные берутся из исторических сведений. Затем нейронная сеть обучается с помощью того
или иного алгоритма управляемого обучения (наиболее известным из них является метод
обратного распространения, при котором имеющиеся данные используются для
корректировки весов и пороговых значений сети таким образом, чтобы минимизировать
ошибку прогноза на обучающем множестве.
Если сеть обучена хорошо, она приобретает способность моделировать (неизвестную)
функцию, связывающую значения входных и выходных переменных, и впоследствии такую
сеть можно использовать для прогнозирования в ситуации, когда выходные значения
неизвестны.
Неуправляемое обучение — алгоритмы обучения, в которых на вход нейронной сети
подаются данные, содержащие только значения входных переменных. Такие алгоритмы
предназначены для нахождения кластеров во входных данных.
Ниже представлена схема процесса обучения нейросети:
© Кто-то
2
04/12/2008
Automaatjuhtimissüsteemid
Kontrolltöö #2
Задачи обучения:
•
Приближение (аппроксимирование). Нейронная сеть пытается по известным данным
дать приближённое значение требуемой величины;
•
Ассоциация. Различаю автоассоциацию и гетероассоциацию. В случае
автоассоциации задачей нейросети является помнить некоторое количество векторов.
Эти векторы подаются на вход последовательно. Затем нейросети предоставляются
векторы с помехами и нейросеть должна найти и сопоставить вектору его оригинал
(без помехи). Гетероассоциация отличается тем, что каждому входному вектору
поставлен в соответствие выходной вектор, который может отличаться.
•
Классификация векторов. Нейросеть проверяет принадлежность определённого
вектора какому-либо классу.
•
Прогноз. Одна из наиболее важных задач обучения. Нейросеть пытается предугадать
заданную величину исходя из предыдущих значений этой величины. Прогноз получил
практическое применение в очень многих сферах деятельности.
•
Управление. Также одна из важнейших задач. Эта задача нашла широкое применение
в сложных адаптивных системах управления.
2. МОДЕЛИРОВАНИЕ СИСТЕМ С
ИСПОЛЬЗОВАНИЕМ НЕЙРОСЕТЕЙ
Положим, задана система, функция которой неизвестна. Задачей идентифицирования
является получение математической модели этой функции. Упрощённая схема:
Ys
СИСТЕМА
E
U
МОДЕЛЬ
Ym
При этом задача сводится к уменьшению ошибки E так, чтобы E → 0 .
© Кто-то
3
04/12/2008
Automaatjuhtimissüsteemid
Kontrolltöö #2
Для решения этой задачи можно использовать нейронные сети. Поскольку одной из функций
нейросетей является аппроксимация, то возможно получение приближённой функции для
динамической нелинейной системы, что, собственно и является процессом
идентифицирования.
Идентифицирование при помощи нейросети состоит из следующих шагов:
1.
Сбор данных для проб. На идентифицируемый объект подаются как правило
произвольные величины На выходе измеряются соответствующие им выходные
значения. Идентифицирование происходит на основе эталонных значений входных и
выходных величин. В ходе обучающего процесса нейросеть учится давать правильные
выходные величины из известных эталонных значений.
2.
Выбор архитектуры нейросети (количество входов, выходов, скрытых слоёв, число
нейронов на скрытых слоях и т.п.) обычно на экспериментальной основе.
3.
Подбор весовых коэффициентов (как правило, выбираются произвольно).
4.
Расчет выходной величины нейросети на основе эталонного значения входной
величины.
5.
Нахождение ошибки модели сравнивая выходы нейросети с эталонной моделью
объекта.
6.
Расчет новых параметров на основе выбранного алгоритма обучения нейросети.
Шаги 4 — 6 итеративно повторяются на протяжении времени, выделенного настройщиком на
обучение нейросети.
Нейросеть как модель системы:
© Кто-то
4
04/12/2008
Automaatjuhtimissüsteemid
Kontrolltöö #2
3. УПРАВЛЕНИЕ СИСТЕМОЙ ПРИ ПОМОЩИ
НЕЙРОННЫХ СЕТЕЙ. РЕАЛИЗАЦИЯ ПРОСТОГО
РЕГУЛЯТОРА
Управление с прогнозом. В идеальном случае математическая модель управляемой системы
работает точно так же, как и система. Алгоритм управления с прогнозом использует эту
модель для прогноза выходов системы за N следующих тактов. Схематическое изображение
алгоритма:
Задачей управления является наблюдение, чтобы выход управляющей системы ys был бы
равен величине настройки r или отличался от неё на как можно меньшую величину. Если в
какой-то момент времени есть величина настройки, то при помощи математической модели
можно расчитать (прогнозировать) выход системы за следующие N тактов предполагая, что
величина настройки останется такой же. Параметр N называют горизонтом предсказания.
Необходимо расчитать выход регулятора так, чтобы минимизировать различие величины
настройки и выхода соответствующей модели.
Минимизируемая функция:
J = ∑ ( r (t ) − ym (t + j ))
N
2
j =1
Выход регулятора расчитывается так:
u ( t ) = u ( t − 1) + [ q1
© Кто-то
⎡ r ( t ) − y m ( t + 1) ⎤
⎢
⎥
M
... qN ] ⋅ ⎢
⎥
⎢r ( t ) − y m ( t + N )⎥
⎣
⎦
5
04/12/2008
Automaatjuhtimissüsteemid
Kontrolltöö #2
Для получения наилучших результатов алгоритм управления можно сделать адаптивным
(адаптивно настроить параметры регулятора). Для этого реализуется функция регулятора в
виде второй нейросети, процесс обучения которой происходит в реальном времени во время
процесса управления.
Адаптивное управление необходимо использовать, когда управляющая система работает в
переменной среде (напимер, в среде с постоянно меняющейся температурой) или же если
параметры управляемой системы изменяются с течением времени.
Обучение нейронной сети для реализации регулятора. Структурная схема приведена
ниже:
На входе регулятора величина настройки r. На выходе нейросети управляющий сигнал u.
Обучающий алгоритм сравнивает выход управляемой системы ys с требуемым выходом
(величиной настройки) и вычисляет параметры сети так, чтобы держать их разность в
пределах r − ys минимальной. Вне зависимости от внешних условий и изменению
параметров управляемой системы, регулятор всегда способен генерировать такой
управляющий сигнал, чтобы держать управляемую систему с большой точностью в
окрестности величины настройки.
© Кто-то
6
04/12/2008
Automaatjuhtimissüsteemid
Kontrolltöö #2
Использование нейросетей для синтеза PID-генератора. Известно, что при правильном
выборе пропорционального, дифференциального и интегрального компонентов PIDрегулятор может управлять линейной системой:
1
WPID ( s ) = K1 + K 2 ⋅ + K 3 ⋅ s
s
Коэффициенты усиления K1, K2 и K3 — линейные множители. Когда вместо них использовать
3 различных нейросети NN1, NN2 и NN3, тогда при помощи такого регулятора можно
управлять и нелинейными системами.
© Кто-то
7
04/12/2008
Download