Читать книгу Теория и практика распознавания инженерных сооружений, промышленных предприятий и объектов железнодорожного транспорта при дешифрировании аэроснимков - А. С. Молчанов - Страница 13
2. Основы применения искусственного интеллекта при дешифрировании аэроснимков
2.8. Алгоритм обучения однослойного нейрона
ОглавлениеОбучение нейронной сети в задачах классификации происходит на наборе обучающих примеров X(1), X(2), …, X(Р), в которых ответ – принадлежность к классу А или B – известен. Определим индикатор D следующим образом: положим D(X)=1, если X из класса А, и положим D(X)=0, если X из класса B, то есть
где всякий вектор X состоит из n компонент: X=(x1, x2 …., xn).
Задача обучения персептрона состоит в нахождении таких параметров w1, w2, …, wn и h, что на каждом обучающем примере персептрон выдавал бы правильный ответ, то есть
Если персептрон обучен на большом числе корректно подобранных примеров и равенство (2.2) выполнено для почти всех X(i),i=1,Р, то в дальнейшем персептрон будет с близкой к единице вероятностью проводить правильную классификацию для остальных примеров. Этот интуитивно очевидный факт был впервые математически доказан (при некоторых предположениях) в основополагающей работе наших соотечественников В. Вапника и А. Червоненскиса еще в 1960-х годах.
На практике, однако, оценки по теории Вапника – Червоненскиса иногда не очень удобны, особенно для сложных моделей нейронных сетей. Поэтому практически, чтобы оценить ошибку классификации, часто поступают следующим образом: множество обучающих примеров разбивают на два случайно выбранных подмножества, при этом обучение идет на одном множестве, а проверка обученного персептрона – на другом.
Рассмотрим подробнее алгоритм обучения персептрона.
Шаг 1. Инициализация синаптических весов и смещения.
Значения всех синаптических весов модели полагают равными нулю: wi=0, i=1,n; смещение нейрона h устанавливают равны некоторому малому случайному числу. Ниже, из соображений удобства изложения и проведения операций будем пользоваться обозначением w0= —h.
Обозначим через wi(t), i=1,n вес связи от i-го элемента входного сигнала к нейрону в момент времени t.
Шаг 2. Предъявление сети нового входного и желаемого выходного сигналов.
Входной сигнал X=(x1, x2 …., xn) предъявляется нейрону вместе с желаемым выходным сигналом D.
Шаг 3. Адаптация (настройка) значений синаптических весов. Вычисление выходного сигнала нейрона.
Перенастройка (адаптация) синаптических весов проводится по следующей формуле:
где D(t) – индикатор, определенный равенством (2.1), а r – параметр обучения, принимающий значения меньшие 1.
Описанный выше алгоритм – это алгоритм градиентного спуска, который ищет параметры, чтобы минимизировать ошибку. Алгоритм итеративный. Формула итераций выводится следующим образом.
Введем риск
где суммирование идет по числу опытов (t – номер опыта), при этом задано максимальное число опытов – Т.
Подставим вместо F формулу для персептрона, вычислим градиент по w. В результате мы получим указанную выше формулу перенастройки весов.
В процессе обучения вычисляется ошибка δ(t)=D(t) – y(t).
Рисунок 2.8 – График изменения ошибки в процессе обучения нейросети
На рисунке 2.8 изображен график, показывающий, как меняется ошибка в ходе обучения сети и адаптации весов. На нем хорошо видно, что, начиная с некоторого шага, величина δ(t) равна нулю. Это означает, что персептрон обучен.