강화학습을 활용한 자연어 생성

Richard S. Sutton{ width=500px }

자연어 생성 문제는 시퀀셜 데이터 생성의 특징상 과거 자신의 상태에 따라 미래의 상태가 결정되는 자기회귀auto-regressive적인 속성을 가집니다. 따라서 기존의 신경망 훈련 방식인 teacher-forcing과 최대가능도 추정(MLE)으로는 정확하게 훈련할 수 없었습니다. 물론 기본적인 훈련 방법을 통해서도 기존의 수십 년 연구성과를 훌쩍 뛰어넘는 결과를 만들어낼 수 있었지만, 한편으로는 정확하지 못한 훈련 방법에 대한 아쉬움이 남아있었습니다.

하지만 자연어 생성에 강화학습을 활용하면 샘플링을 통해 이러한 문제를 해결하고 더 정확한 자연어 문장을 생성할 수 있습니다. 12장에서는 강화학습의 기초적인 내용 전반에 대해 훑어보고, 강화학습을 통해 자연어 생성 문제의 성능을 높이는 방법과 실제 문제 적용에 관해 다루고자 합니다. 또한 실제 샘플링 기반의 강화학습 수식을 파이토치 코드로 어떻게 구현하는지 예제 코드를 통해 살펴보겠습니다. 이를 통해 독자 여러분이 실제 수학적으로 이끌어낸 수식이 코드로 어떻게 바뀌어 적용되는지 이해하기를 바랍니다.