1. Introduction

    1. RNN과의 비교 - LSTM과 GRU가 주류였음. Sequential 한 면에서는 장점이 있지만 병렬화 (parallelization) 에서 단점이 있었음
    2. Factorization Tricks나 conditional computation과 같은 방법들을 통해 병렬화의 문제를 해결하고자 하였으나 부족했음
    3. 트랜스포머(Transformer) 라는 순수히 attention 만을 사용하는 아키텍처를 이용해 RNN이나 기존의 모델들이 갖고 있는 병렬화(parallelization) + global dependency와 같은 문제들을 해결할 수 있다
  2. Background

    1. ByteNet, ConvS2S (CNN 기반) - sequential computation을 줄이고자 하는 시도들이었으나 여전히 한계가 있었음 (Dependency 학습의 문제); 문장의 길이가 길어질 수록 학습하기 더 어려워짐.
    2. 하지만 트랜스포머만이 유일하게 Attention 만을 사용하는 첫 아키텍처다.
  3. Model Architecture

    Untitled

    1. Encoder and Decoder Stacks
      • Encoder - 6 identical layers
        • 2 sub-layers
          • Multi-Head Self Attention
            • masked self-attention: I am a student 라는 문장이 있을 때, 세 번째 자리에 올 단어를 예측한다면 첫 번째, 두 번째 단어만 고려해서 세 번째 자리에 올 단어를 예측하거나 학습하는 방식
              • 네번째 단어의 값?에는 -∞에 가까운 수를 더하고 softmax를 취해 0에 값이 수렴하도록 해서 masking함
          • Feed-Forward Network
      • Decoder - 6 identical layers
        • 3 sub-layers
          • Masked Multi-Head Attention
            • 인코더와 차이점
          • Multi-Head Attention
          • Feed-Forward Network
    2. Attention
      1. Scaled Dot-Product Attention 1.

        Untitled

        Untitled

        Untitled

      2. Multi-Head Attention

        1. 이를 통해서 dimension과 position이 많아져서 attention 층의 성능 향상

        Multi-Head.png

      3. Applications of Attention in our Model

        1. 트랜스포머는 세 가지 방식으로 멀티헤드 어텐션을 사용
        2. 인코더-디코더 어텐션
        3. 인코더 내 self-attention
        4. 디코더 내 self-attention
    3. Position-wise Feed-forward Networks
      1. 다음 스텝을 위해 정보를 linear transform해서 그 다음 단계로 보내주는(?)
    4. Embeddings and Softmax
      1. embedding: 입/출력 토큰을 벡터로 변환하기 위해 임베딩
    5. Positional Encoding
      1. sequence의 위치 정보를 주기 위한 인코딩
  4. Why Self-Attention

    1. Total computational complexity (각 레이어별)
    2. 계산의 병렬화
    3. Path length
    4. 더욱 해석력이 높은 모델
  5. Training - TBD

  6. Results

  7. Conclusion

    1. Convolution/Recurrent layer들 보다 더 좋은 성능/속도
    2. Attention만 사용한 첫 모델
    3. 텍스트 이외의 데이터에도 적용 가능성

아래에 질문을 작성해주세요.

  1. 마스킹은 왜 디코더에서만 하는 걸까? 인코더에서 하면 안 되는 것인가?
  2. Scaled Dot-Product Attention과 Multi-Head Attention의 차이는 무엇인가?
  3. feed-forward networks가 구체적으로 어떤 역할을 하는지?
  4. 기존 seq2seq에서 attention score을 계산하는 방식과 decoder, encoder의 attention score을 계산하는 방식의 차이점?
  5. Positional Encoding 정확히 어떤 역할을 하는지
  6. Transformer가 이전 모델들에 비해서 어떻게 성능이 더 좋은지 설명 필요
  7. 기존 sequence에서 Query, Key, Value의 역할