2022/NLP

[RNN] Teacher Forcing 방법. 무엇이고 왜 쓰는지.

코드아키택트 2022. 9. 5. 20:57
반응형

CS224N을 보는 중 Teacher Forcing이라는 말이 자주 나와 간략히 알아본다. 

수업엔 한장나오지만 여러번 들린다

 

방법 : 학습시, 이전 상태의 결과(t-1, y_hat(t-1))를 현재상태(t)에 넣지 않음. 대신 이전 상태의 답지(y_(t-1), 위 그림에선 x(t))를 현재 상태의 input으로 넣어줌.

 

Teacher Forcing 있을때와 없을때 차이

prediction 대신 ground truth를 input에 넣는것을 볼 수 있음

쓰는 이유 : 쓰지 않으면 모델이 불안정함. 쓴 경우 수렴 속도 빨라짐. 이미 검증됨 (CS224N  수업 내용 중)

단점 : open-loop(학습되지 않은 내용을 뜻하는 듯)의 경우 잘 작동하지 않음. 왜냐하면 학습시 사용된 input과 test시 사용되는 input이 다름

- 해결방법 : teacher force 방법과, free running input(예측된 값을 인풋으로 넣는걸 뜻하는듯)으로 학습 --> 학습시 못본 데이터에 대해서도 대응할 수 있도록

 

https://cedar.buffalo.edu/~srihari/CSE676/10.2.1%20TeacherForcing.pdf

https://en.wikipedia.org/wiki/Teacher_forcing

https://blog.naver.com/sooftware/221790750668

반응형

'2022 > NLP' 카테고리의 다른 글

[NLP/ CS224n] 자료 다운 받는 법  (0) 2022.08.24