모델 파라미터 변경에 따른 손실의 변화율
손실 함수 위의 한 지점(현재 파라미터)에서 손실 값의 변화가 가장 큰 방향을 계산할 수 있습니다. 이를 기울기(Gradient)라고 합니다. 즉, 기울기는 '특정 파라미터를 조금 변경했을 때, 손실 값이 얼마나 변하는가’를 나타내는 값입니다.
손실을 줄이는 방향으로 모델 파라미터 수정
기울기는 손실이 가장 크게 '증가’하는 방향을 가리킵니다. 우리의 목표는 손실을 '감소’시키는 것이므로, 기울기의 반대 방향으로 파라미터를 조금씩 이동시켜야 합니다.
경사하강법의 종류와 손실 값의 변화
경사하강법은 기울기를 계산할 때 사용하는 데이터의 양에 따라 크게 세 가지 방식으로 나뉩니다. 이 방식에 따라 손실 값의 변화 양상과 학습 효율성이 크게 달라집니다.
구분 | 설명 |
---|---|
Batch Gradient Descent | 데이터세트 전체를 대상으로 손실을 계산하고 모델 파라미터 조정 (데이터세트의 크기: ) |
Stochastic Gradient Descent | 데이터세트에서 임의로 선택한 한 개의 데이터를 대상으로 손실을 계산하고 모델 파라미터 조정 |
Mini-batch Gradient Descent | 데이터세트에서 임의로 선택한 개의 데이터를 대상으로 손실을 계산하고 모델 파라미터 조정 () |
배치 경사하강법(Batch Gradient Descent)
진짜 경사도를 계산해서 파라미터를 조정하기 때문에 이 과정을 반복함에 따라 손실 값은 줄어드는 방향으로 이동합니다.
미니배치 경사하강법(Mini-batch Gradient Descent)
진짜 경사도가 아니라 근사 경사도를 계산해서 파라미터를 조정하기 때문에 이 과정을 반복하는 과정에서 손실 값은 증가와 감소를 반복하면서 어떤 값으로 수렴하는 경향을 보입니다.
확률적 경사하강법(Stochastic Gradient Descent, SGD)
미니배치 경사하강법에서 부분집합의 크기가
- 이면 확률적 경사하강법
- 이면 배치 경사하강법
이 됩니다.
더 읽을 자료
SGD가 왜 통하는지에 대한 이론적 배경이 궁금하다면 아래의 자료가 도움이 될 것입니다.
Written with StackEdit.
댓글 없음:
댓글 쓰기