경사하강법

Namwoo Kwon·2022년 8월 14일
1

Deep Learning 기초

목록 보기
5/8

경사하강법

미분

  • 변수의 움직에 따른 함수값의 변화를 측정하기 위한 도구로 최적화에서 많이 사용되는 기법
  • 벡터가 입력인 다변수 함수의 경우 편미분을 사용
  • 각 변수 별로 편미분을 계산한 그레디언트 벡터를 이용하여 경사하강/경사상승법에 사용

  • 함수 f의 주어진 점 (x, f(x))에서의 접선의 기울기를 구한다

  • 한 점에서 접선의 기울기를 알면 어느 방향으로 점을 움직여야 함수값이 증가 • 감소 하는지 알 수 있음
    • 증가 시키고 싶다면 미분갑을 더함
    • 감소 시키고 싶으면 미분값을 뺌

  • 미분값을 더하면 경사상승법이라 하며 함수의 극대값의 위치를 구할 때 사용

  • 미분값을 빼면 경사하강법이라 하며 함수의 극소값의 위치를 구할 때 사용


그레디언트 벡터


경사하강법 단점

  • 이론적으로 경사하강법은 미분가능하고 볼록한(convex)한 함수에 대해선 적절한 학습률과 학습횟수를 선택했을 때 수렴이 보장됨
  • 하지만 비선형회귀 문제의 경우, 목적식이 볼록하지 않을 수 있으므로 수렴이 항상 보장되지는 않음


확률적 경사하강법 (SGD, Stochastic Gradient Desent)

  • 모든 데이터를 사용해서 업데이트하는 대신 데이터 한 개 또는 일부 활용하여 업데이트
  • 데이터 일부를 가지고 패러미터를 업데이트하기 때문에 연산자원을 좀 더 효율적으로 활용하는데 도움
  • 볼록이 아닌 (non-convex) 목적식은 SGD를 통해 최적화할 수 있음

  • 미니배치를 가지고 그레디언트 벡터를 계산
  • 미니배치는 확률적으로 선택하므로 목적식 모양이 바뀌게 됨

profile
🌳가 되기 위해 🌱부터 시작

0개의 댓글