ai, 딥러닝을 하게 되면 모델을 학습시키고 테스트하는 과정이 필수적이다.
이 전반적인 과정에서 꼭 알아야하는 개념들을 간단히 정리했다.
얘기할 내용이 많은 개념의 경우 별도의 글을 작성할 예정이다.
1. 데이터셋
데이터셋은 보통 두 단계가 아닌 세 단계로 나누는 것이 정석이다.
- 훈련 데이터셋 (Training Dataset): 모델의 가중치를 직접 업데이트하는 학습용 데이터이다.
- 검증 데이터셋 (Validation Dataset): 학습 도중 평가하는 역할을 한다. 하이퍼파라미터(학습률 등)를 수정하거나 과적합 여부를 판단하는 기준으로 쓰인다.
- 테스트 데이터셋 (Test Dataset): 모든 학습이 끝난 후 단 한 번 사용하며, 모델의 최종 성능을 평가한다.
2. 학습의 단위
데이터 처리의 효율성을 위해 사용되는 개념들이다.
- 배치 사이즈 (Batch Size): 모델이 한 번에 처리하는 데이터 묶음의 크기이다. 64 배치라면 64장의 사진을 보고 한 번의 오차를 계산한다.
- 이터레이션 (Iteration / Step): 전체 데이터를 배치 사이즈로 나누었을 때 나오는 실행 횟수이다.
- 에포크 (Epoch): 전체 데이터셋을 한 번 다 훑었을 때를 의미한다.
<예시>
유명한 MNIST 숫자판독 데이터셋을 예시로 살펴보자.
이 데이터셋에는 60000장의 훈련 데이터셋이 있다.
만약 배치 사이즈를 60이라고 한다면, 60장을 같이 학습시키고 그 결과를 사용해 가중치들을 한 번 조정한다.
이 경우에는 총 1000번에 걸쳐 전체 데이터셋이 학습될 것이다.
이때 epoch는 5라고 하자. 그럼 이런 방식으로 6만장을 총 5번 학습시킨다는 것이다.
3. 순전파(Forward)와 역전파(Backpropagation)
- 순전파 (Forward Propagation): 입력 데이터가 층을 통과하며 예측값(Output)을 만들어내는 과정이다.
- 손실 함수 (Loss Function): 예측값과 실제 정답 사이의 오차를 계산한다. (예: Cross-Entropy)
- 역전파 (Backpropagation): 계산된 오차를 출력층에서 입력층 방향으로 거꾸로 전파하며, 각 층의 가중치가 오차에 얼마나 기여했는지(Gradient) 계산하여 수정하는 과정이다.
4. Optimizer와 Learning Rate
- 옵티마이저 (Optimizer): 오차를 줄이기 위해 가중치를 어떤 방식으로 업데이트할지 결정하는 '학습 알고리즘'이다. (예: Adam, SGD)
- 학습률 (Learning Rate): 가중치를 한 번에 얼마나 크게 수정할지 정하는 보폭이다. 너무 크면 최적점을 지나치고, 너무 작으면 학습이 지나치게 느려진다.
- 학습률 스케줄링 (Learning Rate Scheduling): 학습 초반에는 크게 이동하다가, 정답에 가까워질수록 보폭을 줄여 정교하게 수렴시키는 기술이다.
5. 과적합(Overfitting)과 규제(Regularization)
- 과적합 (Overfitting): 모델이 훈련 데이터에만 너무 특화되어 새로운 데이터(Test)를 잘 처리하지 못하는 상태이다. 훈련 정확도는 높은데 테스트 정확도는 낮다면 의심해볼 수 있다.
- 과소적합 (Underfitting): 모델이 너무 단순하여 훈련 데이터조차 제대로 학습하지 못한 상태이다.
- 드롭아웃 (Dropout): 학습 시 무작위로 일부 뉴런을 꺼서 특정 노드에 대한 의존도를 낮추는 강력한 규제 기법이다.
'AI' 카테고리의 다른 글
| miniconda를 사용한 가상환경 관리법 (0) | 2026.03.03 |
|---|---|
| [AI] Vanishing Gradients (1) | 2025.12.21 |
| [유명 딥러닝 논문] 1. A Logical Calculus of the Ideas Immanent in Nervous Activity (3) | 2025.09.23 |