하이퍼파라미터 (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

콘텐츠 사용 시 출처 표기 부탁 드리고, 궁금한 점이나 의견은 댓글 남겨주세요^^