더북(TheBook)

좋은 하이퍼파라미터 값을 선택하는 과정을 하이퍼파라미터 최적화(hyperparameter optimization) 또는 하이퍼파라미터 튜닝(hyperparameter tuning)이라고 부릅니다. 하이퍼파라미터 최적화의 목표는 훈련을 마친 후 가장 낮은 검증 손실을 내는 하이퍼파라미터 집합을 찾는 것입니다. 안타깝지만, 현재는 주어진 데이터셋과 머신 러닝 문제에서 최상의 하이퍼파라미터를 결정할 수 있는 완벽한 알고리즘이 없습니다. 많은 하이퍼파라미터는 이산적(discrete)이어서 검증 손실 값이 하이퍼파라미터에 대해 미분 가능하지 않다는 사실이 문제를 어렵게 만듭니다. 예를 들어 밀집 층의 유닛 개수와 모델에 있는 밀집 층의 개수는 정수입니다. 또 옵티마이저의 종류는 범주형 매개변수(categorical parameter)입니다. 하이퍼파라미터가 연속적이고 검증 손실에 대해 미분 가능하더라도(예를 들어 규제 강도), 훈련하는 동안 이런 하이퍼파라미터에 대해 그레이디언트를 추적하는 것은 일반적으로 계산 비용이 너무 높습니다. 따라서 이런 하이퍼파라미터 공간에서 경사 하강법을 수행하는 것은 현실적이지 않습니다. 하이퍼파라미터 최적화는 활발히 연구되는 영역으로 딥러닝 기술자들이 주목해야 할 분야입니다.

하이퍼파라미터 최적화를 위해 바로 사용할 수 있는 표준 방법이나 도구가 부족하지만 딥러닝 기술자들은 다음 세 가지 방법을 자주 사용합니다. 첫째, 현재 문제가 많이 연구된 문제(예를 들어 이 책에서 볼 수 있는 예제)와 비슷하다면, 당면한 문제에 이와 비슷한 모델을 적용하고 하이퍼파라미터를 그대로 승계할 수 있습니다. 그 후에 이 출발점 주위에서 비교적 작은 하이퍼파라미터 공간을 탐색할 수 있습니다.

둘째, 경험이 많은 기술자들은 주어진 문제에 합리적으로 잘 맞는 하이퍼파라미터에 대한 직관과 훈련을 통해 길러진 추측 값을 가지고 있습니다. 이런 주관적인 선택이 최적이 아니더라도 좋은 출발점이 되고 이어지는 세부 튜닝을 수월하게 만듭니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.