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