자연어 처리/자연어 처리

11. 트랜스포머

인공지능파이썬 2025. 2. 12. 12:17

1. 트랜스포머(Transformer)
* 트랜스포머(Transformer)는 2017년 구글 논문(Attention is all you need)에서 발표된 자연어 처리(NLP)와 다양한 시퀀스 학습 문제에서 뛰어난 성능을 보이는 신경망 아키텍처로, 어텐션 메커니즘을 활용하여 병렬 연산이 가능하고 장기 의존성을 효과적으로 처리할 수 있습니다. 
* 기존의 순환신경망(RNN)과 달리 순차적인 계산 없이 전체 입력 문장을 한 번에 처리하며, 특히 "셀프 어텐션(Self-Attention)"을 사용하여 문장 내 단어 간 관계를 동적으로 학습합니다. 
* 대표적인 트랜스포머 기반 모델로는 BERT, GPT, T5 등이 있으며, 머신 번역, 텍스트 생성, 문서 요약 등 다양한 AI 분야에서 널리 활용되고 있습니다.

논문 링크 : 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

 

2. 트랜스포머의 특징
1. 순차적인 처리 없이 병렬 연산 가능
* 기존의 RNN이나 LSTM은 문장을 한 단어씩 순차적으로 처리했기 때문에 병렬 연산이 어렵고 학습 속도가 느렸습니다. 반면 트랜스포머는 모든 단어를 한 번에 처리할 수 있어 연산 속도가 빠르고 병렬 연산이 가능합니다. 따라서 GPU를 활용한 병렬 연산이 가능하여 학습 속도가 빠릅니다.

2. 셀프 어텐션(Self-Attention) 메커니즘
* 트랜스포머에서 가장 핵심적인 개념은 셀프 어텐션(Self-Attention)입니다. 이는 문장 내에서 중요한 단어를 자동으로 찾아내는 기술입니다. 문장에서 중요한 단어에 더 높은 가중치를 부여하여 문맥을 잘 이해할 수 있도록 합니다.
  * 예: "그녀는 사과를 좋아한다. 그래서 매일 사과를 먹는다." 
  * "사과"라는 단어가 두 번 등장하지만, 두 번째 "사과"는 "그녀가 먹는다"는 의미와 연결됨
  * 셀프 어텐션이 이러한 관계를 파악하여 단어들 간의 연관성을 계산

3. 멀티-헤드 어텐션(Multi-Head Attention)
* 트랜스포머는 단순히 한 번의 어텐션이 아니라, 여러 개의 어텐션을 동시에 수행하는 멀티-헤드 어텐션(Multi-Head Attention)을 사용합니다. 
* 단어 간의 다양한 관계를 학습할 수 있어 보다 정교한 번역이나 문장 생성을 할 수 있습니다.
* 단어 간의 관계는 하나의 기준만으로 결정되지 않음 (예: "학교"와 "수업", "학교"와 "친구" 등 다양한 연결이 가능)
여러 개의 어텐션을 동시에 사용하여 더 다양한 문맥을 반영할 수 있음

4. 포지셔널 인코딩(Positional Encoding) 사용
* RNN이나 LSTM은 단어를 순차적으로 처리하기 때문에 단어의 순서를 자연스럽게 반영할 수 있지만, 트랜스포머는 모든 단어를 동시에 처리하기 때문에 단어의 순서 정보를 직접 제공해야 합니다. 
* 이를 위해 포지셔널 인코딩(Positional Encoding)이라는 기법을 사용합니다. 따라서 단어의 순서도 고려하여 보다 자연스러운 문장을 만들 수 있습니다.
* "나는 학교에 간다"와 "학교에 나는 간다"는 단어 순서가 다름
* 포지셔널 인코딩을 통해 각 단어의 위치 정보를 숫자로 변환하여 모델이 단어의 순서를 이해하도록 함

5. 디코더에서 마스킹(Masking) 적용
* 트랜스포머는 인코더(Encoder)와 디코더(Decoder)로 구성되며, 디코더에서는 미래 단어를 보지 않도록 마스킹(Masking)을 적용합니다.
* 문장을 번역할 때, 아직 생성되지 않은 단어를 참고하면 안 됨
* 예를 들어, "I love you"를 "Je t’aime"으로 번역할 때, "Je"를 생성할 때는 "t’aime"를 미리 알면 안 됨
* 따라서 디코더에서 미래 단어를 보지 못하도록 마스킹을 적용하여 올바른 번역을 학습

6. 큰 데이터에서 강력한 성능 발휘
* 트랜스포머 기반 모델(예: GPT, BERT, T5)은 매우 대규모 데이터에서 학습하면 성능이 뛰어나며, 사전 학습(Pretraining) 기법과 잘 맞습니다. 
* 구글의 BERT, OpenAI의 GPT 시리즈 등 대규모 AI 모델들이 트랜스포머를 기반으로 만들어졌습니다.
* 기존의 RNN 모델은 긴 문장에서 의미가 왜곡되거나 정보가 손실될 가능성이 높았음
* 트랜스포머는 대용량 데이터로 학습하면 문맥을 더 잘 이해하고 정확한 답변을 생성할 수 있음



 

728x90
LIST

'자연어 처리 > 자연어 처리' 카테고리의 다른 글

12. 사전 학습된 언어 모델(PML)  (2) 2025.02.13
10. 어텐션 메커니즘  (1) 2025.02.12
8. Seq2Seq  (0) 2025.02.11
7. LSTM과 GRU  (0) 2025.02.10
6-2. RNN 활용  (0) 2025.02.10