- •Лекция 4 Архитектура нейронных сетей Принципы обучения нейронных сетей
- •1. Особенности обучающихся нейронных сетей
- •2. Классификация принципов обучения нейронных сетей
- •3. Схемы обучения нейронных сетей
- •3.1. Схема обучения нейронной сети без учителя
- •3.2. Схема обучения нейронной сети с учителем
- •4. Алгоритмы обучения искусственных нс
- •4.1. Обучение без учителя
- •4.1.1. Правило Хебба
- •4.1.2. Правило Кохонена
- •4.2. Обучение с учителем
- •4.2.1. Дельта-правило
- •4.2.2. Правило обратного распространения ошибки
- •4.2.3. Стохастические алгоритмы
- •4.2.3.1. Машина Больцмана
- •4.2.3.2. Машина Коши
3. Схемы обучения нейронных сетей
Обучение НС можно рассматривать как непрерывный или как дискретный процесс. В соответствии этим алгоритмы обучения могут быть описаны либо дифференциальными уравнениями, либо конечно-разностными.
В начале обучения веса и пороговые значения нейронов инициализируются случайными величинами. Поэтому ошибка в начале обучения очень велика, и есть смысл вводить большие коррекции параметров. Ближе к концу обучения ошибка значительно снижается, и коррекции должны быть малыми. Чтобы менять длину шагов по параметрам, используют:
метод расписания обучения (learning schedule);
стохастические алгоритмы.
Алгоритмы с расписанием обучения сходятся быстрее, т.к. в начале используются большие коррекции, и дают более точные результаты за счет точной настройки параметров в конце обучения. Здесь преодолеваются локальные минимумы на начальном этапе обучения. Коррекции настолько велики, что параметры "проскакивают" оптимальное значение и сеть попадает в область притяжения другого минимума, а не задерживается в первом найденном минимуме.
Технологии обучения
Если использовать небольшой набор обучающих данных, то при обучении сеть будет слишком близко следовать обучающим данным (переобучаться) и воспринимать не столько структуру данных, сколько содержащиеся в ней помехи. Способность сети не только учиться на обучающем множестве, но и показывать хорошие результаты на новых данных (хорошо предсказывать) называется обобщением.
Стандартный способ обучения НС заключается в том, что сеть обучается на одном из множеств базы данных, а на другом проверяется результат, т.е. проверочное множество для обучения не используется. Первое из этих множеств называют обучающим, второе - тестовым. Качество обобщения данных можно определить, наблюдая за величиной ошибки, вычисленной на тестовом множестве данных.
Если после нескольких итераций обучающего алгоритма ошибка обучения падает почти до нуля, в то время как ошибка обобщения сначала убывает, а потом снова начинает расти, то это признак переобучения, и при росте ошибки обобщения обучение следует прекратить. В данном случае тестовое множество используется при обучении НС для определения момента «ранней остановки», поэтому по окончании обучения следует проверить работу сети еще на одном - третьем множестве (подтверждающем).
Если тестовое множество используется на каждой итерации при обучении НС для определения «ранней остановки», то такой процесс называется обучением с перекрестной проверкой. На рис. 4.6 представлены стратегии обучения с перекрестной (или кросс-) проверкой. Переключение между типами множеств (обучающим, тестовым, подтверждающим) во время процедуры обучения может осуществляться вероятностным способом. Такой подход позволяет остановить обучение, когда частота появления ошибок обобщения начнет расти.
Рис. 4.6. Обучение с перекрестной проверкой:
а,б – варианты чередования множеств
Несмотря на все усилия по обучения НС, она все же может не обучаться. Причины этого могут быть в следующем:
1) противоречивость ОВ;
2) нерепрезентативность ОВ;
3) неравномерность ОВ, т.е.