Loading...
2022. 4. 19. 16:03

length normalization을 이용한 beam search의 종료조건

1. beam search의 종료조건 greedy decoding은 가 생성되면 종료했다. beam search도 그런가? 여러가지 hypothesis를 고려하기때문에 가 각 hypothesis마다 다르게 생성된다는 것이 문제다. 가 생성된 hypothesis는 더 이상 단어를 생성할 필요가 없으니 물론 고려할 필요는 없다. 중간에 고려대상 hypothesis가 를 만들경우 그 hypothesis는 임시공간에 저장해놓고 최종후보대상에 올려놓는 것이다. 그 경우 다음 step에서 몇개를 고려해야하느냐가 문제다. 1개를 선택했으니 k-1개만 고려할까? 아니 beam search의 취지에 맞게 계속 k개를 고려할까? 사람마다 다르다.. 적절하게 고려하는것이 중요하다 어떨때 종료할까? 첫번째로 time step..

2022. 4. 18. 10:21

beam search 기법이란 무엇인가

1. exhaustive search decoding의 매 스텝마다 모든 가능한 경우에 대해 확률분포를 따져보겠다는 것이다. 모든 가능한 경로에 대해 확률을 계산하여 최종적으로 가장 확률이 높은 1가지를 선택한다 근데 이제 보면 알겠지만 계산비용이 $O(V^{T})$로 T가 조금만 커져도 말도 안되게 커진다 참고로 greedy decoding은 매 스텝마다 가장 확률이 높은 1가지만 뽑으니까 2. beam search greedy는 계산이 쉽지만 최적을 항상 보장하지 않는다는 점, exhaustive search는 계산 비용이 너무 많이 든다는 점에서 중간책을 선택하고 싶다는 것이다. 그렇다면 매 step마다 beam size=k개만 고려하겠다. 최종적으로 고려한 적절한 수의 후보들 중 가장 확률이 높은..

2022. 4. 17. 08:26

greedy decoding(greedy search)은 왜 최적이 아닐까?

1. greedy decoding 일반적으로 행하던 decoding 방법이다. 매 time step마다 계산된 확률분포중 가장 확률이 높은 단어를 하나씩 선택한다. sequence 전체적으로 보는것보다 당장 현재 step에서 가장 확률이 높은 최적 단어를 뽑고자 하는 것이다. 순간순간에는 최적이지만 전체로 볼때는 최적이 아니라는 greedy algorithm에서 따온거겠지? 정답은 he hit me with a pie인데 he, he hit 생성하고 다음 단어 생성하는데 최적인 단어는 a라고 생각한거지.. 그러면 이제 이 순간 다음부터는 뭐가 나오든 최종 결과는 무조건 잘못된거임 2. 이상적인 번역이란 이상적으로 input sequence x가 주어질 때 그것에 대한 번역인 translation y를 찾..