랜덤 서치 (Random Search)
쉽게 풀면
그리드 서치가 모든 조합을 빠짐없이 시도한다면, 랜덤 서치는 정해진 횟수만큼 무작위로 값을 뽑아서 시도해요. 신기하게도 하이퍼파라미터가 많을 때는 모든 값을 성실하게 다 시도하는 것보다 무작위로 적당히 뽑는 편이 같은 시간 안에 더 좋은 조합을 찾는 경우가 많습니다. 이는 실제로 성능에 큰 영향을 주는 하이퍼파라미터가 일부에 불과하기 때문이에요. 그래서 계산 자원이 한정된 상황에서 많이 선택됩니다.
왜 중요한가
모델 성능은 학습률, 규제 강도, 트리 개수 같은 하이퍼파라미터 설정에 따라 크게 달라지지만, 후보 조합이 많아질수록 모든 경우를 다 시도하는 그리드 서치는 계산 비용이 기하급수적으로 늘어납니다. 랜덤 서치는 같은 계산 자원으로도 넓은 탐색 공간을 효율적으로 훑을 수 있어, 딥러닝처럼 하이퍼파라미터가 많고 학습 시간이 오래 걸리는 모델을 다루는 논문에서 실용적인 기본 탐색 전략으로 자주 채택됩니다. 이후 등장한 베이지안 최적화 같은 더 정교한 탐색 기법들도 흔히 랜덤 서치를 비교 기준(baseline)으로 삼습니다.
논문에서는 이렇게 쓰입니다
하이퍼파라미터 조합을 100번 무작위로 샘플링해 각각 학습시켜 본 뒤 가장 성능이 좋은 조합을 선택했다는 뜻이다.
먼저 랜덤 서치로 넓은 범위를 빠르게 훑어 가능성 있는 조합을 추린 다음, 그중 유망한 조합만 더 세밀하게 다듬었다는 뜻입니다.
조금 더 깊게 보면
랜덤 서치가 그리드 서치보다 효율적인 이유는, 실제로는 하이퍼파라미터마다 모델 성능에 미치는 영향력이 크게 다른데 그리드 서치는 중요하지 않은 하이퍼파라미터의 값 조합에도 똑같은 자원을 낭비하기 때문입니다. 랜덤 서치는 정해진 시도 횟수 안에서 각 하이퍼파라미터의 값을 더 다양하게 훑을 수 있어, 중요한 하이퍼파라미터의 좋은 값을 우연히 발견할 확률이 높아집니다. 최근에는 이런 무작위 탐색에 더해 이전 시도 결과를 반영해 다음 탐색 지점을 똑똑하게 고르는 베이지안 최적화나, 성능이 낮은 시도를 조기에 중단하는 조기 종료 기법을 함께 사용하는 경우도 많습니다.
주의할 점
무작위 탐색이기 때문에 운이 나쁘면 중요한 영역을 놓칠 수 있어, 탐색 결과의 재현성을 위해 난수 시드를 함께 보고하는 것이 좋다.