[Deep Learning] 모델의 성적을 결정하는 설계도: 하이퍼파라미터(Hyperparameter) 튜닝

nomadicsoul·2026년 3월 24일

deeplearning

목록 보기
14/20

딥러닝 모델을 학습시킬 때, 모델이 스스로 공부하게 내버려 두면 될까요? 아닙니다. 모델이 공부를 잘할 수 있도록 환경을 조성하고 공부 방법을 정해주는 '선생님'의 역할이 필요합니다. 그 핵심이 바로 하이퍼파라미터 튜닝입니다.

딥러닝 모델을 학습시킬 때, 모델이 스스로 배우는 '가중치' 외에 사람이 직접 결정해줘야 하는 설정값들이 있습니다. 이를 하이퍼파라미터(Hyperparameter)라고 부릅니다.


하이퍼파라미터 vs 파라미터 vs 모델 구조

1. 하이퍼파라미터 (Hyperparameters): 사람이 정하는 "공부 전략"

모델이 스스로 결정할 수 없어 학습 시작 전 사람이 미리 정해주는 모든 규칙입니다.

  • 구조적 설계 (Architecture): 층의 개수, 뉴런 수, 활성화 함수(ReLU 등), 손실 함수(MSE 등).
  • 최적화 전략 (Optimization): 학습률, 배치 크기, 에폭, 옵티마이저(Adam 등).
  • 초기화 기법 (Initialization Strategy): 어떤 수학적 분포(He, Xavier 등)에서 첫 숫자를 뽑을지 결정하는 '규칙'입니다.

2. 파라미터 (Parameters): 모델이 배우는 "공부 내용"

학습 데이터와 오차(Loss)를 바탕으로 모델이 스스로 업데이트하며 찾아가는 숫자값입니다.

  • 가중치(Weight)와 편향(Bias): 초기화 기법에 의해 채워진 '실제 숫자값'들입니다.
  • 특징: 역전파(Backpropagation)를 통해 학습 과정 내내 계속 변합니다.

3. 초기화 요소 (The Starting Point): 학습의 "출발선"

이 부분이 가장 헷갈리는 지점인데, '기법'과 '값'을 구분하면 명확해집니다.

  • 초기 가중치 값 (Initial Values): 학습 시작 직전 딱 한 번, 선택한 초기화 기법에 의해 무작위로 생성된 파라미터의 첫 숫자입니다.
    • 재학습(Retrain) 시 주의점: 하이퍼파라미터를 튜닝해서 다시 학습할 때는 '초기화 기법(하이퍼파라미터)'은 유지하되, '가중치 숫자(파라미터)'는 반드시 새로 초기화(Reset)하여 이전 학습의 흔적을 지워야 합니다.

한눈에 보는 요약 테이블

구분대상결정 주체변경 시점비유
하이퍼파라미터학습률, 초기화 기법사람 (연구자)학습 시작 전 (고정)경기 규칙과 출발선 위치
파라미터가중치(WW), 편향(bb)모델 (학습)학습 중 (실시간 업데이트)선수의 실력과 컨디션
초기화초기 가중치 숫자값초기화 기법 (수식)학습 시작 직전 (단 1회)선수가 출발선에 선 첫 모습

"He 초기화 기법을 쓰겠다"는 방식의 결정은 하이퍼파라미터가 맞습니다. 하지만 그 기법으로 뽑힌 실제 숫자(0.02,0.010.02, -0.01 등)는 파라미터입니다. 즉, 초기화 기법은 모델이라는 자동차의 '시동 거는 법'을 정하는 하이퍼파라미터라고 이해하시면 됩니다.

모델 종류와 하이퍼파라미터

모델 종류전용 하이퍼파라미터
CNN커널 크기, 스트라이드, 패딩, 필터 개수
RNN / LSTM은닉 상태 크기, 레이어 쌓기 횟수, 시퀀스 길이
Random Forest최대 깊이, 나무 개수, 리프 노드 최소 샘플 수
Transformer어텐션 헤드 수, dmodeld_{model} (임베딩 차원), 피드포워드 차원

어떻게 "좋은" 하이퍼파라미터를 판별하나?

Validation Set의 작동 구조

No Backpropagation: Validation Set에서는 절대 업데이트(Backpropagation)가 일어나지 않습니다. 만약 Validation 데이터로 미분을 해서 가중치를 업데이트하면, 모델이 모의고사 문제와 답을 외워버리게 됩니다. 그러면 진짜 실력(일반화 성능)을 측정할 수 없으므로 오직 Forward만 수행합니다.

  • Forward Pass 전용: 학습(Train) 데이터로 업데이트된 모델에 Validation 데이터를 넣고 결과만 뽑아봅니다. (시험 공부는 Train으로 하고, 모의고사는 Validation으로 보는 격입니다.)

판단 기준: 단순히 Loss가 낮다고 좋은 게 아니라, 학습 곡선(Learning Curve)이 안정적이고 Train과 Validation 사이의 격차가 적으면서 최종 성능(Metric)이 높을 때 "좋은 하이퍼파라미터"라고 합니다.

  • Loss(손실함수)의 역할: 모델이 낸 답과 실제 정답 사이의 거리를 계산합니다. 이 Loss가 낮을수록 "현재 하이퍼파라미터 설정값이 데이터의 패턴을 잘 잡고 있다"고 판단합니다.
  • Metric(평가 지표)의 역할: Loss는 계산용 수치일 뿐이라 사람이 이해하기 어렵습니다. 그래서 Accuracy(정확도) 같은 Metric으로 최종적인 "성적"을 확인합니다.

학습 재시작의 구조:
Step 1: 하이퍼파라미터(예: 학습률 0.1) 고정.
Step 2: 에폭 1~10,000까지 Train 데이터로만 가중치 업데이트.
Step 3: 학습 종료 후 Validation 세트로 최종 성적(Metric) 확인.
Step 4: 성적이 낮다면? → 학습률을 0.01로 변경 → 가중치를 다시 Kaiming/Xavier 기법으로 초기화(Reset) → 다시 에폭 1부터 10,000까지 처음부터 학습.

주의: 하이퍼파라미터를 바꾼 후 다시 학습할 때는 보통 가중치를 다시 초기화(Re-initialization)합니다. 이는 바뀐 설정값이 신선한 상태의 모델에 어떤 영향을 주는지 정확히 확인하기 위함입니다.


하이퍼파라미터가 나쁘면 생기는 문제

  • 학습률이 너무 높으면: 가중치가 정답 근처에서 튕겨 나가버려 학습이 아예 안 됩니다.
  • 에폭이 너무 적으면: 모델이 데이터를 충분히 배우지 못해 멍청한 상태(Underfitting)로 남습니다.
  • 모델 층이 너무 깊으면: 불필요하게 복잡해져서 훈련 데이터만 달달 외웁니다(Overfitting).

다른 기법(Regularization 등)으로 때울 수 있을까?

하이퍼파라미터가 '근본'이라면, 다른 기법들은 '보조'입니다.

  • Regularization (규제): 모델이 너무 복잡해서 생기는 오버피팅을 억제합니다. 하지만 학습률 자체가 엉망이라 학습이 안 되고 있다면 규제는 아무런 도움이 안 됩니다. 또한 규제 기법들(Dropout, Weight Decay 등)조차도 그 강도를 결정하는 '하이퍼파라미터'를 가지고 있습니다. 즉, 규제를 잘 쓰기 위해서라도 결국 하이퍼파라미터 튜닝이 필요합니다.
  • Batch Normalization (배치 정규화): 학습을 안정시키긴 하지만, 이 또한 하이퍼파라미터(학습률 등)가 어느 정도 적절한 범위 내에 있을 때 시너지를 냅니다.
  • Early Stopping (조기 종료): 너무 많이 학습해서 생기는 문제를 막아주지만, 애초에 모델 설계(하이퍼파라미터)가 잘못되어 성능이 안 나오면 일찍 멈춰봤자 결과는 똑같습니다.

    하이퍼파라미터 튜닝이 '근본적인 성능'을 결정하고, 규제 기법은 그 성능이 밖으로 새나가지 않게 '마무리'해주는 역할입니다.
    즉, 하이퍼파라미터 튜닝이 최우선이고, 그 다음 단계가 규제 기법들을 통해 모델을 더 정교하게 다듬는 과정입니다.


하이퍼파라미터 튜닝 기법과 장단점

가능한 모든 조합을 미리 정해두고 전수 조사하는 방식입니다.

  • 장점: 매우 체계적이고 단순합니다.
  • 단점: 파라미터가 늘어날수록 연산량이 기하급수적으로 늘어납니다 (O(nk)O(n^k)).

정해진 범위 내에서 무작위로 값을 뽑아 테스트합니다.

  • 장점: 그리드 서치보다 효율적입니다. 중요하지 않은 파라미터에 시간을 낭비하지 않고 탐색 범위를 넓게 가져갈 수 있습니다.
  • 단점: 이전 시도의 실패로부터 배우는 "기억" 기능이 없습니다.

3) 베이지안 최적화 (Bayesian Optimization)

이전 시도의 결과를 바탕으로 어느 지점이 더 좋을지 예측하며 최적값을 찾아갑니다.

  • 장점: 매우 효율적이며 적은 횟수로도 최적값을 찾을 확률이 높습니다.
  • 단점: 구현이 복잡하고 병렬 처리가 어렵습니다.

4) 하이퍼밴드 (Hyperband) / 조기 종료

여러 조합을 동시에 소규모로 시작한 뒤, 성적이 나쁜 조합은 중간에 과감히 버리고 우승자에게 자원을 몰아주는 방식입니다.

  • 장점: 시간과 컴퓨팅 자원을 획기적으로 절약할 수 있습니다.

튜닝의 선순환 구조

  1. 가중치를 초기화하고 초기 하이퍼파라미터를 설정합니다.
  2. 모델이 수렴하거나 조기 종료(Early Stopping)될 때까지 학습시킵니다.
  3. 검증 데이터셋으로 성능을 분석합니다.
  4. 언더피팅(복잡도/학습률 증가 필요)인지 오버피팅(드롭아웃/규제 필요)인지 판단합니다.
  5. 랜덤 서치나 베이지안 최적화를 통해 탐색 범위를 좁히거나 이동시킵니다.
  6. 목표 성능에 도달할 때까지 이 과정을 반복합니다.
profile
꾸준히

0개의 댓글