Чернова:Градиентно спускане


Градиентно спускане (на английски: Gradient Descent) е метод (алгоритъм) за намиране на локален минимум на диференцируема функция.

Идеята е чрез итеративен подход да се намери най-ниските стойности на функция, като се правят постепенни стъпки в посока обратна на градиента. Обратното на градиентно спускане е градиентно изкачване, което има за цел да намери локален максимум, чрез стъпване в посока на градиента. Метода на градиентното спускане е широко използван в машинното обучение, за минимизиране на функцията на загубата.

Има три вида алгоритъма за обучение на невронни мрежи чрез градиентно спускане. Те са batch gradient descent, mini-batch gradient descent и стохастично градиентно спускане, който е е в основата на тренирането на повечето невронни мрежи в днешно време.

Описание редактиране

Градиентното спускане се базира на наблюдението, че ако функцията с множество променливи  :   е диференцируема в околност  , то   намалява най-бързо ако се премине от   в посока на отрицателния градиент  . Всяка следваща стъпка се изчислява според формулата  . От нея следва, че за достатъчно малка скорост на обучение   , имаме  . Изваждаме градиента  , защото искаме да движим срещу него и към локалния минимум.

Имайки предвид това, при прилагане на метода се започва от предположение   за локален минимум от   и се разглежда последователността  , такава, че  . Стойността на размера на стъпката   може да се променя след всяка итерация. Получава се монотонна редица  . Накрая редицата трябва да е сходяща и да се доближава до желания локален минимум.

Пример за градиентно спускане в реалния свят редактиране

Градиентното спускане може да бъде илюстрирано чрез конкретен сценарий. Да си представим, че човек се намира високо в планината и иска да слезе (т.е. да намери локалния минимум). Пред него, обаче има гъста мъгла и видимостта е изключително намалена. Пътеката за слизане не се вижда, така че той е принуден да използва само информацията от стръмността на наклона. Логично е този човек да следва местата с най-голям наклон надолу за да слезе възможно най-бързо. Така след като изпробва няколко посоки, той накрая ще успее или да слезе от планината или да заседне в някоя дупка (т.е. локален минимум или седлова точка).

В този пример, човекът представлява алгоритъма, а пътят поет надолу по планината, последователността от точки   които човекът ще изследва. Стръмността на пътят представлява производната на функцията   в точка  . Пътят по който се движи е в съответствие с отрицателния градиент на   в т.  . Времето в което пътува преди отново да се съобрази с наклона на пътя е размерът на стъпката..

Литература редактиране

J. W. Neuberger (2009). Sobolev gradients and differential equations

Източници редактиране