들어가며
이 논문은 2020년 10월에 발표된 논문으로서, 이 분야에서 보기 드물게 dialogue system에서의 continual learning을 다루고 있다. 이 논문의 기본 문제구성의 아이디어는 Lee[2017] Toward Continual Learning for Conversational Agents에서 가져왔다고 할 수 있다. 하지만 이후 Catastrophic forgetting을 극복하는 EWC, Experience Replay 등의 기법을 결합하면서 의미있는 수준의 성능을 확인할 수 있게 되었다. 이 논문의 2달 뒤에는 Facebook의 Madotto et al.[2020] Continual Learning in Task-Oriented Dialogue Systems에서 NLG 및 전체 NLP 영역을 포괄한 더욱 제너럴한 주제로 발전시켰다. (다음에 정리해볼 예정)
추가로 언급할 것은, 이 논문은 정말 친절하게 작성되었다는 점이다. 정말 읽기 쉽다는 느낌이었다. 기존 연구를 체계적으로 정리하여 소개하는 점, 수식이나 노테이션 활용시 애매함이 없게 명확하게 개념을 정리하여 제시한다는 점이 눈에 띈다. 아직 인용수는 많지 않지만, 이 분야를 정리하기 위해 도움이 될만하니 관심있는 분들의 일독을 권한다.
Continual Learning의 어려움
Continual Learning이 필요한 이유는 뭘까? 만약 최초의 모델학습만으로 우리의 딥러닝 모델이 충분히 이후의 모든 입력에 대해 완벽히 대응 가능하다면 필요없겠지만, 안타깝게도 우리의 모델은 서비스 도중에 처음보는 입력, 지식, 도메인을 맞닥뜨리게 된다. 즉, 우리의 모델은 필연적으로 재학습이 필요한데, 특히 오늘 주로 다룰 챗봇(Dialogue System)이라면 online learning이 필수적이다.
그러나, 새로운 데이터를 가미한 재학습을 시도했을 때, Catastrophic forgetting이라는 문제를 만나게 된다. 이전에 잘 학습시킨 지식과 피처가 사라져 버린다. 아래 그림은 이런 현상을 좀더 직관적으로 설명해 준다. 고양이과 금붕어를 잘 구분하는 모델에 새롭게 사자와 개의 이미지 데이터와 라벨을 추가해서 학습을 시켰더니, 놀랍게도 우리의 새로운 모델은 이전에 잘 알아맞추던 고양이와 금붕어를 아주 높은 확률로 사자나 개로 분류하고 있는 것이다. 새로운 class가 추가되는 형태의 continual learning에서 흔히 접하게 되는 현상인데, 이를 클래스간 fairness를 잃어버렸다고 표현한다.
Task-oriented Dialogue system에서의 Continual Learning
이 논문에서는 MultiWoZ-2.0 데이터셋을 기반으로 새로운 task를 차례차례(continually) 배워가는 모델을 목표로 한다.