Критерии оценки обучения мнспр
В процедуре обучения требуется подобрать весовые коэффициенты связей и величины изменяемых параметров нейронов таким образом, чтобы получить желаемое функционирование (преобразование) НС. Обычно желаемое функционирование НС задается с помощью обучающей выборки, которая состоит из примеров. Входной вектор и соответствующий ему желаемый выходной вектор называются примером:
|
|
(9) |
где
n —
номер примера,
—
входной вектор,
—желаемый
выходной вектор,No
— число входов, NL
— число выходов НС.
При
обучении на вход НС подается входной
вектор Xn
из примера P.
В процессе функционирования НС формирует
выходной вектор
,
который сравнивается с заданным желаемым
векторомRn.
Критерий
оценки
функционирования НС по отдельному
примеру можно записать в виде следующего
функционала:
|
|
(10) |
Процедура обучения, основанная на критерии оценки (10), заключается в последовательном предъявлении одиночных примеров. С помощью алгоритма оптимизации минимизирующего функцию оценки(10), осуществляется изменение параметров сети, улучшающее ее работу. После завершения процедуры обучения по одному примеру НС с новыми значениями параметров предъявляется следующий пример.
При последовательном предъявлении одиночных примеров обучение происходит медленно и неустойчиво, что объясняется наличием у НС свойства "забывания" на уже обученные примеры на предыдущих шагах. Функция оценки в этом случае может уменьшаться для оного примера, но увеличиваться для других. Возможно длительное колебание функции оценки в ходе обучения, которое не приводит к обучению НС по всем примерам. Ситуация типичная для многокритериальных задач. Поэтому оценку обучения НС лучше производить, используя сразу группу примеров.
Иногда возможно использовать сразу все примеры для обучения. Однако такой подход не всегда применим, и имеет немало проблем:
Всех примеров заранее может не быть или обучающая выборка может расширяться.
Количество примеров для обучения может превышать возможности аппаратной или программной реализации НС.
Формирование функции оценки по всем примерами может порождать сложную гиперповерхность минимизируемой функции (наличие большого числа локальных минимумов, малая крутизна спуска и т.д.).
Поэтому лучше использовать принцип постраничного обучения. Страница — множество примеров, предъявляемое сети для обучения и на основании которого производится изменение параметров сети.
|
|
(11) |
где p — число примеров в странице.
Можно предложить следующие рекомендации по формированию страниц обучающей выборки. Первую страницу рекомендуется формировать из опорных (ключевых) примеров, характеризующих особенности функции, которую должна будет реализовывать обученная НС. Например, если сеть обучают классифицировать образы, то в первую страницу рекомендуется включить наиболее ярких представителей каждого класса.
В ходе обучения объем страницы и разнообразие примеров на ней можно увеличить: совсем необученная сеть слишком медленно учится на больших страницах, а после "начального обучения" появляются возможности для быстрого освоения все больших страниц.
Важно, чтобы каждая страница была достаточно разнообразной, и в ней присутствовали представители разных классов.
Эксперименты показывают, что постраничное обучение в задачах распознавания визуальных образов и классификации дает выигрыш не менее, чем в 10-100 раз при прочих равных условиях.
Выбор направления и шага для изменения параметров сети осуществляется на основании оценки функционирования МНСПР сразу по всем примерам страницы. При работе с данной страницей каждый шаг изменения параметров служит для минимизации функции оценки, которая вычисляется на основании всех примеров данной страницы. Это может быть сумма оценок (средняя оценка), сумма с коэффициентами, средняя квадратичная оценка и т.п.
|
|
(12) |
|
|
(13) |
|
|
(14) |
Весовые коэффициенты для оценок могут назначаться, исходя из субъективного представления о важности данного примера, текущей оценки, скорости, с которой сеть учится решать пример (медленно учится — можно увеличить коэффициент), и т.п.
При постраничном обучении важно иметь в виду, что не следует переучивать сеть на какой-либо конкретной странице, то есть не следует добиваться хороших результатов по распознаванию примеров, представленных на этой странице. Рекомендуется после того, как достигнуто уменьшение средней оценки на странице вдвое, переходить к следующей странице с тем, чтобы впоследствии вернуться к ней после предъявления всех страниц.
Рекомендуется также включать на каждую страницу как можно более разнообразные примеры, желательно конфликтующие друг с другом. Если нет априорных оценок, конфликтуют данные примеры или нет, то после нескольких тактов обучения об этом можно судить исходя из анализа динамики индивидуальных оценок этих примеров.
Вычисление градиента с помощью метода обратного распространения ошибки
Если выбраны множество обучающих примеров и способ вычисления суммарной оценки, задача обучения нейронной сети превращается в задачу многомерной оптимизации.
Необходимо оговорить сразу, что в процессе обучения и множество обучающих примеров, и способ вычисления оценки могут меняться — на начальных этапах может быть разумно ограничиться небольшим набором примеров и одним из способом оценивания и в последствии расширяя множество примеров и меняя оценки в ходе обучения. Такая вариация числа примеров в странице и функции оценки применима, когда заданы большое множество обучающих примеров и осуществляется на всех этапах обучения.
Решать задачи оптимизации функции оценки можно различными способами. Существует не мало методов, не использующих производных. Например, алгоритмы изменения параметров в случайном направлении, а также различные модификации этого метода позволяют решать подобные оптимизационные задачи и не требуют значительной дополнительной памяти (по сравнению с процедурой функционирования). Но методы, использующие производные по параметрам (градиент), обычно работают быстрее.
Как указывалось выше, НС имеет большое количество изменяемых параметров и процедура последовательного вычисления вектора градиента требует значительных затрат по времени. Естественно, возникает вопрос: возможно ли использовать НС для вычисления градиента. Рассмотрим способы вычисление производной сложной функций предложенные в работе.
Пусть
заданы функции одной переменной
.
Образуем из них функцию
|
|
(15) |
Вычисление
F
можно представить как результат работы
n
автоматов, каждый из которых имеет один
вход и выдает на выходе значение
(рис.4). Частная производная функции F по
входу
имеет
вид
|
|
(16) |
Чтобы
построить систему автоматов, вычисляющую
,
надо дополнить исходные автоматы такими
функциями, которые вычисляют
,
и еще цепочкой изn–1
одинаковых автоматов, реализующих
произведение 2-х входов. Для пояснения
метода обратного распространения
необходимо ввести следующие понятия:
прямое функционирование (распространение сигнала от входа к выходу для вычисления значения функции F);
прямое нагруженное функционирование (распространение сигнала от входа к выходу для вычисления значения функции F и частных производных элементарных функций по входу
и
параметрам
);обратное функционирование (распространение сигнала от выхода ко входу для вычисления всех необходимых частных производных функции по параметрам
).
Реализацию
с помощью сети автоматов можно представить
в виде, изображенном на рис 2.5. Сначала
происходит прямое нагруженное
функционирование, при котором вычисляются
и запоминаются значения
,
и т.д.

Рис.4. Последовательность автоматов для вычисления сложной функции

Рис.5. Последовательность автоматов для вычисления производной сложной функции
Для
каждого автомата обратного функционирования
сформированы по одному значению входа,
а у самого правого — оба. Поэтому он
может сработать и начать передачу
сигнала справа налево (обратное
функционирование). На выходе последнего
автомата получим
.
Однако
при решении минимизационных задач
требуется найти вектор градиента по
параметрам функции. Рассмотрим функции
2-х переменных
,
одна из которых входной сигнал, а вторая
изменяемый параметр. Для функции 2-х или
более переменных следует разбивать их
на две группы: изменяемые параметры
и входные переменныеx.
Смысл этого разделения заключается в
том, что значения изменяемых параметров
хранятся при автомате, а значения входных
переменных подаются на автомат. Рассмотрим
вычисление частных производных по
параметрам
с использованием метода обратного
распространения для функции
|
|
(17) |
Частные
производные функции F по параметрам
имеют
вид
|
|
|
|
|
(18) |
|
… |
|
|
|
|
Используя
метод обратного распространения ошибки
схему вычисления частных производных
по параметрам можно представить в виде,
приведенном на Рис.6. При прямом
функционировании вычисляются значения
частных производных
,
и запоминаются для использования при
обратном функционировании.

Рис.6. Схема вычисления частных производных сложной функции
Процесс
обратного функционирования заключается
в последовательном вычислении цепочки
величин
двойственныхxi.
На вход цепи обратного распространения
подается сигнал +1 (
)
и
вычисляются по следующим уравнениям
|
|
(19) |
В
ходе обратного функционирования
вычисляются производные
,
которые являются величинами
приi
= 1,...,n.
Частные производные по параметрам
находятся по формуле
|
|
(20) |
Переходя к применению метода обратного распространения для НС, определим функции которые используются в ней. При прямом функционировании сигнал в сети проходит через функции преобразования синапсов и функции нейронов. Следовательно, прямое распространение дополнительно необходимо вычислять частные производные функций нейронов и функций синапсов.
При
прохождении сигнала через функцию
преобразования связи
имеем следующие частные производные
по входу
|
|
(21) |
и по весу
|
|
(22) |
Нелинейное преобразование, осуществляемое в j-м нейроне k-го слоя, которое определятся уравнением (6), имеет частную производную по входу
|
|
(23) |
и по параметру
|
|
(24) |

Рис.7. Схема прямого и обратного функционирования НС для одного нейрона
Структура нейрона с прямым нагруженным и обратным распространением сигнала приведена на рис.7. Для построения схемы обратного распространения точки ветвления заменяются на сумматоры, а сумматоры заменяются точками ветвления.
В качестве входного вектора для обратного функционирования принимаются величины , равные частной производной функции оценки (10) по выходу нейронной сети
|
|
(25) |
Дальнейшее распространение сигнала происходит в соответствии с уравнением для k = L–1,...,1
|
|
(26) |
В процессе обратного распространения вычисляются частные производные функции оценки (2.10) для изменяемых параметров нейронов
|
|
(27) |
и для весов связей
|
|
(28) |
на основании которых формируется вектор градиента.
После получения вектора градиента можно проводить изменение весовых коэффициентов связей и параметров нейронов в соответствии с выбранным оптимизационным методом.







.
.
;
;
.
.
.






