Seq2Seq 모델에서 Teacher Forcing 이해하기

발행: (2026년 3월 24일 AM 04:35 GMT+9)
3 분 소요
원문: Dev.to

Source: Dev.to

Teacher Forcing이란?

seq2seq 신경망을 학습시킬 때, 디코더는 한 번에 하나씩 토큰을 생성하며 출력 시퀀스를 단계별로 구축합니다. 각 단계에서는 다음 토큰을 예측하기 위해 이전 토큰을 입력으로 사용해야 합니다. 이 이전 토큰의 선택은 모델이 얼마나 잘 학습되는지에 직접적인 영향을 미칩니다.

Teacher Forcing 없이

Teacher Forcing을 사용하지 않으면, 모델은 자신이 이전에 예측한 토큰을 입력으로 사용합니다.

예시 (목표 시퀀스: “I am learning”):

단계입력 토큰예측 토큰
1I
2IIs
3Is… (오류가 전파됨)

초기의 작은 실수 하나가 이후 모든 예측을 올바른 시퀀스와 멀어지게 합니다. 오류가 단계별로 누적되어 학습이 느리고 불안정해지며, 모델이 올바른 시퀀스를 배우기 어려워집니다.

Teacher Forcing 사용 시

Teacher Forcing을 적용하면, 모델의 자체 예측을 넣는 대신 데이터셋에 있는 올바른 토큰을 매 단계마다 제공하게 됩니다. 모델이 어느 단계에서 실수를 하더라도, 다음 단계로 넘어가기 전에 올바른 토큰으로 교체합니다. 이렇게 하면 모델은 학습하는 동안 항상 올바른 문맥을 보게 됩니다.

장점

  • 빠른 수렴 – 학습 전 과정에서 정확한 문맥을 제공받습니다.
  • 안정적인 학습 – 오류가 시간 단계마다 누적되지 않습니다.
  • 올바른 시퀀스 학습이 용이 – 디코더가 현재 은닉 상태를 다음 실제 토큰에 매핑하는 데 집중하게 되며, 자체 실수에서 회복하려 애쓰지 않아도 됩니다.
0 조회
Back to Blog

관련 글

더 보기 »