들어가며


이 논문은 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를 잃어버렸다고 표현한다.

Zhao et al.[2019] Maintaining Discrimination and Fairness in Class Incremental Learning

Zhao et al.[2019] Maintaining Discrimination and Fairness in Class Incremental Learning

Task-oriented Dialogue system에서의 Continual Learning

이 논문에서는 MultiWoZ-2.0 데이터셋을 기반으로 새로운 task를 차례차례(continually) 배워가는 모델을 목표로 한다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/78cde9fc-2d7e-4805-a1ef-99a3c1a63bb0/Untitled.png

이 데이터셋은 6개의 도메인(Attraction, Hotel, Restaurant, Booking, Taxi and Train)에 대해 각각 7개의 intent(Inform, Request, Select, Recommend, Book, Offer-Booked, No-Offer)로 이루어져 있다. intent 개념은 모델 구성을 좀더 상세히 다루면서 다시 언급하겠지만, 이 논문에서 하고 싶은 것은 하나의 챗봇 모델이 특정 도메인에 대해서만 특화된 text generation을 하는 것이 아니라, 도메인이 지속적으로 추가되어도 이전 도메인에 대해 학습한 것을 잊어버리지 않으면서 text generaion 자체도 GPT 모델처럼 생성하는 문장을 통제할 수 없는 것이 아니라 정밀하게 부여된 intent에 따라 수행하게끔 하고싶은 것이다.

Continual learning vs Domain adaptation

이 두가지 주제는 다소 혼동스러울 수 있다. 하지만 domain adaptation은 continual learning에서 관심을 가지는 다음 2가지 목표에 관심이 없다.