본문 바로가기

Experience/SKADA

[SKADA] DRAM 내부 회로의 파형 예측 (4)

📁 Transformer 모델을 통한 파형 예측

 

📌 Sequence-to-Sequence(Seq2Seq)

  • Sequence를 다른 sequence로 바꿔주는 모델
  • Encoder와 Decoder로 구성
    • Encoder: 입력 데이터를 context vector로 압축
    • Decoder: context vector에서 출력 데이터를 유추
  • 문제점
    • Context vector의 크기는 고정적
    • Sequence의 길이가 길어지면 정보 손실 발생

 

📌 Attention

  • 특정 출력값을 만들어 내기 위해 입력값 중 관련 있는 부분을 더 집중
  • RNN 기반 Attention Mechanism의 문제점: 병렬 처리 불가

 

📌 Transformer

  • 일반적인 seq2seq 모델과 마찬가지로 Encoder-Decoder 구조
  • RNN 기반 seq2seq 모델과 다르게 데이터를 병렬적으로 처리 가능 → Positional encoding
  • Positional Encoding
    • 입력 데이터의 순서 $pos$를 데이터에 반영하여 모델에 입력
    • 짝수번째 차원은 $sin$을, 홀수번째 차원은 $cos$를 적용
      • $PE(pos, 2i)=sin\left ( \frac{pos}{10000^\frac{2i}{d_{model}}} \right )$
      • $PE(pos, 2i+1)=sin\left ( \frac{pos}{10000^\frac{2i+1}{d_{model}}} \right )$
    • 직관적 이해: 입력 순서의 low frequency ~ high frequency 까지 정보를 모두 모델링

 

📌 Attention의 종류

  • Self-Attention
    • 입력 값끼리, 또는 출력 값끼리 attention 수행
    • encoder self-attention, masked decoder self-attention
  • Cross-Attention
    • 입력 값과 출력 값 간에 attention 수행
    • encoder-decoder attention
  • Multi-Head Attention
    • Ensemble의 개념과 유사
    • Value, Key, Query를 N개의 각각 다른 matrix로 곱하여 서로 다른 N개의 Value, Key, Query 생성 후 개별적으로 Attention 수행
    • 마지막에 N개의 state를 concatenate 한 후 matrix 연산을 이용해 linear transform 한 후 최종 context vector 계산

 

📌 Add & Norm

  • Multi-Head attention을 통해 계산한 context vector와 입력 값을 단순히 더한 후 normalization 수행
  • ResNet의 residual connection의 개념과 유사

 

📌 Feed Forward

  • 두 개의 layer로 구성된 Multi layer perceptron network