‼️ 개인 학습 내용으로, 오류가 있을 수 있습니다.
논문 URL - https://arxiv.org/abs/1706.03762
시퀀셜(순차적) 연산을 줄이려는 목표는 Extended Neural GPU, ByteNet, ConvS2S의 기반이 되며, 이 모델들은 모두 컨볼루션 신경망(CNN)을 기본 구성 요소로 사용하여 모든 입력 및 출력 위치에 대한 hidden representation(잠재 표현)을 병렬로 계산한다.
이 접근법은 RNN의 순차적 처리 한계를 극복하기 위해 CNN 기반 아키텍처를 채택했으나, 위치 간 거리가 증가함에 따라 필요한 연산량이 선형적(ConvS2S) 또는 로그적(ByteNet)으로 증가하는 문제가 있다.
Transformer는 어텐션 메커니즘을 통해 이 문제를 해결하며, 위치 간 거리에 관계없이 상수 시간 연산이 가능해졌다.
기존 모델의 한계 : 위치 간 거리 ↑ → 연산량 ↑ (선형/로그 증가) → 장거리 의존성 학습 어려움
Transformer : 어텐션 메커니즘 → 거리 무관한 상수 시간 연산
트레이드오프 대응 : Multi-Head Attention → 평균화로 인한 해상도 손실 복원
Self-Attention (자기 주의) 메커니즘 해석
End-to-End 메모리 네트워크 (Memory Networks) 해석
Transformer는 시퀀스 정렬 RNN이나 합성곱(CNN)을 전혀 사용하지 않고, 오로지 self-attention(자기 주의)만으로 입력과 출력의 표현을 계산하는 최초의 전이(transduction) 모델
경쟁력 있는 신경망 시퀀스 변환(transduction) 모델의 일반적 구조
Transformer의 전체 아키텍처 요약
인코더-디코더 어텐션 계층의 작동 원리
1. 정보 흐름 구조 : 쿼리(Queries): 디코더의 이전 레이어에서 생성
- 키(Keys) & 값(Values): 인코더의 최종 출력에서 도출
2. 핵심 메커니즘 : 디코더의 모든 위치가 입력 시퀀스 전체에 주의를 기울일 수 있음
- 전형적인 seq2seq 모델
3. 기능적 특징 :
- 인코더의 문맥 정보를 디코더가 효과적으로 활용
- RNN 기반 seq2seq 모델의 장점을 self-attention 방식으로 구현
- 디코더가 입력 시퀀스의 관련 부분에 동적으로 집중 가능
인코더의 Self-Attention 계층 설명
1. Self-Attention의 독특한 특성
- 키(Keys), 값(Values), 쿼리(Queries)가 모두 동일한 소스에서 발생
- 구체적으로: 인코더 내 이전 레이어의 출력에서 공급됨 -> 인코더-디코더 어텐션과의 핵심적인 차이점
2. 작동 방식
- 각 위치(position)가 이전 레이어의 모든 위치와 상호작용 가능