📙 Fundamentals/ML&DL

딥러닝의 성능 향상을 위한 하이퍼파라미터 종류

Lento_ 2025. 4. 14. 09:27

하이퍼파라미터란?

: 학습에 의해 조정되는 모델 내부의 파라미터와 구분하여 딥러닝을 위해 개발자가 설정하는 값들을 말한다.

: 모델의 종류에 따라 다양한 파라미터가 존재

 

[학습 관련 하이퍼파라미터]

(Learning rate_학습률)

: 인공 신경망과 같은 기계 학습 모델이 얼마나 빠르게 학습하는지를 결정하는 하이퍼파라미터 (가중치를 업데이트할 때 얼마만큼 이동할지를 결정하는 값)

: 최적화 알고리듬에서 손실 함수의 최소값을 찾아가는 과정에서 각 반복(iteration) 당 이동하는 걸음의 크기를 조정

: 너무 크면 손실 함수의 최적점을 지나쳐 발산하거나 불안정해지고, 너무 작으면 수렴이 느려져 학습 시간이 길어지고 최적점에 도달하지 못할 수 있음.

 

(Batch Size_배치 크기)

: 한 번의 파라미터 업데이트에 사용할 데이터 샘플 수를 결정하는 하이퍼파라미터

: 작은 배치 크기 : 작을수록 더 자주 업데이트되고 일반화 성능이 좋아질 수 있으나, 노이즈가 많고 속도가 느릴 수 있음.

: 큰 배치 크기 : 클수록 계산 효율과 GPU 효율이 좋지만, 메모리 소모가 크고 과적합 위험 있음.

 

(Epoch 수)

: 전체 데이터를 몇 번 반복 학습할지 결정.

: 너무 많으면 과적합, 너무 적으면 학습 부족.

: Early Stopping 기법을 함께 사용해 적절한 지점에서 학습을 종료할 수 있음

 

(Optimizer)

: 파라미터를 업데이트하는 수학적 방식

: 주요 종류

  • SGD(Stochastic Gradient Descent): 기본값,  단순하지만 튜닝에 민감함
  • Adam : 가중치별로 학습률을 조정하며 일반적으로 가장 널리 사용됨(좋은 성능)
  • RMSProp, Adagrad 등 다양한 변형도 존재

 

[모델 구조 관련 하이퍼파라미터]

(Depth_ 층 수)

: 레이어가 많을수록 표현력은 커지지만, 학습이 어려워지거나 과적합 위험이 있음.

 

(width_뉴런 수)

: 각 레이어에 몇 개의 노드를 둘지 결정.

: 너무 많으면 계산량 증가 + 과적합, 너무 적으면 표현력 부족.

 

(Activation Function_활성화 함수)

: 각 뉴런의 출력 값을 비선형적으로 바꾸어주는 함수.

: Ex)  ReLU, Leaky ReLU, Sigmoid, Tanh, GELU 등

 

 

[규제 및 일반화 관련 하이퍼파라미터]

(Dropout 비율)

: 학습 시 일부 뉴런을 랜덤으로 꺼서 과적합을 방지.

: 일반적으로 0.3~0.5 사이 사용.

 

(Weight Decay_L2 정규화)

: 가중치가 너무 커지지 않도록 제어하여 일반화 성능 향상.

 

(Early Stopping)

: 검증 데이터 성능이 일정 에폭 이상 향상되지 않으면 학습 중단

 

 

[데이터 관련 하이퍼파라미터]

(데이터 증강(Data Augmentation) 기법)

: 학습 데이터의 다양성을 인위적으로 증가시켜 일반화 성능 향상.

: EX) 이미지 회전, 뒤집기, 노이즈 추가, 자르기 등.

 

(정규화(Normalization) 기법)

: 입력 데이터를 일정한 범위로 스케일링.

: Standardization, MinMax Scaling, Z-score, BatchNorm, LayerNorm 등.

 

 

[스케줄링 관련 하이퍼파라미터]

(Learning Rate Scheduler)

: 학습이 진행됨에 따라 학습률을 점차 감소시켜 더 정밀하게 수렴하게 함.

: EX) StepLR, ExponentialLR, CosineAnnealingLR, ReduceLROnPlateau .