Attention 메커니즘과 Seq2Seq 모델

Youngho LEE·2025년 8월 10일
post-thumbnail

Attention 메커니즘이 Seq2Seq 모델의 어떤 문제를 해결하는 데 도움이 되나요?

Attention은 “한 번에 한 벡터로 다 담아야 하는” Seq2Seq의 고정 길이 병목과 정렬(alignment) 문제를 풀어, 긴 문장에서도 디코더가 매 시점마다 소스 전체를 ‘참조’하며 번역(또는 생성)하도록 만든 메커니즘이다.

  • 고정 길이 벡터 병목
    문제: 전통적 Seq2Seq(RNN/LSTM)는 입력 전체를 하나의 고정 벡터로 압축해 디코더에 넘긴다. 길이가 길어질수록 정보 손실이 커진다.
    해결: Attention이 디코더 시점 tt 마다 모든 인코더 은닉상태 hih_i를 보고 가중치 at,ia_{t,i}로 가중합 컨텍스트 벡터.
    at=i=1Nαithia_{t}=\sum_{i=1}^{N} α_{i}^{t}h_{i}

  • 정렬(alignment) 부재
    문제: 기본 Seq2Seq는 어떤 타깃 단어가 소스의 어디를 봐야 하는지 명시적 연결이 없다.
    해결: Attention이 소프트 정렬(soft alignment)을 학습하여 “이 타깃 단어를 낼 때 소스의 이 위치를 더 본다”를 확률적으로 모델링한다. 품질 향상과 함께 시각화 가능한 해석성도 제공한다.

  • 긴 문장/어순 재배치의 성능 저하
    문제: 장거리 의존성, 어순 재배치가 많은 언어쌍에서 성능 저하.
    해결: 글로벌/로컬 등 다양한 Attention 설계(additive/dot-product, global/local)가 제안되어 긴 문장에서도 BLEU가 유의미하게 상승.

  • 과번역/미번역(coverage 문제)
    문제: 같은 소스 구간을 반복해서 보거나(과번역), 어떤 구간은 못 보고 지나침(미번역).
    해결: Coverage-aware attention이 “이미 본 정도”를 기억해 다음 주의 분배를 조절, 번역·정렬 품질을 개선.

  • 후속 발전(Transformer)
    통찰을 극대화한 Transformer는 RNN/Conv 없이 자기어텐션만으로 인코더–디코더를 구성, 시퀀스 변환의 표준이 되었다(Attention이 핵심 연결고리).

어텐션 스코어 함수 : score(st, hi)=stThiscore(s_{t},\ h_{i}) = s_{t}^Th_{i}
sts_t와 인코더의 모든 은닉 상태의 어텐션 스코어의 모음 값: ete^t
et=[stTh1,...,stThN]e^{t}=[s_{t}^Th_{1},...,s_{t}^Th_{N}]
가중치: αt=softmax(et)α^{t} = softmax(e^{t})
컨텍스트 at=i=1Nαithia_{t}=\sum_{i=1}^{N} α_{i}^{t}h_{i}

profile
개발자

0개의 댓글