Beam search algorithm
주어진 input x에 대해 다음에 등장할 수 있는 예측값 하나만을 뽑았던 greedy search와 달리,
Beam search algorithm은 해당 시점에 다음으로 등장할 확률이 가장 높은 것 B개를 뽑습니다.
이것은 일종의 hyper-parameter로 상황에 따라 다른 값을 부여할 수 있고, 이를 beam width라고 부릅니다.
맨 처음 골랐던 세 단어를 기준으로 또 세 개씩 뽑습니다.
각각의 확률을 구하는 방식은 완전히 동일하게 반복됩니다.
어떤 단어가 뽑혔을 경우, 이것을 포함한 것이 조건으로 들어가고, 이때 다음으로 등장할 확률이 가장 높은 B개를 추출하게 됩니다.
이를 문장이 끝날 때까지 반복하면 됩니다.
재밌는 것은 결국 한 개의 후보만 가지고 판단을 하는 greedy search는 사실 beam search에서 B=1로 설정한 것과 동일하다는 것입니다.
출처: Coursera, Sequence Models, DeepLearning.AI