logo
Нейронные_сети_1

3.2.3Обучение нейронной сети с учителем, как задача много­факторной оптимизации.

Понятие о задаче оптимизации.

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

Функция одной действительной переменной f(x) достигает локаль­ного минимума в некоторой точке x0, если существует такая -окрестность этой точки, что для всех x из этой окрестности, т.е. таких, что |x-x0|<, имеет место f(x)>f(x0). Без дополнительных предположений о свойствах гладкости функции выяснить, является ли некоторая точка достоверной точкой минимума, используя данное определение невозможно, поскольку любая окрестность содержит континуум точек. При примененнии численных методов для приближенного поиска минимума исследователь может столкнуться с несколькими проблемами. Во-первых, минимум функции может быть не единственным. Во-вторых, на практике часто необходимо найти глобальный, а не локальный минимум, однако обычно не ясно, нет ли у функции еще одного, более глубокого, чем найденный, минимума.

Математическое определение локального минимума функции в многомерном пространстве имеет тот же вид, если заменить точки x и x0 на вектора, а вместо модуля использовать норму. Поиск минимума для функции многих переменных (многих факторов) является существенно более сложной задачей, чем для одной переменной. Это связано прежде всего с тем, что локальное направление уменьшения значения функции может не соотвествовать нарпавлению движения к точке минимума. Кроме того, с ростом размерности быстро возрастают затраты на вычисление функции.

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

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

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

Постановка задачи оптимизации при обучении нейронной сети

Пусть имеется нейронная сеть, выполняющая преобразование F:XY векторов X из признакового пространства входов X в вектора Y выходного пространства Y. Сеть находится в состоянии W из пространства состояний W. Пусть далее имеется обучающая выборка (X,Y), =1..p. Рассмотрим полную ошибку E, делаемую сетью в состоянии W.

Отметим два свойства полной ошибки. Во-первых, ошибка E=E(W) является функцией состояния W, определенной на пространстве состояний. По определению, она принимает неотрицательные значения. Во-вторых, в некотором обученном состоянии W* , в котором сеть не делает ошибок на обучающей выборке, данная функция принимает нулевое значение. Следовательно, обученные состояния являются точками минимума введенной функции E(W).

Таким образом, задача обучения нейронной сети6 является задачей поиска минимума функции ошибки в пространстве состояний, и, следовательно, для ее решения могут применяться стандарные методы теории оптимизации. Эта задача относится к классу многофакторных задач, так, например, для однослойного персептрона с N входами и M выходами речь идет о поиске минимума в NxM-мерном пространстве.

На практике могут использоваться нейронные сети в состояниях с некоторым малым значением ошибки, не являющихся в точности минимумами функции ошибки. Другими словами, в качестве решения принимается некоторое состояние из окрестности обученного состояния W*. При этом допустимый уровень ошибки определяется особенностями конкретной прикладной задачи, а также приемлимым для пользователя объемом затрат на обучение.

Задача

Синаптические весовые коэффициенты однослойного персептрона с двумя входами и одним выходом могут принимать значения -1 или 1. Значение порога равно нулю. Рассмотреть задачу обучения такого персептрона логической функции “и”, как задачу многофакторной комбинаторной оптимизации. Для обучающей выборки использовать все комбинации двоичных входов.