
- •Искусственный интеллект. Основные направления и этапы развития.
- •Структура мозга. Уровни моделирования. Основные элементы моделей.
- •Виды функций активации
- •Классификация нейронных сетей
- •Применение нейронных сетей
- •Методика решения формализуемых задач в нейросетевом базисе
- •Настройка нейронной сети на решение прикладных задач
- •Обучение нс Основные понятия
- •Основные алгоритмы обучения нс без обратных связей
- •Персептронные алгоритмы обучения Алгоритм обучения по правилу Хебба
- •Алгоритм обучения Розенблатта
- •Процедура Уидроу-Хоффа
- •Обучение многослойной нейронной сети без обратных связей Математическая постановка задачи обучения
- •Алгоритм обратного распространения ошибки
- •Генетические алгоритмы оптимизации
- •Суть генетического алгоритма
- •Методы формирования популяции
- •Иллюстрация работы генетического алгоритма
- •Особенности реализации генетических алгоритмов
- •Модификация основных параметров га
- •Мобильные га
- •Динамическое изменение параметров в процессе выполнения га
- •Разновидности га
- •Применение генетического алгоритма к обучению многослойного персептрона
- •Рекуррентные и рециркуляционные сети
- •Сеть Хопфилда
- •Применение сети Хопфилда к решению задач комбинаторной оптимизации
- •Сеть Хемминга
- •Самоорганизующиеся нейронные сети Самоорганизация в нс
- •Конкурентное обучение
- •Сеть Кохонена
- •Алгоритмы кластеризации
- •Пороговый алгоритм
- •Алгоритм максимального расстояния
- •Алгоритм внутригруппового среднего (метод k-средних, k-means clustering, c-means clustering)
- •Алгоритм нечётких k-средних (fuzzy c-means clustering)
- •Алгоритм состязания процедур соединения и разделения.
- •Сети адаптивного резонанса
- •Основы адаптивного резонанса
- •Архитектура art
- •Комбинированные нс
- •Иерархический классификатор
- •Нейронные сети с функциональными связями
- •Решающие деревья
- •Методы проектирования нейросетевых архитектур для решения прикладных задач
- •Выбор топологии нс для решения задач нейроуправления
- •Практическое применение нс Управление движением робота по заданной траектории
- •Обучение и формирование обучающей выборки для управления мобильным роботом
- •Тестирование робота
- •Автономное управление мобильным роботом
Обучение многослойной нейронной сети без обратных связей Математическая постановка задачи обучения
Многие прикладные задачи, решаемые с использованием нейронной сети, такие как задача распознавания образов, задача прогнозирования, задача управления и прочие, сводятся к следующей математической постановке:
Необходимо построить отображение вектора X в Y такое, что на каждый входной сигнал, представленный вектором X, формировался правильный выходной сигнал (вектор Y).
Для решения поставленной задачи будем использовать многослойную нейронную сеть без обратных связей, имеющую n входов и m выходов.
Каждому входу нейронной сети соответствует
входной сигнал
,
,
а каждому выходу –выходной сигнал
,
.
Тогда входу НС соответствует вектор X
с координатами
,
выходу – вектор Y с координатами
.Нейронная
сеть в этом случае представляется как
некоторая многомерная функция F:
XY.
Если множество весовых коэффициентов входных сигналов НС не упорядочено, то функция F, реализуемая сетью, является произвольной.
Совокупности всех весовых коэффициентов всех нейронов соответствует вектор W. Пусть множество векторов W образует пространство состояний нейросети. Начальному состоянию сети соответствует некоторый произвольный вектор W0. Тогда обученной нейросети соответствует W*, т. е. такое состояние, при котором реализуется однозначное отображение F: XY.
Задача обучения нейронной сети: задача перехода от некоторого начального состояния сети, соответствующего W0, к конечному состоянию, соответствующему W*.
Для решения задач управления:
X – вектор контролируемых параметров;
Y – вектор кода управления.
Для решения задач прогнозирования:
X – вектор временного ряда контролируемых параметров;
Y – подмножество контролируемых параметров X.
С математической точки зрения задача обучения нейронной сети сводится к продолжению функции, заданной в конечном числе точек, на всю область определения. Входные данные считаются аргументами функции, а ответ сети – значением функции.
В основе процедуры построения отображения F лежит теорема Колмогорова о представлении непрерывных функций нескольких переменных в виде суперпозиции непрерывных функций одной переменной, обобщённая Хехт-Нильсеном применительно к НС:
Для любого множества пар векторов X и Y существует двухслойная однородная (с одинаковыми функциями активации) нейронная сеть с прямым распространением сигналов, которая выполнит отображение XY, выдавая на каждый входной сигнал правильный выходной.
Таким образом, уже с помощью двухслойной нейронной сети может быть построено отображение F (может быть реализована произвольная функция многих переменных).
Теорема о функциональной полноте НС (вытекает из предыдущих теорем):
Любая непрерывная функция,заданная на ограниченном множестве, может быть равномерно приближена функциями, вычисляемыми НС, если функция активации нейрона непрерывна и дважды дифференцируема.
Вывод: многослойный персептрон с числом слоёв более двух является универсальным аппроксиматором функций.
Основной недостаток использования такой сети является то, что в качестве функции активации нейронов может использоваться только сигмоидальная функция. Для преодоления данного недостатка при решении прикладных задач стали использовать сигмоидальную функцию активации с подстраиваемыми параметрами.
С математической точки зрения задача обучения нейронной сети сводится к продолжению функции, заданной в конечном числе точек, на всю область определения. При таком подходе входные данные считаются аргументами функции, а ответ сети – значением функции.
Пусть имеется обучающая выборка, состоящая из k пар векторов (при стратегии обучения с учителем):
,
.
Ошибка сети E, появляющаяся в некотором состоянии Wj, может быть представлена как средняя квадратичная ошибка, усреднённая по выборке
,
(1)
где k – число примеров в обучающей выборке; Yi – эталонный выходной вектор i-го примера.
Если сеть не делает ошибки, то E = 0. Следовательно, необходимо, чтобы в обученном состоянии сети ошибка сети стремилась к минимуму.
Задача обучения нейронной сети: поиск минимума функции ошибки в пространстве состояний W.
Алгоритм обучения многослойной нейросети (набор обучающих правил, определяющих изменение межнейронных связей в ответ на входное воздействие):
определённым образом устанавливаются значения весовых коэффициентов межнейронных связей
из базы данных в соответствии с некоторым правилом поочерёдно выбираются примеры (пары обучающей выборки Xi, Yi: входной вектор Xi подаётся на вход сети, а желаемый результат Yi на выход сети).
вычисляется ошибка сети E0 по формуле (1)
если ошибка велика, то осуществляется подстройка весовых коэффициентов для её уменьшения
процесс повторяется до тех пор, пока ошибка не станет меньше заданной, либо закончится время обучения
Ошибка обучения E0 – внутренний критерий (вычисляется на основе результатов эксперимента – обучения НС на основе примеров из обучающей выборки).
Для оценки полученной ошибки обучения необходимо использовать внешний критерий, которым является ошибка обобщения Eобщ., вычисляемая по проверочной (тестовой) выборке.
Необходимо, чтобы созданная модель объекта обладала свойством непротиворечивости: ошибка обобщения сохраняется на приемлемом уровне при реализации отображения не только для примеров исходного множества пар (Xi,Yi), , но и для всего множества возможных входных векторов.
Таким образом, при синтеза НС для отображения зависимости F: XY с наименьшей ошибкой обучения проводится разделение исходных данных на две части:
обучающая выборка;
тестовая выборка.
Если НС хорошо отслеживает примеры из обучающей выборки, но плохо работает с примерами из тестовой, то возникает эффект переобучения НС, то есть в процессе работы с тестовой выборкой ошибка сети возрастает. Для контроля правильности работы сети вводится подтверждающее множество (подтверждающая выборка), на котором проверяется адекватность получаемого отображения F: XY объекту с задаваемой ошибкой обобщения.
Основные проблемы при обучении НС:
большое число параметров НС ограничение по памяти;
необходимость обеспечения параллельности вычислений; процесс параллелизма важен в процессе функционирования нейронной сети в реальном масштабе времени;
многокритериальность задачи оптимизации;
необходимость нахождения достаточно широкой области, в которой значения всех минимальных функций стремятся к минимуму;
разделение всей базы примеров на обучающую, тестовую и подтверждающую выборки.