| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 오류역전파
- Kaggle
- 인공지능
- AP Computer Science A
- 결정트리
- AP
- RNN
- 딥러닝
- 서열정렬
- 파이썬
- 인공지능 수학
- COVID
- 인공신경망
- 캐글
- bioinformatics
- 이항분포
- 바이오파이썬
- CNN
- HMM
- 시그모이드
- BLaST
- ncbi
- 생명정보학
- 자바
- 바이오인포매틱스
- 생물정보학
- Java
- MERS
- 블록체인
- SVM
- Today
- Total
데이터 과학
Attention Is All You Need 본문
https://arxiv.org/abs/1706.03762
Attention Is All You Need
The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an attention mechanism. We propose a new
arxiv.org
이 논문에서는 이러한 제약을 극복하기 위해 순환과 합성곱을 모두 제거하고, 오직 어텐션 메커니즘만을 활용하는 새로운 모델인 트랜스포머(Transformer)를 제안하였습니다.
트랜스포머는 다음과 같은 특징을 가집니다.
- Self-Attention 기반 구조: 입력의 각 단어가 문장 내 다른 모든 단어와 관계를 맺으며 표현을 학습합니다.
- 멀티헤드 어텐션(Multi-Head Attention): 여러 개의 어텐션을 병렬로 수행하여, 문법적·의미적 관계를 동시에 포착합니다.
- 병렬화 가능: 입력 전체를 한 번에 처리할 수 있어 학습 속도가 빠르고 효율적입니다.
- 순서 정보 보완: RNN이 사라지면서 순서 정보가 없어지므로, 이를 보완하기 위해 포지셔널 인코딩(Positional Encoding)을 도입합니다. 이는 사인(sin)과 코사인(cos) 함수를 활용하여 단어의 위치 정보를 벡터에 반영하는 방식입니다.
모델 구조:
인코더와 디코더
- 인코더(Encoder): 여러 층의 셀프 어텐션과 피드포워드 신경망으로 구성되며, 입력 문장을 연속적인 표현 벡터로 변환합니다.
- 디코더(Decoder): 인코더의 출력을 바탕으로 목표 문장을 하나씩 생성합니다. 디코더는 마스킹 기법을 사용하여 아직 생성되지 않은 미래 단어에는 접근하지 못하게 합니다.
어텐션 메커니즘
- Scaled Dot-Product Attention: 질의(Query)와 키(Key)의 내적을 통해 유사도를 계산하고, 값(Value)을 가중합하여 출력합니다. 계산 안정성을 위해 차원의 제곱근으로 스케일링을 합니다.
- 멀티헤드 어텐션: 단일 어텐션만 사용할 경우 정보가 제한될 수 있으므로, 여러 개의 어텐션을 병렬로 수행하여 다양한 관계를 학습합니다.
포지셔널 인코딩
트랜스포머는 순환 구조가 없으므로 단어의 순서 정보를 직접적으로 알지 못합니다. 이를 해결하기 위해 각 단어의 위치에 따라 사인/코사인 함수를 적용한 위치 정보 벡터를 추가하여 문장의 순서를 반영합니다.
이 논문은 “Attention만으로도 RNN이나 CNN을 대체할 수 있다”는 사실을 보여주며, 자연어 처리 모델 아키텍처의 새로운 패러다임을 열었습니다.
트랜스포머는 이후 BERT, GPT, T5, BART 등 대규모 언어모델(LLM)의 기반이 되었으며, 언어뿐 아니라 이미지, 음성, 영상 등 다양한 멀티모달 인공지능 연구로 확장되었습니다.
-----------------------------------------------------------
1. 서론
자연어 처리 분야에서 오랫동안 널리 사용된 모델은 순환신경망(RNN)과 그 확장 구조인 LSTM(Long Short-Term Memory), GRU(Gated Recurrent Unit)입니다. 이러한 모델들은 입력된 단어를 순차적으로 처리하면서 이전 시점의 은닉 상태(hidden state)를 다음 시점으로 전달하는 방식으로 문맥 정보를 학습합니다. 이 방식은 언어의 순차적 특성을 잘 반영한다는 장점이 있지만, 동시에 두 가지 근본적인 한계를 가지고 있습니다.
첫째, 계산 과정이 순차적이기 때문에 병렬화가 어렵습니다. 한 시점의 계산이 끝나야 다음 시점의 계산을 시작할 수 있기 때문에 GPU와 같은 병렬 연산 하드웨어를 충분히 활용하지 못합니다. 이는 긴 문장을 처리할 때 특히 치명적이며, 모델 학습 시간이 크게 늘어나는 결과를 가져옵니다.
둘째, 문장의 앞부분과 뒷부분처럼 멀리 떨어져 있는 단어 간의 의존 관계를 학습하기 어렵습니다. 이 문제는 긴 거리 의존성(long-range dependency) 문제라고 불리며, RNN이 학습 과정에서 기울기 소실(vanishing gradient) 문제를 겪기 때문에 발생합니다. 예를 들어, 문장의 처음에 등장한 주어가 끝에 등장하는 동사와 밀접한 관계를 맺고 있을 때, 모델이 이를 잘 학습하지 못하는 경우가 많습니다.
이러한 한계를 보완하기 위해 합성곱 신경망(CNN)을 활용한 ByteNet이나 ConvS2S 같은 모델들이 등장하였습니다. 이들 모델은 병렬 처리가 가능하다는 점에서 효율적이었지만, 여전히 멀리 떨어진 단어 간의 관계를 학습하기 위해서는 여러 개의 합성곱 층을 거쳐야 했습니다. 즉, 두 단어가 멀리 떨어져 있을수록 그 관계를 연결하는 경로가 길어졌고, 이는 장기 의존성을 학습하는 데 어려움을 남겼습니다.
이러한 배경에서 Vaswani와 연구진은 새로운 접근 방식을 제안하였습니다. 그들은 순환과 합성곱을 모두 제거하고, 오직 어텐션 메커니즘만을 사용하여 시퀀스 모델을 설계할 수 있다고 주장하였습니다. 이렇게 등장한 모델이 바로 트랜스포머(Transformer)이며, 이 논문은 “Attention Is All You Need”라는 제목 그대로, 어텐션만으로도 강력한 시퀀스 모델을 만들 수 있음을 보여주었습니다.
2. 어텐션 메커니즘의 정의
트랜스포머의 핵심 구성 요소는 어텐션입니다. 어텐션은 입력 문장에서 특정 단어가 다른 단어들과 어떤 관계를 가지는지를 계산하여 중요한 정보에 더 큰 가중치를 두는 방식으로 작동합니다. 다시 말해, 문맥 속에서 어떤 단어를 해석할 때 해당 단어와 관련성이 높은 단어들에 집중하도록 돕는 것이 어텐션의 목적입니다.
어텐션 함수는 질의(Query), 키(Key), 값(Value)라는 세 가지 입력을 기반으로 정의됩니다. 질의는 현재 주목하고자 하는 단어를 나타내고, 키는 모든 단어의 표현을 나타내며, 값은 키에 해당하는 정보를 포함한 벡터입니다. 어텐션의 출력은 질의와 각 키의 유사도를 계산하여 얻은 가중치를 값 벡터에 곱한 가중합으로 표현됩니다. 수식은 다음과 같습니다.

여기서 dk는 키 벡터의 차원 수를 의미하며, 내적 값이 커져서 softmax 함수가 포화되는 문제를 방지하기 위해 sqrt(로 나누어줍니다. 이렇게 하면 안정적인 학습이 가능해집니다. 직관적으로 설명하면, 질의와 키의 내적은 두 단어 간의 연관성을 의미하며, 이 값이 클수록 해당 단어는 현재 단어 해석에 중요한 역할을 하게 됩니다.
3. Scaled Dot-Product Attention
논문에서 제안한 어텐션 메커니즘은 Scaled Dot-Product Attention이라고 불립니다. 단순히 질의와 키의 내적을 계산하는 dot-product attention은 키 벡터의 차원 수가 커질수록 값이 지나치게 커지고, softmax의 기울기가 작아져 학습이 불안정해지는 문제가 있었습니다. 이를 해결하기 위해 내적 결과를 sqrt(로 나누어줌으로써 안정성을 확보하였습니다. 따라서 Scaled Dot-Product Attention은 dot-product 기반의 단순성과 연산 효율성을 유지하면서도 학습 안정성까지 보장합니다.
4. 멀티헤드 어텐션
트랜스포머의 중요한 혁신 중 하나는 멀티헤드 어텐션입니다. 단일 어텐션 메커니즘은 표현 공간의 일부 관계만 포착할 수 있어 언어의 다양한 의미적, 구문적 특성을 동시에 반영하기 어렵습니다. 멀티헤드 어텐션은 이러한 한계를 극복하기 위해 여러 개의 어텐션을 병렬적으로 수행합니다.
멀티헤드 어텐션에서는 질의, 키, 값을 각각 서로 다른 가중치 행렬로 선형 변환하여 여러 개의 어텐션 연산을 수행하고, 그 결과를 연결한 뒤 다시 선형 변환을 적용합니다. 이렇게 하면 각 헤드는 서로 다른 관점에서 문맥을 해석하게 되고, 모델은 문장 내에서 더 풍부한 정보를 학습할 수 있습니다. 논문에서는 8개의 헤드를 사용하였으며, 각 헤드는 전체 차원 512를 8등분한 64차원으로 연산을 수행하였습니다.
5. 트랜스포머의 전체 구조
트랜스포머는 인코더와 디코더로 이루어진 시퀀스-투-시퀀스 구조를 따릅니다. 인코더는 입력 문장을 연속적인 표현 벡터로 변환하고, 디코더는 이 표현을 활용하여 출력 문장을 생성합니다.
인코더는 여섯 개의 동일한 층으로 구성되며, 각 층은 멀티헤드 셀프 어텐션과 위치별 피드포워드 네트워크로 이루어져 있습니다. 각 서브 레이어에는 잔차 연결과 층 정규화가 포함되어 있어 안정적인 학습을 돕습니다.
디코더 역시 여섯 개의 층으로 구성되지만, 인코더와 달리 인코더-디코더 어텐션이 추가되어 있습니다. 이를 통해 디코더는 출력 문장을 생성하는 과정에서 인코더가 제공한 입력 문장의 정보를 효과적으로 참고할 수 있습니다. 디코더 내부의 셀프 어텐션에는 마스킹이 적용되어, 현재 위치 이후의 단어에는 접근할 수 없도록 설계됩니다. 이는 디코더가 미래 단어를 미리 참조하지 않고, 순차적으로 문장을 생성하도록 보장합니다.
피드포워드 네트워크는 모든 위치에서 동일한 가중치를 사용하는 두 층짜리 완전연결 신경망입니다. 각 입력 벡터는 독립적으로 처리되며, ReLU 활성화 함수가 포함됩니다. 입력과 출력 차원은 512이며, 내부 은닉 차원은 2048로 설정되어 있습니다.
6. 포지셔널 인코딩
트랜스포머는 RNN을 사용하지 않기 때문에 순서 정보를 직접적으로 반영하지 못합니다. 따라서 모델이 단어의 위치를 고려할 수 있도록 포지셔널 인코딩을 도입하였습니다. 포지셔널 인코딩은 사인과 코사인 함수를 사용하여 단어의 위치를 벡터로 변환하며, 수식은 다음과 같습니다.

여기서 pos는 단어의 위치를 의미하고, i는 벡터 차원의 인덱스를 나타냅니다. 이 방식은 각 차원마다 다른 주기의 파동을 가지도록 하여, 모델이 상대적인 위치 정보를 쉽게 학습할 수 있게 합니다. 따라서 훈련 과정에서 보지 못한 길이의 문장에도 잘 일반화할 수 있습니다.
7. 계산 복잡도의 비교
트랜스포머의 장점은 성능뿐 아니라 연산 효율성에서도 두드러집니다. 셀프 어텐션은 모든 단어가 모든 단어와 직접 연결되므로 경로 길이가 상수로 유지됩니다. 계산 복잡도는 O(n^2* d)이지만, 병렬화가 가능하기 때문에 실제 연산 효율은 RNN이나 CNN보다 훨씬 뛰어납니다.
반면 RNN은 순차적 연산을 필요로 하기 때문에 경로 길이가 입력 길이 n에 비례하며, CNN은 합성곱 커널의 크기와 층의 깊이에 따라 경로 길이가 로그 수준으로 줄어들지만 여전히 셀프 어텐션만큼 효율적이지는 않습니다. 따라서 셀프 어텐션은 병렬 처리와 장기 의존성 학습이라는 두 가지 문제를 동시에 해결하는 가장 효과적인 방법으로 자리잡았습니다.
8. 학습 기법
트랜스포머는 Adam 옵티마이저를 사용하여 학습되며, 학습률은 고정값이 아닌 특별한 스케줄을 통해 조정됩니다. 학습 초반에는 학습률을 선형적으로 증가시켜 안정적으로 학습을 시작하고, 이후에는 단계가 진행될수록 학습률을 감소시키며 세밀하게 조정합니다. 수식은 다음과 같습니다.

워밍업 단계는 4000 스텝으로 설정되었으며, 드롭아웃과 라벨 스무딩 기법이 함께 사용되어 과적합을 방지하고 일반화 성능을 높였습니다.
9. 실험 결과
트랜스포머는 WMT 2014 영어-독일어 번역 과제에서 BLEU 점수 28.4를 기록하였고, 이는 당시 최고 성능을 2점 이상 초과한 결과였습니다. 영어-프랑스어 번역 과제에서는 BLEU 점수 41.8을 달성하여 단일 모델 기준 최고 성능을 기록하였습니다. 이러한 성능은 기존의 RNN 기반 모델이나 CNN 기반 모델을 크게 앞선 것이었으며, 학습 효율성 면에서도 탁월했습니다. 실제로 8개의 GPU에서 3.5일 만에 최고 성능을 달성하였는데, 이는 기존의 대규모 RNN 모델에 비해 10배 이상 효율적인 결과였습니다.
또한 트랜스포머는 번역 문제를 넘어 구문 분석과 같은 다른 자연어 처리 과제에도 적용되어 우수한 성능을 보였습니다. 이는 트랜스포머가 단순히 번역에 특화된 모델이 아니라 다양한 자연어 처리 과제에 범용적으로 활용될 수 있는 잠재력을 가지고 있음을 보여줍니다.
10. 결론
트랜스포머는 어텐션 메커니즘만으로도 RNN과 CNN을 대체할 수 있음을 증명하며, 자연어 처리 모델의 새로운 패러다임을 열었습니다. 이 모델은 병렬화가 가능하여 학습 시간을 크게 단축시키고, 긴 문맥 정보를 효과적으로 학습할 수 있으며, 훈련 비용 대비 성능에서도 기존 접근법을 압도하였습니다.
이 논문에서 제안된 트랜스포머는 이후 BERT, GPT, T5, BART와 같은 대형 언어 모델의 기반이 되었으며, 더 나아가 이미지와 음성 처리, 멀티모달 인공지능까지 확장되었습니다. 따라서 “Attention Is All You Need”는 단순한 모델 제안 논문이 아니라 현대 인공지능 연구 전반에 혁명적인 전환점을 마련한 역사적 연구라고 할 수 있습니다.
[논문리뷰] Attention is All you need의 이해
소개 Attention Is All You Need The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an atten
lcyking.tistory.com
트랜스포머(Transformer) - 2. Multi-head Attention
트랜스포머 논문인 'Attention Is All You Need'을 기반으로 세부 사항들을 추가적으로 공부하여 정리하였습니다. 글의 순서는 다음과 같습니다. Attention이란Self-AttentionMulti-Head AttentionApplications of Attentio
deeeepdive.tistory.com