2020년 12월 22일
하이퍼파라미터 (Hyperparameter)
I. 하이퍼파라미터의 개념
- 최적의 딥러닝 모델 구현을 위해 학습률이나 배치크기, 훈련 반복 횟수, 가중치 초기화 방법 등 인간의 선험적 지식을 기반으로 딥러닝 모델에 설정하는 변수
II. 하이퍼파라미터의 종류
종류 | 설명 | 적용 시 고려사항 |
---|---|---|
학습률 (Learning Rate) | gradient의 방향으로 얼마나 빠르게 이동할 것인지 결정하는 변수 | – 너무 작으면 학습의 속도가 늦고, 너무 크면 학습 불가 |
손실 함수 (Cost Function) | 입력에 따른 기대 값과 실제 값의 차이를 계산하는 함수 | – 평균 제곱 오차 – 교차 엔트로피 오차 |
정규화(일반화) 파라미터 (Regularization parameter) | 과적합(Overfitting) 문제 회피 위해 L1 또는 L2 정규화 방법 사용 | – 사용하는 일반화 변수도 하이퍼 파라미터로 분류 |
미니 배치 크기 (Mini-batch Size) | 배치셋 수행을 위해 전체 학습 데이터를 등분하는(나누는) 크기 | – 가용 메모리 크기와 epoch 수행 성능을 고려 |
훈련 반복 횟수 (Training Loop) | 학습의 조기 종료를 결정하는 변수 | – 학습 효율이 떨어지는 시점을 적절히 판단 |
은닉층의 뉴런 개수 (Hidden Unit) | 훈련 데이터에 대한 학습 최적화 결정 변수 | – 첫 Hidden Layer의 뉴런 수가 Input Layer 보다 큰 것이 효과적 |
가중치 초기화 (Weight Initialization) | 학습 성능에 대한 결정 변수 | – 모든 초기값이 0일 경우 모든 뉴런이 동일한 결과 |
- 이 외에도 다양한 하이퍼파라미터가 존재하고 최적의 딥러닝 모델 생성을 위해 하이퍼파라미터 튜닝 필요
III. 하이퍼파라미터 튜닝 기법과 활동
가. 하이퍼파라미터 튜닝 기법
나. 하이퍼파라미터 튜닝 기법 적용 시 주요 활동
튜닝 기법 | 주요 활동 | 적용 방안 |
---|---|---|
Manual Search | 휴리스틱 조합 | – 사용자의 직관과 경험 기반 탐색 |
탐색의 단순성 적용 | – 사용자 도출 조합 중 최적 조합 적용 | |
Grid Search | 모든 조합 탐색 | – 하이퍼파라미터 적용값 전체 탐색 |
시행 횟수 한계 파악 | – 하이퍼파라미터 증가로 인해 전수 탐색 한계 | |
Random Search | 랜덤 샘플링 | – 범위 내 무작위 값 반복 추출 |
탐색 범위 부여 | – 하이퍼파라미터 최소/최대값부여 | |
Bayesian Optimization | 관측 데이터 기반 F(x) 추정 | – 베이즈 정리 확용, 가우시안 프로세스 |
함수 생성 | – 확률 추정 결과 기반 입력값 후보 추천 함수 |
- 학습의 규모가 커질수록 탐색 시간 기반 Bayesian Optimization이 가장 뛰어나지만, 생성 모델 수준을 고려하여 상황에 맞는 튜닝 방법 선택이 필요
- 하이퍼 파라미터의 적절한 튜닝을 통해 최적의 딥러닝 파라미터 도출 가능
IV. 하이퍼파라미터와 딥러닝 모델의 파라미터 비교
비교 항목 | 하이퍼파라미터 | 딥러닝 모델의 파라미터 |
---|---|---|
사용 목적 | 모델링 최적화 파라미터값 도출 | 최적화된 딥러닝 모델 구현 |
생성 주체 | 사용자 판단 기반 생성 | 데이터 학습 모델이 생성 |
조정 여부 | 조정 가능 | 임의 조정 불가 |
활용 사례 | – 학습률 – 경사하강법 반복 횟수 – 활성화 함수 | – 인공신경망의 가중치 – SVM의 Support Vector – 선형회귀에서의 결정계수 |
- 파라미터는 딥러닝 모델에 의해 결정되지만 하이퍼파라미터는 휴리스틱 기반 사람이 직접 설정
- 하이퍼파라미터는 데이터 분석 결과로 얻어지는 값이 아니므로 절대적인 최적값은 존재하지 않음.
[참고]
- NHNTOAST, “[2019] 하이퍼파라미터 튜닝으로 모델 성능 개선하기”
18 Comments
기술사이신가요? 기술사가 쓴 것같은 글이네요.
네~ 맞습니다. 기술사 시험 공부할 때 찾은 자료와 정리해 놓은 내용들을 많은 분들이 보시고 도움이 되었으면 해서 포스팅 중입니다.