본문 바로가기
카테고리 없음

인공지능 격자 검색과 무작위 검색

by 타로101 2024. 4. 26.

이상적인 학습 알고리즘은 사람이 초매개변수를 조정하지 않고도 데이터에 대한 함수를 출력할 것입니다. 그러나 현실의 알고리즘은 이렇지 않습니다. 로지스틱 회귀나 SVM과 같이 널리 쓰이는 알고리즘들은 초매개변수를 조정해야 하므로 인기를 끌었습니다. 초매개변수를 몇 개만 조정해도 신경망이 잘 작동할 수 있지만, 초매개변수를 40개 이상 조정할 때 성능이 크게 향상되는 경우도 있습니다. 초매개변수를 수동으로 조정하는 접근은 기존 연구나 경험에서 얻은 좋은 값이 있거나 비슷한 과제에 대해 경험이 있는 경우 효과적입니다. 그러나 이러한 출발점을 찾을 수 없는 경우도 많다. 이런 경우 자동화된 알고리즘을 사용하여 유용한 초매개변수 값을 찾는 것이 도움이 됩니다.

 

인공지능
인공지능

 

격자 검색 일반적인 접근 방법

학습 알고리즘의 사용자가 좋은 초매개변수 값을 찾는 것은 결국 최적화 작업이라는 것을 깨닫게 됩니다. 즉, 좋은 초매개변수 값을 찾는 것은 특정 목적 함수를 최적화하는 것과 동일합니다. 따라서, 학습 알고리즘의 초매개변수를 사용자에게 노출하지 않고도 최적의 초매개변수 값을 찾을 수 있도록 초매개변수 최적화 알고리즘을 개발하는 것이 가능합니다. 그러나 아쉽게도 초매개변수 최적화 알고리즘에도 초매개변수가 존재합니다. 예를 들어, 각 초매개변수를 최적화할 때 사용되는 값들의 범위가 그러한 초매개변수의 예시입니다. 다행히도 이러한 이차 초매개변수는 비교적 쉽게 선택할 수 있습니다.
초매개변수가 셋 이하일 때, 일반적으로 격자 검색을 사용하여 초매개변수를 조정합니다. 이 알고리즘의 사용자는 각 초매개변수에 대해 가능한 값들의 작은 집합을 지정합니다. 격자 검색 알고리즘은 이러한 값들의 조합에 대해 모델을 훈련합니다. 그리고 검증 세트의 오차를 측정하여 가장 작은 오차를 가진 조합의 초매개변수를 찾습니다. 이 값들이 최적의 초매개변수입니다.
격자 검색을 반복적으로 적용하는 것이 일반적으로 가장 좋은 성능을 보입니다. 예를 들어, 초매개변수의 최적값을 (-1, 0, 1) 값 집합을 사용하여 격자 검색한다고 가정해 봅시다. 만약 알고리즘이 1을 최적값으로 도출했다면, 초기 범위가 과소 평가되었을 가능성이 있습니다. 이 경우, (1, 2, 3) 범위에서 다시 검색을 수행해야 합니다. 반대로, 알고리즘이 0을 반환했다면, 범위를 더 좁혀서 다시 검색할 수 있습니다.
격자 검색의 주요 문제점은 계산 비용이 초매개변수 개수에 지수적으로 증가한다는 것입니다. 만약 초매개변수가 m개이고 각 초매개변수가 최대 n 가지 값으로 설정될 수 있다면, 필요한 훈련 및 평가 회수는 O(n^m)으로 증가합니다. 이는 계산 복잡도가 지수적으로 증가한다는 것을 의미합니다. 병렬 처리를 통해 여러 시행을 동시에 실행할 수 있지만, 격자 검색의 비용이 이미 지수적이기 때문에 병렬 처리를 사용하여 검색의 규모를 충분히 확장하는 것이 불가능할 수 있습니다.

 

무작위 검색 효율적인 대안 방법

무작위 검색은 격자 검색의 대안으로, 프로그래밍이 쉽고 사용하기 편하며 더 빠르게 수렴하는 초매개변수 값을 찾을 수 있는 방법입니다. 무작위 검색은 다음과 같이 작동합니다. 사용자는 각 초매개변수에 대해 하나의 주변 분포를 정의합니다. 예를 들어, 이진 또는 이산 초매개변수의 경우 베르누이 분포나 멀티누이 분포를 사용하고, 양의 실숫값 초매개변수의 경우 균등 분포나 로그 스케일 분포를 사용할 수 있습니다.
무작위 검색은 격자 검색과는 다르게 초매개변수 값을 이산화하지 않아야 합니다. 다시 말해, 초매개변수의 값들을 일정한 간격으로 나누어 정숫값으로 변환하는 등의 처리를 하지 않아야 합니다. 이는 더 큰 값 집합을 탐색하고 추가적인 계산 비용을 피하기 위함입니다. 실제로, 무작위 검색은 성능 측면에서 격자 검색보다 효율적일 수 있으며, 특히 성과 측정에 강하게 영향을 주지 않는 많은 수의 초매개변수가 있을 때 더욱 그렇습니다.
무작위 검색 또한 이전 실행 결과를 기반으로 검색을 더 정교하게 조정하여 더 나은 결과를 얻을 수 있습니다. 이전 실행에서 얻은 정보를 활용하여 초매개변수 값의 범위를 조정하거나 다음 시행에서 더 중요한 영역에 초점을 맞출 수 있습니다. 이를 통해 무작위 검색이 더욱 효율적으로 초매개변수 공간을 탐색하고 더 나은 성능을 달성할 수 있습니다.
무작위 검색이 격자 검색보다 더 빨리 좋은 해를 찾아내는 이유 중 하나는 불필요한 실험적 실행에 의한 낭비가 적기 때문입니다. 격자 검색에서는 한 초매개변수의 두 값을 시험할 때 다른 초매개변수들의 값이 동일한 상황에서 시행이 반복됩니다. 이렇게 되면 두 값이 같은 결과를 내는 경우에도 같은 결과를 얻기 위해 계산이 중복될 수 있습니다. 그러나 무작위 검색에서는 일반적으로 서로 다른 초매개변수 값으로 두 값을 시험하므로 이러한 낭비가 발생하지 않습니다. 따라서 무작위 검색은 더 효율적으로 초매개변수 공간을 탐색하고 더 빠르게 더 나은 해를 찾아낼 수 있습니다.

 

결론

결론적으로, 초매개변수 최적화는 학습 알고리즘의 성능 향상을 위해 중요한 과제입니다. 격자 검색은 일반적으로 사용되는 방법이지만, 계산 비용이 초매개변수 개수에 따라 지수적으로 증가하는 단점이 있습니다. 이에 반해 무작위 검색은 더 효율적으로 초매개변수 공간을 탐색하고 빠르게 더 나은 해를 찾아낼 수 있는 대안적인 방법으로 강조됩니다.