맨위로가기

빔 탐색

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

빔 탐색은 너비 우선 탐색을 기반으로 하는 탐색 알고리즘으로, 탐색 트리의 각 레벨에서 휴리스틱 비용이 가장 좋은 미리 결정된 수의 상태만 유지하고 확장한다. 빔 폭이라고 불리는 이 숫자는 탐색에 필요한 메모리를 제한하며, 빔 폭이 클수록 더 많은 상태가 유지되고, 빔 폭이 1이면 언덕 오르기 알고리즘과 유사해진다. 빔 탐색은 완전성을 희생하며 최적의 해를 보장하지 않지만, 대규모 시스템에서 실용성을 유지하기 위해 사용되며, 기계 번역 시스템 등에서 활용된다. 빔 스택 탐색, 깊이 우선 빔 탐색, 지역 빔 탐색, 확률적 빔 탐색 등 다양한 변형이 존재한다.

더 읽어볼만한 페이지

  • 검색 알고리즘 - 유전 알고리즘
    유전 알고리즘은 생물 진화 과정을 모방하여 최적해를 탐색하는 계산 최적화 기법으로, 해를 유전자로 표현하고 적합도 함수를 통해 평가하며 선택, 교차, 돌연변이 연산을 반복하여 최적해에 근접하는 해를 생성하며, 성능은 매개변수에 영향을 받고 초기 수렴 문제 해결을 위한 다양한 변형 기법과 관련 기법이 존재한다.
  • 검색 알고리즘 - 역색인
    역색인은 단어와 해당 단어가 포함된 문서 간의 관계를 나타내는 자료 구조이며, 검색 엔진의 쿼리 속도를 최적화하는 데 사용된다.
빔 탐색

2. 상세

빔 탐색은 너비 우선 탐색 방식을 사용하여 탐색 트리를 탐색한다. 트리의 각 레벨에서, 현재 레벨의 상태(노드)에서 탐색 가능한 다음 레벨의 모든 상태(노드)를 생성하고, 평가 값(휴리스틱 비용) 순서대로 정렬한다.[2][15] 하지만 각 레벨에서는 미리 정해진 개수 \beta(빔 폭)만큼의 가장 좋은 상태(노드)만 저장하고,[2] 다음 탐색은 이 선택된 상태(노드)들만을 대상으로 진행한다.

빔 폭 \beta가 클수록 가지치기되는 상태(노드)는 줄어든다. 만약 빔 폭이 무한대(\beta = \infty)라면 상태가 잘리지 않아 최선 우선 탐색 또는 너비 우선 탐색과 동일해진다.[3][16] 반대로 빔 폭이 1(\beta = 1)이면 언덕 오르기 또는 탐욕법과 같아진다.[3][16]

빔 폭은 탐색을 수행하는 데 필요한 메모리 양을 제한하는 장점이 있다. 그러나 목표 상태가 빔 폭 제한 때문에 가지치기되어 버릴 수 있으므로, 빔 탐색은 완전성(해가 존재할 경우 반드시 찾는다는 보장)과 최적성(찾은 해가 최적임을 보장)을 보장하지 않는다.[16] 즉, 해나 최적해를 찾지 못하고 탐색이 종료될 수 있다.

3. 역사

1976년에 발표된 논문[5]에서 소개된 하피 음성 인식 시스템(Harpy Speech Recognition System|eng)은 빔 탐색으로 알려지게 된 기술을 최초로 사용한 사례였다.[6] 이 기법은 원래 "탐색의 로커스 모델"(locus model of search|eng)이라고 불렸지만, 1977년에는 이미 "빔 탐색"(beam search|eng)이라는 용어가 사용되었다.[7]

4. 활용

빔 탐색은 전체 탐색 트리를 저장할 충분한 메모리가 없는 대규모 시스템에서 실용성을 확보하기 위해 가장 자주 사용된다.[9][17]

빔 탐색이 처음 사용된 것은 1976년 카네기 멜런 대학교의 하피 음성 인식 시스템이었다.[19]

또한, 많은 기계 번역 시스템에서도 사용되었다.[4][18] 기계 번역 과정에서 최상의 번역을 선택하기 위해 문장의 각 부분을 처리하며 단어를 번역하는 여러 방법을 탐색한다. 이때 문장 구조에 따라 가장 가능성이 높은 상위 번역 후보들만 유지하고 나머지는 버리는 방식으로 진행된다. 이후 번역기는 주어진 기준에 따라 후보 번역들을 평가하여 목표를 가장 잘 만족시키는 번역을 최종적으로 선택한다. (다만, 현재 최첨단 기계 번역 기술은 주로 신경망 기계 번역 기반의 방법, 특히 대규모 언어 모델을 사용한다.)

5. 변형

빔 탐색은 목표 상태를 놓칠 수 있어 완전성이 보장되지 않는 단점이 있다. 이러한 단점을 보완하고 성능을 개선하기 위해 여러 변형 알고리즘이 개발되었다.

완전성을 확보하기 위한 시도로 깊이 우선 탐색과 결합한 ''빔 스택 탐색''[8][20]과 ''깊이 우선 빔 탐색''[9][21]이 제안되었다. 또한, 제한된 불일치 탐색(limited discrepancy search)과 결합하여 ''제한된 불일치 백트래킹을 사용한 빔 탐색''(Beam Search Using Limited Discrepancy Backtracking, BULB)[9][22]도 개발되었다. 이러한 알고리즘들은 Anytime 알고리즘의 특성을 가지는데, 이는 비교적 짧은 시간 안에 괜찮은 해를 찾고, 시간이 더 주어지면 점진적으로 더 나은 해를 찾아 개선해나가는 방식이다. 따라서 탐색 도중에 중단하더라도 해당 시점까지 찾은 최선의 해를 얻을 수 있다.[22] Anytime 알고리즘의 다른 파생 형태로는 좁은 빔 폭(β)으로 시작하여 점차 폭을 넓혀가며 탐색을 반복하는 반복 확대(Iterative Widening)[23] 방식이나, 탐색 트리의 레벨별 우선순위 큐를 유지하여 이전 탐색 결과를 활용하며 빔 폭을 넓혀가는 chokudai 서치[24] 등이 있다.

지역 탐색의 관점에서 변형된 ''지역 빔 탐색''(Local Beam Search)도 있다. 이 방식은 무작위로 생성된 β개의 상태에서 시작하여, 각 단계마다 현재 상태들의 모든 이웃 상태(후계자)를 생성하고 그중 가장 좋은 β개의 상태만을 다음 단계로 가져가 탐색을 진행한다.[10][11][25][26] 하지만 지역 빔 탐색은 지역 최적해(local optimum)에 빠져 전역 최적해(global optimum)를 찾지 못하는 경우가 많다. 이를 해결하기 위해 상태의 휴리스틱 평가에 기반하되, 확률적인 요소를 가미하여 다음 β개의 상태를 선택하는 ''확률적 빔 탐색''(Stochastic Beam Search)이 제안되었다.[12][27]

이 외에도 빔 폭을 동적으로 조절하는 ''유연한 빔 탐색''(Flexible Beam Search)과 탐색 과정에서 가지치기된 경로를 복구하려는 시도를 포함하는 ''복구 빔 탐색''(Recovery Beam Search) 등의 변형이 존재한다.[11][28]

참조

[1] 웹사이트 beam search https://foldoc.org/b[...] 2024-03-27
[2] 웹사이트 BRITISH MUSEUM SEARCH http://bradley.bradl[...] 2016-04-11
[3] 서적 Paradigms of Artificial Intelligence Programming: Case Studies in Common LISP https://books.google[...] Morgan Kaufmann 1992
[4] 간행물 Word reordering and a dynamic programming beam search algorithm for statistical machine translation https://direct.mit.e[...] 2003
[5] 학위논문 The Harpy Speech Recognition System https://stacks.stanf[...] Carnegie Mellon University 1976
[6] 간행물 Filtered beam search in scheduling† http://www.tandfonli[...] 1988
[7] 서적 DTIC ADA049288: Speech Understanding Systems. Summary of Results of the Five-Year Research Effort at Carnegie-Mellon University http://archive.org/d[...] 1977-08-01
[8] 서적 ICAPS 2011-04-09
[9] 서적 Proceedings of the 19th international joint conference on Artificial intelligence Morgan Kaufmann 2005
[10] 웹사이트 Local search algorithms https://www.cs.unc.e[...] University of North Carolina at Chapel Hill, Department of Computer Science
[11] 웹사이트 Beam Search https://www.cse.iitb[...] Indian Institute of Technology Bombay, Department of Computer Science and Engineering (CSE)
[12] 웹사이트 Local Search http://www-users.cse[...] University of Minnesota 2018-11-21
[13] 웹사이트 FOLDOC - Computing Dictionary http://foldoc.org/in[...] 2016-04-11
[14] 문서 Speech Understanding Systems: A Summary of Results of the Five-Year Research Effort. Department of Computer Science. 1977
[15] 웹사이트 BRITISH MUSEUM SEARCH http://bradley.bradl[...] 2016-04-11
[16] 서적 Paradigms of Artificial Intelligence Programming: Case Studies in Common LISP https://books.google[...] Morgan Kaufmann 1992-01-01
[17] 웹사이트 Archived copy http://www.ijcai.org[...] 2005 2007-12-22
[18] 웹사이트 Archived copy http://acl.ldc.upenn[...] Word Reordering and a Dynamic Programming Beam Search Algorithm for Statistical Machine Translation 2007-12-22
[19] 학위논문 The Harpy Speech Recognition System Carnegie Mellon University 1976
[20] 웹사이트 Beam-Stack Search: Integrating Backtracking with Beam Search http://www.aaai.org/[...] 2005
[21] 웹사이트 Archived copy http://www.ijcai.org[...] Limited Discrepancy Beam Search 2007-12-22
[22] 문서 CiteSeerX https://citeseerx.is[...]
[23] 웹사이트 Complete Anytime Beam Search https://www.aaai.org[...] AAAI 2022-03-24
[24] 웹사이트 Chokudai search https://www.slidesha[...] Slideshare 2022-03-24
[25] 웹사이트 Local search algorithms https://www.cs.unc.e[...] University of North Carolina at Chapel Hill, Department of Computer Science 2011-07-05
[26] 웹사이트 Beam Search https://www.cse.iitb[...] Indian Institute of Technology Bombay, Department of Computer Science and Engineering (CSE) 2018-11-21
[27] 웹사이트 Local Search http://www-users.cse[...] University of Minnesota 2018-11-21
[28] 웹사이트 Beam Search https://www.cse.iitb[...] Indian Institute of Technology Bombay, Department of Computer Science and Engineering (CSE) 2018-11-21
[29] 웹인용 beam search https://foldoc.org/b[...] 2024-03-27



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com