Yiksan0315's Blog

Gradient Descent

# Tag:

  • Source/KU_DL

Gradient Descent

함수의 값이 낮아지는 방향으로 각 독립변수들의 값을 변형시키면서 함수가 최솟값을 갖도록 하는 독립변수의 값을 탐색하는 방법.

, for

즉, 일종의 optimization 기법이며 local minimum, convex를 찾는 데 목적이 있다.

와 같이 전개되므로, 변화량 을 최대화하는 방향으로 local minimum을 찾아야 한다. 이때는, 의 방향이 일치할 때이므로, 그 방향으로 를 update 시킨다.

steps

  1. 에서의 미분을 통해 기울기를 구한다.
  2. 구한 기울기의 반대 방향으로, 특정 값만큼 이동시킨 에서의 미분을 구한다.
    1. 보통 미분값을 더하거나 빼는 방식을 이용하며, 극솟값을 찾을 때는 빼고, 극댓값을 찾을 때는 더한다.
    2. 입력값 Matrix로 주어진다면 Gradient()을 통해, 편미분 값을 구하여 그의 norm을 더하거나 뺀다.
  3. 미분값이 0에 수렴할 때까지 반복한다.

이동시키는 거리는, 적절하게 정해져야 미분 값이 0이 되도록 찾아지게 되며, 이를 Learning Rate()라고 한다.

이 Learning Rate는, Cross Validation등을 통하여 찾아내게 된다. Learning rate을 곱하여, 적절히 값을 이동시킨다.

  • Learning Rate는 적절히 곱해져야 하며, 만약 너무 크게 정해진다면 진동이 일어나 수렴하지 않게 될 수도 있다.
  • 반대로, 너무 작다면 학습에 너무 오랜 시간이 걸릴 수 있다.

problem

  1. 어디까지나 local minumum을 찾는 기법으로, galobal optimal point라는 보장이 없다.
  2. 일일이 진행되므로, 그 학습 속도가 느리다.
toc test

이 페이지는 리디주식회사에서 제공한 리디바탕 글꼴이 사용되어 있습니다. 리디바탕의 저작권은 리디주식회사가 소유하고 있습니다.

This Font Software is licensed under the SIL Open Font License, Version 1.1.

Copyright 2025. yiksan0315 All rights reserved.