Рассматривается принцип обучения нейронных сетей в системе оценки качества знаний. Определяется основные шаги обучения.
The principle of training of neural networks in system of an estimation of quality of knowledge is considered. It is defined the basic steps of training.
Система оценки качества знаний на основе нейронных технологий должна иметь возможность обучаться как на основе экспертных примеров, так и в процессе функционирования.
На основе экспертных оценок результатов тестирования, возможна перенастройка весовых коэффициентов для нейронной сети, что обеспечивает мобильность и адаптацию.
В многослойных сетях нужные выходные значения нейронов всех слоев, кроме последнего, неизвестны, и такую сеть невозможно обучить, руководствуясь только величинами ошибок на выходах сети. Наиболее приемлемым вариантом обучения в таких условиях является градиентный метод поиска минимума функции ошибки с рассмотрением сигналов ошибки от выходов нейронных сетей к ее входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы, таким является метод на основе обратного распространения ошибки. Это итеративный градиентный алгоритм обучения, который используется с целью минимизации среднеквадратичного отклонения текущего выхода от желаемого многослойных нейронных сетей.
Функция ошибки представляет собой сумму квадратов рассогласования (ошибки) желаемого выхода сети и реального. При вычислении вектора-градиента используется то, что функции активации имеют линейный вид, и производные от них легко вычисляются. Алгоритм действует циклически, итеративно, и его циклы принято называть эпохами.
На каждой эпохе на вход сети поочередно подаются все обучающие наблюдения, выходные значения сети сравниваются с целевыми значениями и вычисляется ошибка. Значение этой ошибки вместе со значением градиента поверхности ошибок используются для корректировки всех весов сети, после чего все действия повторяются.
Начальная конфигурация сети выбирается на основе экспертных данных. Процесс обучения прекращается в одном из трех случаев:
1) пройдено определенное количество эпох;
2) ошибка достигла некоторого определенного уровня малости;
3) ошибка перестала уменьшаться.
Алгоритм обучения можно представить в виде следующих шагов:
1) Задаются некоторые веса сети на основе экспертных оценок.
2) Начало эпохи: задаются k = 1 и E = 0.
3) Вводится обучающая пара (xk, yk). Вычисляется выход сети Ok.
4) Корректируются веса выходного нейрона W := W + j sk ok.
5) И веса нейронов скрытого слоя wi := wi + j sk Wi oik (1 – oik) xk.
6) Наращивается значение функции ошибки E := E + 0,5 (yk – Ok)2.
7) Если k < N, то k := k + 1 и переход к шагу 3, иначе переход на шаг 8.
8) Если E < Emax, то окончание всей процедуры обучения. Иначе начинается новый цикл обучения с переходом к шагу 2.
Рассмотренная процедура может быть легко обобщена на случай сети с произвольным количеством слоев и нейронов в каждом слое.
Сначала производится коррекция весов для выходного нейрона, а затем — для нейронов скрытого слоя, т. е. от конца сети к ее началу.
Отсюда название — обратное распространение ошибки. Ввиду использования для обозначений греческой буквы s эту процедуру обучения называют еще обобщенным дельта правилом.
Величина шага берется пропорциональной крутизне склона (так что алгоритм замедляет ход вблизи максимума) с некоторой константой j, которая и называется коэффициентом скорости обучения. Правильный выбор скорости обучения зависит от конкретной задачи и обычно осуществляется опытным путем. Эта константа может также зависеть от времени, уменьшаясь по мере продвижения алгоритма.
Классический метод обратного распространения относится к алгоритмам с линейной сходимостью и, кроме проблемы, связанной с невысокой скоростью сходимости, которая может привести даже к параличу (практически замирание процесса обучения), имеется проблема сходимости не к глобальному, а к локальным решениям. Функция ошибки может иметь несколько локальных минимумов, и нет гарантий, что процесс сойдется к тому из минимумов, который больше всех, т. е. является глобальным.
Нейросеть сталкивается с точно такой же трудностью. Сети с большим числом весов моделируют более сложные функции и склонны к переобучению. Сеть же с небольшим числом весов может оказаться недостаточно гибкой, чтобы смоделировать имеющуюся зависимость.
Чтобы этого избежать, часть наблюдений резервируют и используют для контроля за обучением сети на оставшихся векторах: если контрольная ошибка перестала убывать или даже стала расти, то сеть стала слишком близко аппроксимировать данные и обучение следует остановить. Если такое случилось, то обычно уменьшают число скрытых элементов, т. к. сеть является слишком мощной для задачи. Если же сеть была взята недостаточно богатой, то переобучения не произойдет, и обе ошибки — обучения и контрольная — вообще не достигнут достаточного уровня малости.
Адекватность каждого обучения проверяет эксперт, который или моделирует новые примеры для процесса обучения или прерывает процесс обучения.
Литература
Жуйков В.В. Подсистема перенастройки весовых коэффициентов системы оценки качества знаний [Текст] / В.В. Жуйков // Вестник московского городского педагогического университета. Серия «Информатика и информатизация образования» / Москва: МГПУ, Йошкар-Ола: МГУ, 2008г. №1(11), С. 196-197. – 0,25 п.л.