NLP 논문 리뷰 - The Curious case of Neural Text Degeneration을 정리하며 작성.
koGPT-2로 학습 시킨 후 문장을 생성할 때, gready search
를 통해서 문장을 생성했는데, 문장 생성이 조금 지나면 중복된 문장이 생성이 되었다. 문장 생성 방법에는 gready search
, beam search
, random sampling
방법이 있는데, GPT-2에서 빔 탐색을 이용할 경우 이후에 문장 중복이 나온다고 한다.
NLP에서 좋은 결과가 나오는 대부분의 언어모델(language model)의 경우 디코딩 부분에서 빔 탐색과 그리디 탐색을 사용하며 log likelihood
와 argmax
등을 이용해서 탐색을 한다.
아래 그림을 보면 중복된 내용을 확인할 수 있다. 나의 경우도 GPT-2로 문장 생성시 중복된 내용이 계속 반복 되었다.
k=40일 때의 Top K 샘플링 결과이다.
아래 그림을 보면 사람이 생성한 텍스트의 확률 값은 편차가 큰 반면, 빔 탐색으로 생성한 경우 높은 확률 수치를 유지하고 있다. 따라서 아래 그림만 보았을 때도 랜덤 탐색의 경우가 좀더 효율적으로 보인다.
샘플링 방법 중 더 나은 탐색 방법들