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가 됨
'NLP > NLP Paper' 카테고리의 다른 글
[QG]A Feasibility Study of Answer-Agnostic Question Generation forEducation / 2022 ACL (0) | 2023.03.26 |
---|---|
[Transformer] Attention Is All You Need (1) : Abstract부터 Background까지 (0) | 2023.03.03 |