본문 바로가기
딥러닝

딥러닝 하이퍼파라미터 튜닝 및 설정

by Data Lib 2024. 1. 23.

이번 포스팅에서는 딥러닝에서 하이퍼파라미터 튜닝과 설정에 대해 알아보도록 하겠습니다. 딥러닝 모델링은 Layer 설계 단계, 컴파일 단계, 모델 fit 단계로 나눌 수 있습니다. 각 단계별로 하이퍼파라미터와 어떤 설정들을 고려해야 하는지 살펴보겠습니다. 

 

 

Layer 설계 단계

입력 층 : tensor 정의, 미니 배치 크기(Mini-batch Size) 정의
출력 층 : 출력이 몇개인지, 활성화 함수(ReLU 등) 설정
은닉 층 : 은닉층의 뉴런 개수, 활성화 함수 설정
네트워크 : Layer 몇층할지, 노드 몇 개 할지, 연결방식 결정 

 

딥러닝 단계별로 설정 기준
딥러닝 단계별로 설정 기준

컴파일 단계

1.손실함수 설정

  • 입력에 따른 예측 값이 실제 값과 차이를 계산하는 함수
  • 훈련 과정에서 최소화할 값 
  • 현재 작업이 성공적인지에 대한 척도
  • MSE, Crossentropy

2.옵티마이저 설정

  • 손실함수를 기반으로 네트워크가 어떻게 업데이트 될지 결정
  • 예를 들어 특정 종류의 확률적 경사하강법(SGD) 적용

3.Learning_rate(학습률)

  • gradient의 방향이 얼마나 빠르게 변동하는지 결장하는 매개변수로 변경해 가면서 설정
  • SGD, Adam, Adagrad 등이 있음

4.측정 지표 설정

  • 훈련과 검증 과정에서 모니터링할 성공 척도 결정
  • 손실과 달리 훈련은 측정 지표에 직접 최적화되지 않음(측정 지표는 미분 가능하지 않아도 됨)
  • CategoricalAccuracy, BinaryAccuracy, AUC, Precision, Recall 등

 

 

모델 Fit 단계

  • 훈련할 데이터 정의 : 훈련할 데이터에 대해 미리 분리해서 정의해 놓아야 합니다. 훈련 데이터는 많을수록 좋기 때문에 추가적으로 훈련 데이터 확장하는 방법에 대해서도 고려가 필요합니다. 
  • 훈련할 epoch 횟수 정의 : epoch 횟수가 어는 정도되어야 모델이 fit 한 지를 테스트해야 합니다. 
  • 최적의 Batch size 정의 : 최적의 batch size 를 random Search나 grid Search로 찾아야 합니다. 
  • 정규화 파라미터(Regularization parameter) : L1, L2 등 정규화 방법을 사용하여 모델을 정규화할 수 있습니다. 
  • 훈련 조기 종료(Early Stopping) : 학습에 대해 조기 종료를 결정하는 변수입니다. 자동으로 훈련을 종료하게 할 수 있습니다.