Professor Forcing

Teacher forcing의 문제점을 해결는 방법 중 Scheduled Sampling이 있었다. 
하지만 SS만으로는 부족했는지 Professor Forcing 방법이 제안되었다. 
NLG 논문들에서 언급되어서 찾아봤는데 두 방법 논문다 bengio가 있는 것과 인용수가 많은 것을 봐서 background라고 판단되었다.
논문에서 section 2 부분만 읽고 정리해보자.


2. Proposed Approach: Professor Forcing

  • 우리가 원하는 것은 네트워크 학습 시, previous real input인지 네트워크로 생성된 previous predict input인지 behavior of network가 구별할 수 없게 하고 싶은 것이다.
  • GAN 프레임워크를 이용하여 sequence 분포들을 비교할 수 있다. (teacher forcing mode vs free-running mode)
  • 우리는 G모델 말고도 D모델을 학습하고 D모델은 BiLSTM을 써서 previous뿐만 아닌 future의 정보도 이용할 것이다.(자세한건 뒤쪽을 함 보자)

2.1 Definitions and Notation

  • (x, y)는 (input, output) sequence 쌍이고 y는 G모델의  분포를 따라 생성이 된다. (x는 empty, 즉 condition이 안주어질 수도 있음)
  • 여기서 는 G parameters, 는 D parameters이다.
  • D 모델은 behavior b sequence을 분류하는 역할을 한다.
    • 여기서 b sequence는 input x에서 teacher forcing으로 생성된 sequence일 수도 있고 free-running mode로 생성된 sequence일 수 있다. (G모델은 에 따라 생성)
  • The function  outputs the behavior sequence
    • 여기서 x는 input이고 y는 teacher forcing(real data기반 sequence)가 될 수도 free-running mode(generated output기반 sequence)가 될 수도 있다.
  • D(b)에 들어가는 b는 반은 teacher forcing mode 반은 free-running mode 데이터이다. D(b)는 teacher forcing으로 들어온 데이터일 확률을 내뱉는다.

2.2 Training Objective 

  • D의 학습은 다음과 같이 이뤄진다.
    • 을 학습하는 obj function으로 MLE를 학습 하면 된다.
    • 즉 y가 data 기반으로 생성된 것이면, first term에서 D는 1이 되어야 하고 -logD는 작아져야 하고
    • y가 free-running이라면 second term에서 D는 0이 되어야 하므로 1-D는 1이 되어야 하므로 마찬가지로 -logD는 작아져야 한다.
    • 물론 이는 가 바뀌면 재학습을 해아한다.(GAN 처럼)
  • 는 (a) maximize the likelihood of the data and (b) fool the discriminator의 두 가지 방향으로 학습이 이뤄진다.
      • 이는 MLE 방식의 loss로 이것을 작게 만들어야 함.
      • 이는 y가 free-running으로 생성이 되었지만, D을 속여서 Cf loss가 작게 만드는 방향으로 학습이 되게 한다.
    • (추가) 
      • 추가적인 loss인데 G를 학습할 때, teacher forcing으로 생성된 데이터를 넣어 D가 0으로 생각하게 만들기 위한 loss이다.
      • 이것을 넣는 이유는 teacher forcing인지 free-running인지 D가 구분을 못하도록 하기 위함이다(개인적인 생각으론 별로일 거 같은데..).
    • NLL + Cf / NLL + Cf + Ct 두 개중 한 개의 방법으로 학습을 하면 된다.

모델 그림


즉 SS 방법하고 다른 부분이 GAN의 D를 이용해서 no teacher forcing 부분을 고려하겠다는 것이다.

Reference

댓글