본문 바로가기

NLP/NLP Paper

[Transformer] Attention Is All You Need (2) : Model Architecture(Encoder, Decoder)

반응형
반응형

Transformer 논문을 아래 목차로 나눠 자세히 리뷰합니다. 

더보기

1. Abstract ~ Background 

2. Model Architecture(Encoder, Decoder)

3. Attention

4. FFN, Positional Encoding

5. Training

6. Result, Conclution


Model Architecture

- Transformer는 self-attention과 fully connected layers를 사용해 encode와 decoder를 구성함

- encoder와 decoder를 여러개 쌓아 모델은 입력과 출력 시퀀스간의 복잡한 관계를 학습할 수 있음

 

 

Point-wise (element-wise)

- 각 요소별 연산(같은 위치끼리)

- 행렬곱보다 연산량이 적기 때문에 계산비용을 감소하고, 연산 속도를 향상시킴


Encoder :

- 6개의 동일한 인코더 층으로 구성 (N = 6)

- 각 인코더는 2개의 Sub-layers로 구성

  • multi-head self-attention layer
  • position-wise fully connected feed-forward network layer

- 각 sub-layer에 residual connection을 적용한 출력에 layer-normalization 수행

  • residual connection 적용을 위해 모든 sub-layer 출력 차원을 $d_{model}$ = 512로 고정

Decoder : 

- 6개의 동일한 디코더 층으로 구성 (N = 6)

- 각 디코더는 3개의 Sub-layers로 구성

  • encoder stack의 출력을 input으로 사용하는 multi-head self-attention layer가 추가됨
  • multi-head self-attention layer
  • masked position-wise fully connected feed-forward network layer
    • decoder는 이전 단어를 보고 다음 단어를 예측하는 작업을 수행하기 때문에, 훈련 과정에서 디코더가 정답 시퀀스를 볼 수 없도록 마스킹하는 작업이 꼭 필요함
    • i 시점의 단어를 예측할 경우, i 시점을 포함한 오른쪽 단어들은 전부 마스킹 처리함

- 각 sub-layer에 residual connection을 적용한 출력에 layer-normalization 수행 (encoder와 동일)

 

Residual Connection

- 각 층의 입력값을 출력값에 더해 입력값이 일부 레이어를 건너뛸 수 있게 함 $(x+Sublayer(x))$

   ➞ 네크워크가 깊어지더라도 이전 레이어에서 추출된 특징들이 다음 레이어에서 그대로 유지되기 때문에 입력 데이터의 특징을 더 잘

        보존함

   ➞ 이전 레이어와 동일한 특징들이기 때문에, 기울기 또한 크게 바뀌지 않아 기울기 소실 문제를 완화할 수 있음


Q. Encoder를 여러개 쌓는 이유는 뭘까?

원본 sentence로부터 뽑아낸 context가 encoder layer를 거치며 고차원의 context가 됨

 

반응형