Россия, Москва |
Градиентные алгоритмы обучения сети
Учет ограничений при обучении
Для параметров сети возможны ограничения простейшего вида:
![\begin{align*}
w_{i\min} \le w_i \le w_{i\max}.
\end{align*}](/sites/default/files/tex_cache/703a9e51c7ff5217db35250f1b25f509.png)
Они вводятся из различных соображений: чтобы избежать слишком крутых или, наоборот, слишком пологих характеристик нейронов, чтобы предотвратить появления слишком больших коэффициентов усиления сигнала на синапсах и т.п.
Учесть ограничения можно, например, методом штрафных функций либо методом проекций:
- Использование метода штрафных функций означает, что в оценку
добавляется штрафы за выход параметров из области ограничений. В~градиент
вводятся производные штрафных функций.
- Проективный метод означает, что если в сети предлагается изменение
параметров
и
для некоторых
выходит за ограничения, то следует положить
![\begin{align*}
w_i\colon =
\left \{
\begin{array}{rcl}
W_i,\quad \mbox{ если }& w_{i\min} \le W_i \le w_{i\max}\\
w_{i\max},\quad \mbox{ если }& W_i > w_{i\max}\\
w_{i\min},\quad \mbox{ если }& W_i < w_{i\min}\\
\end{array}
\right.
\end{align*}](/sites/default/files/tex_cache/9f03eff49ccb9a394703dbcd5af783bc.png)
Практика показывает, что проективный метод не приводит к затруднениям. Обращение со штрафными функциями менее успешно. Далее будем считать, что ограничения учтены одним из методов, и будем говорить об обучении как о безусловной минимизации.
Выбор направления минимизации
Пусть задано начальное значение вектора параметров и
вычислена функция
оценки
. Процедура одномерной оптимизации дает
приближенное
положение минимума
(вообще говоря, локального).
Наиболее очевидный выбор направления для одномерной
оптимизации -
направление антиградиента
:
![\begin{align*}
s = -\nabla E.
\end{align*}](/sites/default/files/tex_cache/9be9e28e73a1a01d7c62eb9f2f827160.png)
Выберем на каждом шаге это направление, затем проведем одномерную
оптимизацию, потом снова вычислим градиент и т.д. Это -
метод
наискорейшего спуска, который иногда работает хорошо. Но
неиспользование
информации о кривизне функции оценки (целевой функции) и резкое замедление
минимизации в окрестности точки оптимального решения, когда градиент
принимает очень малые значения, часто делают алгоритм наискорейшего спуска
низкоэффективным.
Другой способ - случайный выбор направления для одномерной
оптимизации.
Он требует большого числа шагов, но зато предельно прост — ему необходимо
только прямое функционирование сети с вычислением оценки.