페이지

2021년 6월 8일 화요일

경사하강법에서 손실 값의 변화

경사하강법에서 손실 값의 변화

1. 데이터 기반 예측 문제의 해결 과정

데이터 기반 예측 문제의 해결 과정을 아래의 세 단계로 나누어 볼 수 있습니다.

  1. 주어진 데이터세트의 특성을 잘 나타내는 모델 함수를 정의합니다. 모델 함수가 가지고 있는 파라미터들은 데이터세트에 맞도록 값이 조정되는 요소들입니다.
  2. 데이터세트의 참값과 모델 함수가 예측하는 값의 차이의 정도를 나타내는 비용 함수를 정의합니다.
  3. 데이터세트에 대하여 비용을 줄여나가는 방향으로 모델 파라미터를 조정합니다. 비용이 최솟값에 가까워질 때까지 파라미터 조정 과정을 반복합니다.

이렇게 얻은 모델 함수를 사용하여 새로운 데이터가 주어질 때 예측하고자 하는 값이 얼마일지 추정합니다.

2. 경사하강법(Gradient Descent)

구분 설명
Gradient Descent(GD) 데이터세트 전체를 대상으로 손실을 계산하고 모델 파라미터 조정 (데이터세트의 크기: NN)
Stochastic Gradient Descent(SGD) 데이터세트에서 임의로 선택한 한 개의 데이터를 대상으로 손실을 계산하고 모델 파라미터 조정
Mini-batch Gradient Descent(MGD) 데이터세트에서 임의로 선택한 mm 개의 데이터를 대상으로 손실을 계산하고 모델 파라미터 조정 (1<m<N1 < m < N)

2.1. 모델 파라미터 변경에 따른 손실의 변화율

2.2. 손실을 줄이는 방향으로 모델 파라미터 수정

2.3. 손실 값의 변화

2.3.1. Gradient Descent

진짜 경사도를 계산해서 파라미터를 조정하기 때문에 이 과정을 반복함에 따라 손실 값은 줄어드는 방향으로 이동합니다.

2.3.2. Mini-batch Gradient Descent

진짜 경사도가 아니라 근사 경사도를 계산해서 파라미터를 조정하기 때문에 이 과정을 반복하는 과정에서 손실 값은 증가와 감소를 반복하면서 어떤 값으로 수렴하는 경향을 보입니다.

2.3.3. Stochastic Gradient Descent

MGD에서 부분집합의 크기가 11이면 SGD, 전체집합의 크기 NN과 같으면 GD가 됩니다.

3. 더 읽을 자료

SGD가 왜 통하는지에 대한 이론적 배경이 궁금하다면 아래의 자료가 도움이 될 것입니다.

Written with StackEdit.

댓글 없음:

댓글 쓰기

Llama 3.2로 문장 생성 및 챗팅 완성 실습

Llama 3.2로 문장 생성 및 챗팅 완성 실습 Running Meta Llama on Linux 문서의 내용을 참고하여 Llama 3.2 1B 모델로 다음 두 가지 기능을 실습합니다. 문장 완성 챗팅 ...