почему не колеблется сточасть c градиентный спуск - PullRequest
0 голосов
/ 30 мая 2020

В пакетном градиентном спуске параметры обновлялись на основе общей / средней потери всех точек. В Stochasti c градиентный спуск или SGD мы обновляем параметры после каждой точки вместо одной эпохи. Итак, допустим, является ли конечная точка выбросом, вызывающим резкие колебания всей подобранной линии. Насколько это надежно. или сходиться на таком контуре Контур SGD

1 Ответ

0 голосов
/ 30 мая 2020
  • Хотя верно, что в своей наиболее чистой форме SGD работает только с одной точкой выборки, в действительности это не доминирующая практика. На практике мы используем мини-серию, скажем, 256, 128 или 64 образца, вместо того, чтобы работать с полным размером партии, содержащей все образцы в базе данных, которые могут быть более 1 миллиона образцов. Таким образом, очевидно, что работа с мини-партией, скажем, 256, намного быстрее, чем работа с 1 миллионом точек, и в то же время помогает уменьшить вариативность, вызванную использованием всего лишь одной точки выборки.

  • Второй момент - нет final point. Вы просто продолжаете перебирать набор данных. Скорость обучения SGD обычно довольно мала, скажем, 1e-3. Таким образом, даже если точка выборки окажется выбросом, неправильные градиенты будут масштабированы на 1e-3, и, следовательно, SGD не будет слишком сильно отклоняться от правильной траектории. Когда он выполняет итерацию по предстоящим точкам выборки, которые не являются выбросами, он снова будет двигаться в правильном направлении. ставка помогает SGD сильно не отклоняться от правильной траектории.

    Теперь слово stochastic в SGD также может подразумевать различные другие меры. Например, некоторые практики также используют отсечение градиента, то есть они ограничивают рассчитанный градиент до максимального значения, если градиенты значительно превышают установленный максимальный порог. Вы можете найти больше о градиентной обрезке в этом сообщении. Теперь это всего лишь одна уловка среди десятков других методов, и если вам интересно, можете прочитать исходный код популярной реализации SGD в PyTorch или TensorFlow.

...