한 Time Step만의 단어를 고려하여 문장을 생성할 시, 현재 단어가 잘못 만들어 졌을 경우, 수정할 수 없다는 결점이 생긴다.
모든 경우의 수를 고려했을 때, 최적의 문장을 만들 수 있다. 하지만 cost가 너무 크다는 단점을 가지고 있다.
Beam Search의 개념은 간단하다. 사용자가 정의한 사이즈 만큼의
Time Step 까지만 고려하겠다는 것이다. 위의 사진을 보자. 만들 수 있는 모든 경우에 수를 생성하고 사용자가 설정해둔 Beam size 까지 확률을 확인한 후, 가장 높은 확률의 루트를 선택하여 해당 과정을 반복하는 것을 확인 할 수 있다.
이와 같은 개념이 Beam Search 이다.