Transformer 리뷰

Jayce_97·2024년 4월 10일
0

논문

목록 보기
1/1

Transformer정리중
관련논문 - all you need is attention
구현코드 - 해당코드는 시계열 데이터(sunspot)을 이용하여 연습하였습니다.


  • Dot-Product(내적)
  • MultiHead

Nadaraya-Watson Kernel Regression (1964)

  • Estimator
    • y=i=1mα(x,xi)yiy = \sum_{i=1}^m \alpha(x, x_i)y_i
    • Use given a kernel KK to get weights of labels according to location x
  • Define
    • α(x,xi)=K(xxi)j=1mK(xxj)\alpha(x, x_i) = \frac{K(x-x_i)}{\sum_{j=1}^{m} K(x-x_j)}
    • query : xx (예측하고 싶은 값)
    • keys : xi(1im)x_i (1 \leq i\leq m) ( data_input )
    • values : yi(1im)y_i (1 \leq i\leq m) ( data_output )
  • Kernel
    • 가우시안 커널
      • 가우시안 데이터 포인트는 0에 수렴
      • 트라이앵글 커널을 사용하면 데이터 포인트를 0으로 만들 수는 있지만 이 방법으론 α(x,xi)=K(xxi)j=1mK(xxj)\alpha(x, x_i) = \frac{K(x-x_i)}{\sum_{j=1}^{m} K(x-x_j)}에서 분모가 0이 되어 계산이 되지 않는다.
      • 즉 가우시안은 어떻게든 계산해서 답을 주긴 한다.
  • Attention
    • 공식
      • exp(βxxi)j=1mexp(βxxj)=softmax(βxx1,βxx2,,βxxm)i\frac{\exp(\beta |x-x_i|)}{\sum_{j=1}^{m} \exp(\beta |x-x_j|)} = \operatorname{softmax}(\beta |x-x_1|, \beta |x-x_2|, \ldots, \beta |x-x_m|)_i
    • 음수값인 베타를 곱해주는 이유는 지수함수는 양수에서 급격히 값이 변하기 때문에 차이를 줄여주기 위해서
    • softmax를 사용
    • 가우시안 방식에 비해 노이즈에 조금 더 민감
  • Self-Attention
    • q,v,k가 같거나 q,k가 같은 것
profile
Dreamer

0개의 댓글