[딥러닝] 경사 하강법 (Gradient Descent)

나영·2023년 4월 16일

딥러닝

목록 보기
2/6
post-thumbnail

경사 하강법이란 ?

  • 손실함수 J의 최소 지점을 찾기 위해, 미분을 통해 경사가 가장 가파른 방향을 찾아 한 step씩 내려가는 방법

  • a : 스텝 크기 (step size), 학습률 (learning rate)

신경망에 경사 하강법 적용

2계층 신경망 회귀 모델

여기서 은닉 계층의 활성함수ReLU, 출력 계층의 활성함수항등함수, 손실함수MSE라고 가정해보자.

💡 가중치 표기법

이해한 내용을 바탕으로 다시 표현해보았다.


가중치 업데이트

경사 하강법을 통해서 가중치를 업데이트하게 되는데, 이 때 가중치 업데이트 식은 다음과 같다.

즉, 각각의 가중치에 대해서 각각의 편미분을 계산한 후 이동해주는 것이다. (nm + m)번

BUT, 손실함수에는 가중치 변수인 wnm1w_{nm}^1가 포함되지 않기 때문에 다이렉트로 편미분할 수 없다. 따라서 연쇄법칙 (Chain Rule)을 적용해야 한다.

💡 연쇄법칙 (Chian Rule)

즉, 다음와 같은 결과가 나올 것이고,

위 결과를 활용하여 경사 하강법의 가중치를 업데이트할 수 있는 것이다 !


경사 하강법의 종류

배치 경사 하강법

  • 훈련 데이터셋을 한꺼번에 훈련
  • 그래디언트 계산이 정확함.
  • 부드러운 경로
  • 속도, 메모리, 과적합 등의 문제

확률적 (Stochastic) 경사 하강법

  • 각 데이터 샘플 단위로 훈련
  • 학습 및 수렴 속도 빠름.
  • 지역적 최적값에 빠질 위험 있지만 다시 빠져나올 확률 높음. (배치 경사 하강법보다는)
  • 전역적 최적값을 찾기 어려움.

미니배치 (Minibatch) 경사 하강법

  • 전체 데이터셋을 미니 배치 여러 개로 나누고, 미니 배치 한 개마다 기울기를 구한 후 그것의 평균 기울기를 이용하여 모델을 업데이트해서 학습하는 방법

  • 확률적 경사 하강법보다 병렬 처리에 유리함.

  • 지역적 최적값에 빠질 위험 적음.

  • 적절한 배치 크기를 정하는 것이 중요 !

0개의 댓글