sol’s blog

Transformer

sol-commits
sol-commits Aug 19, 2025
 

ETS(Exponential Smoothing)

최근 관측에 더 큰 가중치, 과거일수록 지수적으로 가중치 감소

현재 정보가 가장 중요, 오래된 정보는 희미해짐

 

State Space·칼만 필터와 ETS의 연결

  • 칼만필터의 정상상태 이득이 상수로 수렴하면, 업데이트가 ETS의 형태와 같아짐 → 특정 가정에서 ETS ≈ 칼만필터 기반 추정으로 볼 수 있음
 

RNN과 LSTM의 동기

  • RNN: ht=f(ht1,xt)h_t = f(h_{t-1}, \text{x}_\text{t}) 로 과거 정보를 전달하나, 장기 의존에서 기울기 소실/폭발 문제
  • LSTM: 게이트(Forget/Input/Output)와 셀 상태 ct\text{c}_\text{t}로 중요 정보를 보존/삭제/출력하도록 학습
    • ct=ftct1+it ct,ht=ottanh(ct)c_t=f_t⊙c_{t−1}+i_t⊙~c_t, h_t=o_t⊙tanh(c_t)
    • ft\text{f}_\text{t}, it\text{i}_\text{t}가 시점·상황별로 달라지는 비선형·적응형 가중
 

Embedding

  • 우리가 다루는 데이터(단어, 문장, 이미지, 사용자 등)는 원래 형태로는 숫자가 아님
  • 컴퓨터/딥러닝 모델이 이해할 수 있도록 → 숫자 벡터로 바꿔줘야 함
  • 고차원적이고 복잡한 데이터를 “의미가 보존된 벡터 공간”으로 바꾸는 것 = 임베딩

Embedding model

  • 임베딩을 자동으로 잘 학습해주는 신경망 모델
  • 데이터의 의미/관계가 벡터 간 거리로 표현되도록 훈련
  • 예시
    • 자연어: Word2Vec, GloVe, BERT → 비슷한 의미 단어는 가까운 벡터
    • 추천시스템: 사용자와 아이템을 같은 공간에 임베딩 → 취향 가까우면 추천
    • 이미지 검색: 비슷한 이미지끼리 벡터가 가까워지도록 학습
 

Seq2Seq

길이가 달라도 되는 입력 시퀀스를 받아, 또 다른 시퀀스로 바로 변환해 주는 엔드투엔드 프레임워크
  • 문장 → 문장, 코드 → 코드 같은 실전문제의 기본 틀로 자리 잡음

왜 중요한가?

  1. 가변 길이 ↔ 가변 길이
    1. : 전통 모델이 어려워하던 입력·출력 길이 불일치를 자연스럽게 처리함

  1. 엔드투엔드 학습
    1. : 토큰화 이후 별도 규칙·정렬 없이 학습만으로 변환 규칙을 습득함

  1. 정렬 문제 해결
    1. : 어텐션을 붙이면 입력의 어느 부분을 보고 있는지까지 학습해 긴 문장·복잡한 매핑을 잘 처리하고, 해석도 쉬워짐

  1. 범용성
    1. : RNN/LSTM → 어텐션 → 트랜스포머까지 같은 틀(인코더 - 디코더) 안에서 발전

 

Attention

Seq2Seq의 핵심 업그레이드

Seq2Seq의 bottleneck 해결

  • 긴 입력 전체를 “고정 길이 벡터 1개”에 다 눌러 담아야 했던 것(인코더 마지막 은닉상태 하나가 전부)

→ 당연히 세부 정보가 빠지고, 길어질수록 품질이 급락

  • 기울기 문제: RNN을 길게 펼치면 학습 신호가 뒤로 덜 전달되어 초반 정보 학습이 약해짐

 

추천 글

BlogPro logo