주요 요점
이 아티클은 베이지안 최적화가 모델 성능을 개선하기 위해 하이퍼파라미터를 탐색하는 가장 효과적인 방법임을 보여줍니다. 딥러닝의 하이퍼파라미터 최적화는 매뉴얼 서치, 그리드 서치, 랜덤 서치, 베이지안 최적화 등 다양한 방식으로 수행할 수 있습니다.
주의! 이 문서는 다음을 대상으로 합니다.
- 딥러닝 알고리즘의 작동 방식과 정규화와 같은 기법을 기본적으로 이해하는 사람
- 파이썬 및 텐서플로우에 대한 기본 지식이 있는 사람
이 게시물의 목표는 베이지안 최적화에 대한 깊은 이해를 제공하는 것이 아니라, 베이지안 최적화에 대한 기본적인 이해를 제공하여 딥러닝 모델의 하이퍼파라미터 최적화에 이를 원활하게 적용할 수 있도록 하는 것입니다. 따라서 베이지안 최적화의 일반 원리를 설명할 때 딥러닝 이외의 수학적 개념에 대한 언급을 최대한 피하려고 노력했지만, 설명을 뒷받침하기 위해 일부 수학적 내용이 사용되었습니다.
소개
하이퍼파라미터 최적화는 학습을 수행하기 위해 미리 설정해야 하는 하이퍼파라미터의 최적값을 찾는 문제를 말합니다. 이 맥락에서, 하이퍼파라미터의 최적 값은 훈련된 학습 모델의 일반화 성능이 가장 우수한 결과를 나타내는 하이퍼파라미터 값을 의미합니다.
예를 들어, 딥러닝 모델을 훈련할 때, 학습률, 미니배치 크기, L2 정규화 계수 등은 전형적인 하이퍼파라미터입니다. 물론, 이러한 하이퍼파라미터는 학습 알고리즘 또는 정규화와 밀접하게 관련이 있으며, 경우에 따라 딥러닝 모델의 구조를 결정하는 인자(예: 레이어 수, 컨볼루션 필터 크기 등)도 하이퍼파라미터로 간주하여 탐색 대상으로 추가할 수 있습니다.
매뉴얼 서치
딥러닝 모델을 한 번이라도 훈련시켜 본 경험이 있다면, 이러한 핵심 하이퍼파라미터 값을 결정하는 과정에서 수많은 시행착오를 겪었을 것입니다. 예를 들어, AlexNet 모델의 구현을 완료할 때 보통 원래 AlexNet 논문에 소개된 하이퍼파라미터를 학습에 적용하는 것으로 시작합니다. 그러나 대부분의 경우, 원래 AlexNet 논문에 사용된 데이터세트와 사용하려는 데이터세트가 다르므로 원래 논문에 제시된 하이퍼파라미터 값이 해결하려는 문제에 대한 완벽한 해결책이 되는 경우는 거의 없습니다.
이러한 상황에 직면했을 때에는 일반적으로 직관이나 대중적인 노하우에 의존하여 다음에 시도할 하이퍼파라미터 값 후보를 선택하고, 해당 값으로 학습을 수행한 다음, 검증 세트를 기준으로 측정한 성능 결과를 기록합니다. 이 프로세스를 몇 번 반복한 후에는, 최종 제출을 위해 딥러닝 모델을 훈련할 때 해당 시점까지의 모든 시도 중에서 검증 세트에 대해 가장 좋은 성능을 보인 하이퍼파라미터 값을 선택했을 것입니다. 이렇게 최적의 하이퍼파라미터 값을 탐색하는 방법을 매뉴얼 서치라고 합니다.
매뉴얼 서치는 하이퍼파라미터 최적화의 가장 직관적인 방법이지만 몇 가지 문제가 있습니다. 첫 번째 문제는 "최적의" 하이퍼파라미터를 찾는 과정이 운에 달려있다는 것입니다. 예를 들어, 딥러닝 모델에 대한 최적의 학습률을 찾기 위해 매뉴얼 서치를 수행하는 과정을 설명해 보겠습니다. 이 과정에는 시간 제한이 있을 가능성이 높으며, 아마도 매우 조바심을 내며 이렇게 생각할 것입니다.
딥러닝 모델의 성능을 빨리 끌어내야 하는데, 교수님이나 상사는 계속 재촉하고 있고, 시간이 없어... 큰일났네 :’(
제한된 시간 안에 딥러닝 모델을 훈련시키고, 9개의 서로 다른 학습률 값인 0.01, 0.05, 0.03, 0.02, 0.025, 0.0225, 0.0275, 0.015, 0.04를 순차적으로 적용하여 성능을 측정한다고 가정해 봅시다. 그 결과가 위 그림에서 가장 좋은 결과이므로, 최종 학습률 값으로 0.0025를
선택합니다. 이러한 탐색 과정은 아마도 각 학습 세션마다 여러분의 직관을 신중하게 적용한 결과였을 것이며, 이처럼 공들인 과정의 결과가 최상의 결과라는 점은 누구도 부인하기 어려울 것입니다.
하지만 만약 "학습률에 대한 (알 수 없는) 일반화 성능 함수"가 위의 두 번째 이미지와 같은 형태를 띤다면 어떨까요? 0.0025가 실제로 최적의 학습률 값은 아니었지만(최적값은 0.003~0.0035 사이임), 기존의 수동 탐색 과정에서의 조급함과 편견이 실망스러운 결과로 이어졌을 가능성이 있다고 추측할 수 있습니다. 저희가 의도치 않게 여러분이 과거에 저지른 실수를 지적했을 수 있지만, 이는 전적으로 여러분의 잘못이 아닙니다. 주관과 직관에 기반한 매뉴얼 서치의 단점은 위 예시에서처럼 찾은 최적의 하이퍼파라미터 값이 "실제로" 최적이라는 것을 보장하기가 상대적으로 어렵다는 점입니다.
매뉴얼 서치의 두 번째 문제는 여러 유형의 하이퍼파라미터를 한 번에 탐색하려는 경우 더 복잡해진다는 것입니다. 이것의 가장 좋은 예는 학습률과 L2 정규화 계수 사이의 관계입니다.
L(W)=1N∑i=1NLi(f(xi,W),yi)+λ⋅R(W)
위 손실 함수의 두 번째 항은 L2 정규화 항이며, λ값(L2 정규화 계수)이 변하면 (딥러닝 모델의 전체 파라미터 W 공간에서) 손실 함수 L(W)의 형태도 변합니다. 이러한 이유로 최적의 성능을 위한 최적 학습률 값 또한 자연스럽게 변화할 것이라고 가정할 수 있습니다.
이러한 하이퍼파라미터 중 일부는 서로에 상호 영향을 미치기 때문에 한 번에 둘 이상을 탐색할 때 각 하이퍼파라미터에 기존 직관을 적용하는 것이 매우 어려워집니다.
그리드 서치 vs. 랜덤 서치
매뉴얼 서치와 비교하여 그리드 서치 및 랜덤 서치는 하이퍼파라미터 최적화를 수행하는 비교적 체계적인 방법입니다.
그리드 서치는 탐색할 특정 범위 내에서 일정한 간격으로 후보 하이퍼파라미터 값을 선택하고, 각 값에 대해 측정된 성능을 기록한 다음, 최상의 성능을 보여준 하이퍼파라미터 값을 선택합니다. 이 방법은 여전히 검색할 간격 수, 간격을 설정할 길이 등을 결정하기 위해 사람의 손길이 필요하지만 매뉴얼 서치에 비해 더 균일하고 방대한 탐색이 가능하다는 이점이 있습니다. 그러나, 이 방법의 단점은 탐색 대상 하이퍼파라미터의 수가 증가함에 따라 전체 탐색 시간이 기하급수적으로 증가한다는 것입니다.
반면, 랜덤 서치는 그리드 서치와 대체로 유사하지만, 탐색 구간 내에서 랜덤 샘플링을 사용하여 후보 하이퍼파라미터 값을 선택한다는 점에서 차이가 있습니다. 랜덤 서치는 그리드 서치보다 최적의 하이퍼파라미터 값을 더 빨리 찾는 것으로 알려져 있는데, 이는 불필요한 반복 횟수를 상당히 줄이면서 지정된 그리드 사이에 놓인 값을 확률적으로 탐색할 수 있기 때문입니다.
(Python의 random.random 함수를
[0.01,0.05] 간격으로 10회 실행한 결과, random.seed=0)
그럼에도 불구하고, 랜덤 서치조차도 "여전히 다소 불필요한 탐색처럼 보인다"는 느낌을 떨쳐내기가 어려울 수 있습니다. 이는 그리드 서치와 랜덤 서치 모두에서 다음에 시도할 후보 하이퍼파라미터 값을 선택하는 과정이 이전 조사에서 얻은 하이퍼파라미터 값의 성능에 대한 사전 지식을 반영하지 않기 때문입니다. 반면, 매뉴얼 서치에서는 매 턴마다 사전 지식이 암묵적으로 적용됩니다.
[Bergstra and Bengio (2012)]
베이지안 최적화는 전체 탐색 과정을 체계적으로 수행하는 동시에 충분한 사전 지식을 반영하여 매번 새로운 하이퍼파라미터 값을 효과적으로 조사할 수 있도록 하는 방법론입니다.
베이지안 최적화
본질적으로 베이지안 최적화는 알려지지 않은 목적 함수 f가 주어졌을 때, 입력값 x∗에 대해 함수
f(x)를 최대화하는 최적의 해
x를 찾는 것을 목표로 합니다. 일반적으로 목적 함수(즉, 블랙박스 함수)의 표현식을 명시적으로 알지 못하며 하나의 함수 값 f(x)를 계산하는 데 시간이 오래 걸린다고 가정합니다. 이 상황에서 주요 목표는 가능한 한 적은 수의 후보 입력 값에 대해 함수 값을 순차적으로 검토하여 f(x), x *를 최대화하는 최적의 솔루션을 빠르고 효율적으로 찾는 것입니다.
베이지안 최적화에는 두 가지 필수 요소가 있습니다. 먼저, 대리 모델은 지금까지 조사된 입력값과 함수값 지점 (x1,f(x1)),...,(xt,f(xt))을 기반으로 알려지지 않은 목적 함수의 형태에 대한 확률적 추정을 수행합니다. 그런 다음 획득 함수는 목적 함수의 현재 확률적 추정을 기반으로 "최적 입력 x∗를 찾는 데 가장 유용할 가능성이 높은" 다음 입력 후보 xt+1을 추천합니다.
대리 모델
입력값과 지금까지 검토한 함수값 지점(x1,f(x1)),...,(xt,f(xt))을 기반으로 알려지지 않은 목적 함수의 근사 형태를 확률적으로 추정하는 모델을 대리 모델이라고 합니다. 대리 모델로 가장 널리 사용되는 확률론적 모델은 가우시안 프로세스(GP)입니다.
가우시안 프로세스
일반적인 확률 모델(주어진 변수에 대한 확률 분포를 표현함)과 달리, GP는 함수들의 집합에 대한 확률 분포를 나타내며, 구성 요소들 간의 결합 분포가 가우시안 분포를 따른다는 특징을 가지고 있습니다. GP는 평균 함수 μ와 공분산 함수 k를 사용하여 함수에 대한 확률 분포를 표현합니다.
f(x)∼GP(μ(x),k(x,x′)).
GP를 제대로 이해하고 사용하려면 베이지안 확률에 대한 기본적인 이해가 있어야 하고 복잡한 확률론적/선형 대수 공식을 이해할 수 있어야 합니다. 이 글에서는 더 자세한 내용은 다루지 않고, GP의 작동 특성과 하이퍼파라미터 최적화에 어떻게 활용할 수 있는지에 초점을 맞추겠습니다.
지금까지 조사된 입력값-함수 값 지점 (x1,f(x1)),...,(xt,f(xt))을 기반으로 GP는 아래 그림과 같이 목적 함수의 확률적 추정치를 생성합니다.
(검은색 점선: 실제 목적 함수, 검은색 실선: 추정 평균 함수, 파란색 음영: 추정 표준 편차, 검은색 점: 현재까지 조사된 입력 값 및 함수 값 지점, 하단의 녹색 실선: 획득 함수) [Brochu et al. (2010)]
위 그림에서 가로축을 입력값
x, 세로축을 함수값 f(x)로 가정하면, 검은색 실선은 지금까지 살펴본 지점 (x1,f(x1)),...,(xt,f(xt))을 기반으로 추정한 각 μμ(x) 위치에서의 "평균" x를 나타내고, 파란색 음영선은 각 σσ(x) 위치에서의 "표준 편차"를 나타냅니다. μ μ(x)의 경우, 모양은 지금까지 조사된 점(x1,f(x1)),...,(xt,f(xt))을 반드시 통과함으로써 결정되며, σ(x)는 조사된 점에 가까운 위치일수록 작고, σ σ(x)는 멀리 떨어진 위치일수록 큽니다. 이로부터 자연스럽게 도출되는 결론은 x가 조사된 점에서 멀어질수록 해당 점에 대해 추정된 평균값의 '불확실성'이 커진다는 것입니다.
위 그림에서 t=2일 때, 즉 조사된 입력값 지점이 ��� 개뿐일 때, 이 두 지점으로부터 일정 거리 이상 떨어진 대부분의 영역에서 σ(x)가 큰 것을 관찰할 수 있습니다. 한편, 조사 대상 지점의 수가 t=3, t=4로 점차 증가함에 따라 큰 σ σ(x)를 갖는 영역의 크기가 점차 감소하고 실제 목적 함수의 추정치가 점차 압축됩니다. 이는 조사 대상 지점의 수가 증가함에 따라 목적 함수 추정에 대한 불확실성이 감소함을 보여주며, 이러한 경향이 강해질수록 목적 함수 분자를 최대화하는 입력값 X∗를 찾을 가능성이 계속해서 증가할 것이라고 가정할 수 있습니다.
GP 이외의 대리 모델
GP 외에도 입력값과 지금까지 조사된 함수값 지점을 기반으로 목적 함수 추정의 불확실성을 포괄할 수 있는 모든 모델을 대리 모델로 사용할 수 있습니다. GP 외에 일반적으로 사용되는 대리 모델에는 트리 구조 파젠 추정기(Tree-structured Parzen Estimators, TPE) 및 심층 신경망(Deep Neural Networks, DNN)이 있습니다.
GP와 마찬가지로, 이러한 대리 모델에 대한 깊은 이해가 없더라도 베이지안 최적화의 더 큰 맥락을 이해한다면 관련 라이브러리를 사용하여 베이지안 최적화를 수행할 수 있습니다.
획득 함수
지금까지의 대리 모델의 목적 함수에 대한 확률적 추정치를 기반으로, 다음에 조사할 후보 입력값 xt+1
을 추천하는 함수를 획득 함수라고 합니다. 목적 함수에 대한 최적 입력값 x∗를 찾는 데 있어 궁극적으로 "가장 유용한" 선택은 xt+1이라는 점이 언급되었습니다. 이 맥락에서 "유용한"이란 무엇을 의미하는지 생각해 봅시다. 설명을 돕기 위해 GP를 이용한 목적 함수 추정 과정에서 t=2 시점의 상황을 보여주는 그림을 다시 가져왔습니다.
지금까지 조사된 점은 (x,f(x))뿐이므로, 실제 최적 입력값 x∗는 함수값이 더 큰 점(그림에서 오른쪽 점) 근처에서 발견될 가능성이 더 높다고 예측할 수 있습니다. 당연히 다음에 시도해 볼 만한 합리적인 전략은 지금까지 조사한 점들 중에서 함수값이 가장 큰 점 주변 영역을 테스트하는 것입니다. 이를 공식적으로 “활용”이라고 합니다.
이번에는 다른 관점에서 생각해 봅시다. 직관적���로, 지금까지 조사한 두 지점 사이의 영역, 즉 표준 편차(불확실성) Σ Σ(X)가 큰 영역에서는 추정된 평균 함수값이 실제 목표 함수값과 유사할 것이라고 보장하기가 매우 어려울 것이라는 것을 알 수 있습니다. 그러한 관점에서 볼 때, 최적 입력값 X∗가 이 불확실한 영역에 존재할 가능성이 있다고 생각하는 것이 타당하며, 따라서 우리는 이를 더 자세히 탐색해야 합니다.” 그러므로 지금까지 추정된 목적 함수의 표준 편차가 가장 큰 지점을 다음으로 시도하는 것이 합리적인 전략입니다. 이를 공식적으로 “탐색”이라고 합니다.
탐색 전략과 활용 전략은 최적의 입력값 x∗를 효과적으로 찾는 데 있어 똑같이 중요한 접근 방식이지만, 문제는 두 전략의 본질이 상충 관계에 있다는 점입니다. 따라서 탐색과 활용 간 균형의 상대적 강도를 적절히 조정하는 것이 실제 목적 함수에 대한 최적의 입력값을 성공적으로 찾아내는 데 매우 중요합니다.
예상 개선값(EI)
예상 개선값(EI) 함수는 탐색 및 활용 전략의 일부 측면을 포함하도록 설계되었으며, 주로 획득 함수로 사용됩니다. 현재까지 추정된 목적 함수를 기반으로, 모든 후보 입력값 x에 대해 현재까지 검토된 점들의 최대 출력값 f(x+)=maxif(xi)보다 큰 함수값 f(x1),...,f(xt)를 생성할 개선 확률(PI) 및 해당 함수값과 F(X+) 간의 차이의 크기를 고려하여, EI는 해당 입력값 x의 "유용성"을 나타내는 숫자를 출력합니다. 이제 PI의 개념을 이해하기 위해 아래 그림을 살펴보겠습니다.
위 그림에서 지금까지 조사한 점들 중 함수값 f(x+)가 가장 큰 점은 맨 오른쪽 점입니다. 여기서 더 오른쪽에 있는 후보 입력값 x3의 경우,확률적 추정에 기반한
f(x3)의 확률 분포(세로축)는 그림과 같이 비대칭 가우시안 분포로 나타낼 수 있습니다.
한편, 그림에서 f(x+)보다 큰 값에 해당하는 f(x3)의 확률 분포 영역은 녹색으로 음영 처리되어 있습니다. 이 영역의 크기가 더 크다는 것은 f(x3)이 f(x+)보다 클 가능성이 더 높다는 것을 나타내며, 이는 x3을 다음 입력값으로 선택하는 것이 기존 점들보다 더 큰 함수값을 산출할 가능성이 더 높다는 결론으로 이어지고, 목적 함수에 대한 최적 입력값 x∗을 찾는 데 있어 x3이 "가장 유용한" 후보라는 결론을 도출합니다.
입력값 x3에 대해 계산된 PI 값은 함수 f(x3)에 대해 평균 μ μ(x3)와 f
(x+),f(x3)−f(x+)의 차이로 가중치를 부여하여 최종적으로 x3에 대한 EI 값을 계산합니다. 기존 점들보다 더 큰 함수값을 얻을 확률이 높은 점을 찾는 것이 중요하지만, 그러한 확률이 존재한다면 실제로 얼마나 더 큰지도 고려해야 하며, 이 계산은 바로 그러한 점을 반영하기 위한 것입니다.
참고로, GP를 사용할 때의 EI 공식은 (긴 유도 과정을 거쳐) 다음과 같이 요약 및 표현할 수 있습니다. 아래 공식에서
Φ와 ϕϕ는 각각 표준 정규 분포의 누적 분포 함수(CDF)와 확률 분포 함수(PDF)를 나타내며, ξ는 탐색과 활용 사이의 상대적 강도를 조절하는 매개변수입니다. ξ 값이 클수록 탐색이 강해지고, 작을수록 활용이 강해집니다.
위의 GP를 이용한 목적 함수 추정 과정에서 t=4 시점의 경우, 위의 EI 공식을 이용하여 각 입력값 x에 대한 EI 값 EI(
x)를 계산한 결과는 아래 그림 하단의 녹색 실선으로 나타나 있습니다.
실제로 그림에서 우리는 지금까지 조사된 점들 중 가장 큰 함수값을 갖는 점 x+ 주변에서 EI 값이 크다는 점(활용 전략)과 지금까지 추정된 목적 함수의 표준 편차 σσ(x)가 가장 큰 점 주변에서 EI 값이 크다는 점(탐색 전략)을 동시에 관찰할 수 있습니다.
EI(x)=E[max(f(x)−f(x+),0)]={(μ(x)−f(x+)−ξ)Φ(Z)+σ(x)ϕ(Z) ifσ(x)>00ifσ(x)=0
EI 이외의 획득 함수
개선 확률(PI)은 EI보다 일찍 제안된 획득 함수로, EI의 고려 사항 중 현재까지 조사된 지점의 최대 함수 값보다 큰 함수 값을 도출할 확률만 반영합니다. 일반적으로 사용되는 다른 획득 함수에는 상한 신뢰구간(UCB)과 엔트로피 검색(ES)이 있습니다.
딥러닝 모델의 하이퍼파라미터 탐색을 위한 베이지안 최적화 수행
지금까지 베이지안 최적화의 필수 요소와 이러한 요소가 기본적으로 작동하는 방식을 살펴보았습니다. 이제 딥러닝 모델의 하이퍼파라미터를 실제로 탐색할 때 베이지안 최적화가 적용되는 시나리오를 자세히 시각화해 보겠습니다. 편의를 위해 여기에서는 탐색할 하이퍼파라미터로 학습률만 다루겠습니다.
(총 11개(N=11) 지점, 구간 [0.01,0.09]에서 처음 3회(n=3) 결과,
상단: 목적 함수 f(x)에 대한 GP의 확률적 추정 결과, 하단: 확률적 추정에 대한 EI 함수 계산 결과,
베이지안-최적화 라이브러리 사용, random_seed=1)
- 입력값, 목표 함수 및 기타 설정을 정의합니다.
- 입력값 x: 학습값 목적 함수 f(x)
- 설정된 학습률을 적용하여 학습한 딥러닝 모델 검증 세트의 성능 결과(예: 정확도)
- 입력값 x의 탐색 대상 구간: (a,b).
- 처음 조사할 입력값 및 함수값 지점의 개수: n
- 마지막 횟수까지 조사할 입력값 및 함수값 지점의 최대 개수: N
- 설정된 탐색 대상 구간(a,b) 내에서 처음에 선택된 n
입력값은 무작위로 샘플링되어 선택됩니다. - 선택된 n개의 입력값 x1,x2,...,xn 각각에 대해 학습률 값을 설정하여 딥러닝 모델을 학습시킨 후, 검증 세트를 사용하여 학습된 모델의 성능 결과를 계산합니다. 이들 각각은 함수 값 f(x1),f(x2),...,f(xn)로 간주됩니다. n개의 입력값은 무작위로 샘플링되고 선택됩니다.
- 확률적 추정은 입력값과 함수값 점들의 집합(x1,f(x1)),(x2,f(x2)),...,(xn,f(xn))에 대해 대리 모델을 사용하여 수행됩니다.
- 총 NN개의 검사된 입력값과 함수값 지점에 도달할 때까지 아래 프로세스가 t=n,n + 1,...,N − 1에 대해 반복됩니다.
- 기존 입력값 및 함수값 점들의 집합 (x1,f(x1)),(x2,f(x2)),...,(xt,f(xt))에 대한 대리 모델의 확률적 추정 결과를 기반으로 입력 구간(a,b) 내에서 EI 값을 계산하고 가장 큰 값을 갖는 점을 다음 입력값 후보 xt+1로 선택합니다.
- 입력값 후보 xt +1을 학습률 값으로 사용하여 딥러닝 모델을 학습시킨 후, 검증 세트를 이용하여 학습된 모델의 성능 결과를 계산하고 이를 f(xt +1) 값으로 간주합니다.
- 기존 입력값 및 함수값 점들의 집합에 새로운 점 (xt+1, f(xt+1))을 추가하고, 업데이트된 점들의 집합에 대해 대리 모델을 사용하여 확률적 추정을 다시 수행합니다.
총 N개의 입력값과 함수값 지점에 대해 확률적으로 추정된 목적 함수 결과를 바탕으로 평균 함수 μ μ(x),x∗를 최대화하는 최적해를 선택하십시오. 나중에 해당 x∗ 값을 학습률로 사용하여 딥러닝 모델을 학습시키면 일반화 성능이 극대화된 모델을 얻게 됩니다.
결론
딥러닝의 하이퍼파라미터 최적화는 딥러닝 모델에서 학습을 수행하기 위해 미리 설정해야 하는 하이퍼파라미터의 최적 값을 탐색하는 문제를 의미합니다. 딥러닝 모델 학습에 사용되는 일반적인 하이퍼파라미터에는 학습률, 미니배치 크기, L2 정규화 계수 등이 있습니다.
하이퍼파라미터 최적화를 위한 가장 간단하고 직관적인 방법은 일반적으로 사용되는 매뉴얼 서치이며, 여기에는 각 단계에서 시도할 후보 하이퍼파라미터 값을 주관적으로 선택하고, 이를 학습하고, 검증 세트에 대해 측정된 성능 결과를 기록하는 것이 포함됩니다. 이 방법은 실험자가 최적의 하이퍼파라미터 값을 찾는 과정에서 내재된 편견 때문에 최적의 하이퍼파라미터 값을 찾기가 상대적으로 어렵다는 단점이 있습니다. 그리드 서치와 랜덤 서치는 매뉴얼 서치의 단점을 보완할 수 있지만, 하이퍼파라미터 조사 과정에서 얻은 사전 지식을 반영하지 못한다는 한계가 있습니다.
베이지안 최적화는 하이퍼파라미터 최적화 방법론으로, 새로운 하이퍼파라미터 값을 탐색할 때마다 충분한 사전 지식을 반영하면서도 전체적인 탐색 과정을 더욱 체계적으로 만들어 줍니다. 베이지안 최적화의 두 가지 구성 요소 중 하나인 대리 모델은 입력값과 지금까지 검토된 함수값 지점을 기반으로 알려지지 않은 목적 함수의 확률적 추정치를 생성합니다. 대표적인 예로는 가우시안 프로세스(GP)가 있습니다. 한편, 획득 함수는 목적 함수의 현재 확률적 추정치를 기반으로 최적 입력값을 찾는 데 가장 유용할 가능성이 높은 다음 후보 입력값을 추천합니다. 이에 대한 일반적인 예는 예상 개선값(EI)입니다.
베이지안 최적화를 사용하여 딥러닝 모델의 하이퍼파라미터를 최적화합니다. 이를 위해 하이퍼파라미터를 적용하여 최적값을 탐색하고, 이 값을 베이지안 최적화의 입력값으로 사용하며, 특정 하이퍼파라미터 값을 적용하여 학습된 딥러닝 모델의 검증 세트에서 얻은 성능 결과를 목적 함수의 함수값으로 사용합니다.
*다음 파트에서는 지금까지 얻은 이해를 바탕으로 현실 세계의 베이지안 최적화를 위한 파이썬 라이브러리인 베이지안 최적화를 사용하여 간단한 예제 함수의 최적해를 찾는 과정을 살펴보고, 현실 세계 딥러닝 모델의 최적 하이퍼파라미터를 탐색해 보겠습니다.
참조
- Shahriari, Bobak, et al. “인간 개입 제거: 베이지안 최적화에 대한 검토.” IEEE 학회 회의록 104.1 (2016): 148-175.
- Brochu, Eric, Vlad M. Cora, and Nando De Freitas. “능동적 사용자 모델링 및 계층적 강화 학습에 대한 애플리케이션을 사용한 고비용 함수의 베이지안 최적화에 대한 튜토리얼.” arXiv preprint arXiv:1012.2599 (2010).
- Bengio, Yoshua. “심층 아키텍처의 경사 기반 학습을 위한 실용적인 권장 사항.” 신경망: 업계의 비결. Springer, Berlin, Heidelberg, 2012. 437-478.
- Goodfellow, Ian, et al. 딥러닝. Vol. 1. Cambridge: MIT press, 2016.
- Bergstra, James, Yoshua Bengio. “하이퍼파라미터 최적화를 위한 랜덤 서치.” Journal of Machine Learning Research 13. Feb (2012): 281-305.
- Fernando Nogueira, 베이지안 최적화: 가우시안 프로세스를 통한 전역 최적화의 파이썬 구현.
- 최적해 찾기, 베이지안 최적화의 예상 개선값: 유도 과정.