Параметры функции
Xmin: Xmax: Nx:
Ymin: Ymax: Ny:
Управление камерой:
Параметры градиентного спуска:
Y0: (начальная точка по Y)
Ne: (количество итераций)
α: (скорость обучения)
Метод:
Методы оптимизации градиентного спуска
На сегодняшний день для обучения нейронных сетей нет ничего лучше алгоритма обратного распространения ошибки, использующего градиентный спуск для уменьшения целевой функции. В его обычном варианте он сходится довольно долго, из-за чего приходится тратить много времени для достижения наилучшей точности обучения, а самое главное, обычный градиентный спуск очень любит застревать в локальных минимумах, так и не найдя оптимального положения.
Побороть эту проблему помогают различные методы оптимизации градиентного спуска, которых в 2019 году насчитывается около десяти. Некоторые из них используют момент импульса для выхода из локальных минимумов, некоторые делают упор на адаптивную скорость обучения, а некоторые комбинируют всё и сразу. Решить, какой именно алгоритм подойдёт для конкретной задачи довольно проблематично, поэтому приходится экспериментировать и пробовать один за другим.
Если вам интересно посмотреть, как работают эти алгоритмы, то воспользуйтесь простым визуализатором градиентного спуска на этой странице. Он позволяет выбрать один из десяти алгоритмов оптимизации и найти экстремум одной из четырёх функций двух переменных:
Доступные методы оптимизации
- Обычный градиентный спуск (SGD)
- Градиентный спуск с моментом (SGDm)
- Адаптивный градиент (Adagrad)
- RMSprop
- Adadelta
- Ускоренные градиенты Нестерова (NAG)
- Адаптивный момент (Adam)
- Adamax
- Nadam (NAG + Adam)
- AMSgrad
Доступные функции
- f1(x, y) = y2 - x2
- f2(x, y) = sin x + cos y
- f3(x, y) = sin (x2+y2)x2+y2
- f4(x, y) = (sin
+πx10sin15) * cos y4πx5 - f4(x, y) = (sin