Схемы обучения нейронных сетей

Классификация принципов обучения нейронных сетей

Обучение нейронных сетей – это процесс нахождения оптимальных значений всех переменных весовых коэффициентов (некоторые синаптические связи могут быть постоянными). При этом устанавливаются связи между входными и выходными сигналами НС. Процесс этот носит последовательный характер.

В процессе обучения НС в определенный момент запускается механизм изменения состояния сети.

Рассмотрим обобщенную классификацию подходов к обучению искусственных нейронных сетей.

1. Организация обучения. По данному признаку алгоритмы обучения НС разделяются на 3 класса:

· обучение с учителем (наблюдаемое обучение);

· самообучение (без учителя);

· смешанное обучение.

В алгоритмах обучения с учителем сети предъявляется обучающая выборка (ОВ). Она состоит из конечного множества примеров (обучающих пар), состоящих из наборов входных данных (входных векторов) и желательных выходных сигналов (целевых векторов):

(Ai,Di), i=1,…,m.

Каждый пример представляет собой задачу одного и того же типа. Если на некоторый входной вектор Ai НС выдает сигнал Yi, несоответствующий целевому вектору Di, возникает состояние ошибки (d). Сеть по некоторому внутреннему алгоритму подстраивает веса своих синаптических связей, предотвращая повторное появление этой ошибки.

Задача поиска минимума ошибки является задачей безусловной оптимизации. Для ее решения известно множество методов. В теории оптимизации функция ошибки d называется целевой функцией. При обучении НС применяются следующие методы теории оптимизации:

1) для небольшого количества параметров — стабилизированные методы Ньютона, Гаусса-Ньютона, Левенберга-Маркардта;

2) для среднего количества параметров — квазиньютоновские методы;

3) для большого количества параметров — метод сопряженных градиентов.

В алгоритмах обучения без учителя сети тоже предъявляется обучающая выборка. Однако она состоит лишь из входных векторов Ai:

(Ai), i=1,…,m.

Выходы НС формируются самостоятельно, а веса изменяются по алгоритму, учитывающему только входные и производные от них сигналы. При самообучении используется методика автоматического разбиения входных данных на заданное число классов, без указания их характерных признаков.

Среди алгоритмов обучения данного класса существуют алгоритмы: 1) подстраивающие только синаптические веса, 2) изменяющие также и структуру сети, то есть количество нейронов и их взаимосвязи (самоорганизующиеся сети).

При смешанном обучении часть весов синапсов определяется посредством обучения с учителем, в то время как остальная вычисляется с помощью самообучения.

2. Способ предъявления примеров. Примеры в процессе обучения на нейронную сеть можно подавать последовательно (в соответствии с какой-либо схемой) из упорядоченного обучающего множества (упорядоченный способ) либо случайно (случайный способ).

Проход по всем примерам обучающей выборки называется циклом обучения.

3. Способ коррекции весов (режим обучения). По способу коррекции весов различают обучение:

· по одиночным примерам;

· пакетное обучение (batch update);

· обучение с моментом.

3. Характер алгоритма обучения. С точки зрения построения процесса обучения алгоритмы обучения разделяют на две группы:

· детерминированные;

· стохастические.

В первой из них подстройка весов представляет собой жесткую последовательность действий, во второй – она производится на основе действий, подчиняющихся некоторому случайному процессу.

Обучение НС можно рассматривать как непрерывный или как дискретный процесс. В соответствии этим алгоритмы обучения могут быть описаны либо дифференциальными уравнениями, либо конечно-разностными.

В начале обучения веса и пороговые значения нейронов инициализируются случайными величинами. Поэтому ошибка в начале обучения очень велика, и есть смысл вводить большие коррекции параметров. Ближе к концу обучения ошибка значительно снижается, и коррекции должны быть малыми. Чтобы менять длину шагов по параметрам, используют:

· метод расписания обучения (learning schedule);

· стохастические алгоритмы.

Алгоритмы с расписанием обучения сходятся быстрее, т.к. в начале используются большие коррекции, и дают более точные результаты за счет точной настройки параметров в конце обучения. Здесь преодолеваются локальные минимумы на начальном этапе обучения. Коррекции настолько велики, что параметры "проскакивают" оптимальное значение и сеть попадает в область притяжения другого минимума, а не задерживается в первом найденном минимуме.

Технологии обучения

Если использовать небольшой набор обучающих данных, то при обучении сеть будет слишком близко следовать обучающим данным (переобучаться) и воспринимать не столько структуру данных, сколько содержащиеся в ней помехи. Способность сети не только учиться на обучающем множестве, но и показывать хорошие результаты на новых данных (хорошо предсказывать) называется обобщением.

Стандартный способ обучения НС заключается в том, что сеть обучается на одном из множеств базы данных, а на другом проверяется результат, т.е. проверочное множество для обучения не используется. Первое из этих множеств называют обучающим, второе - тестовым. Качество обобщения данных можно определить, наблюдая за величиной ошибки, вычисленной на тестовом множестве данных.

Если после нескольких итераций обучающего алгоритма ошибка обучения падает почти до нуля, в то время как ошибка обобщения сначала убывает, а потом снова начинает расти, то это признак переобучения, и при росте ошибки обобщения обучение следует прекра­тить. В данном случае тестовое множество используется при обучении НС для определения момента «ранней остановки», поэтому по окончании обучения следует проверить работу сети еще на одном - третьем множестве (подтверждающем).

 
 

Если тестовое множество используется на каждой итерации при обучении НС для определения «ранней остановки», то такой процесс называется обучением с перекрестной проверкой. На рис. 3.17 представлены стратегии обучения с перекрестной (или кросс-) проверкой. Переключение между типами множеств (обучающим, тестовым, подтверждающим) во время процедуры обучения может осуществляться вероятностным способом. Такой подход позволяет остановить обучение, когда частота появления ошибок обобщения начнет расти.

Несмотря на все усилия по обучения НС, она все же может не обучаться. Причины этого могут быть в следующем:

1) противоречивость ОВ;

2) нерепрезентативность ОВ;

3) неравномерность ОВ, т.е.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: