이번 포스팅에서는 딥러닝에서 하이퍼파라미터 튜닝과 설정에 대해 알아보도록 하겠습니다. 딥러닝 모델링은 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) : 학습에 대해 조기 종료를 결정하는 변수입니다. 자동으로 훈련을 종료하게 할 수 있습니다.
'딥러닝' 카테고리의 다른 글
오차역전파 알고리즘: 핵심은 연쇄법칙(chain rule) (0) | 2024.01.25 |
---|---|
딥러닝 모델 일반화(regularization) 총정리 (1) | 2024.01.24 |
딥러닝의 수치미분과 편미분: 꼭 알아야 할 미분 공식 (1) | 2024.01.22 |
딥러닝 학습 방법: batch size, Iteration, epoch(에포크) (0) | 2024.01.19 |
딥러닝에서 크로스 엔트로피(Cross Entropy)를 사용하는 이유 (0) | 2024.01.18 |