[DL Basic] Transformer 기초

Jeonghyun·2022년 10월 5일
0

DL basic

목록 보기
5/6

sequential model의 기존 문제 : 순서가 바뀌거나 누락되어있거나 밀린 모델들을 처리하기 어려움

Transformer

model based on attention
Encoders & Decoders stacked
Encoder = Self-attention → Feed Forward Neural Network
Self-attention : input 데이터(x1x_1)를 각 벡터(z1z_1)로 변경할 때 나머지 input의 정보를 같이 활용

각 단어 당 생성되는 벡터

  • Queries (q1q_1)
  • Keys (k1k_1)
  • Values (v1v_1) :dim(V)는 dim(Q)나 dim(K)와 달라도 된다
  • Score (q1k(1,2,...,n)q_1 \cdot k_{(1,2,...,n)} ) : x1x_1이 나머지 단어들과의 유사도를 나타냄

final encoding = weighted sum of the value vectors
softmax(Q×KTdk)V=Zsoftmax(\frac {Q \times K^T}{\sqrt {d_k}})* V = Z

Multi-headed attention(MHA)

  • attention을 여러 번 → n개의 attention을 반복함으로 n개의 encoding된 벡터 생성
  • embedding된 벡터와 encoding된 output 벡터의 차원을 맞춰야함

positional encoding

  • original embedding에 특정값을 더해 줌(offset)
  • 단어가 문장에서의 순서를 나타내기 위함

encoder → decoder

  • encoder의 key 와 value를 decoder로 보냄

참고
Transformer
http://jalammar.github.io/illustrated-transformer/
https://nlpinkorean.github.io/illustrated-transformer/ 한글
Attention is all you need
https://arxiv.org/abs/1706.03762




출처 - 부스트캠프 AI tech 교육자료


[부스트캠프 AI Tech] Week 3 - Day 2

0개의 댓글