DeepLearning

[Transformer] RNN과 트랜스포머 아키텍처의 이해

dong_seok 2025. 4. 10. 20:12

딥러닝 기반 자연어 처리 기술은 최근 몇 년간 혁신적인 발전을 이루었습니다. 이 발전의 중심에는 RNN(순환신경망)에서 트랜스포머 아키텍처로의 패러다임 전환이 있었습니다. 이번 글에서는 두 모델의 특징과 차이점, 그리고 트랜스포머가 어떻게 기존 RNN의 한계를 극복했는지 알아보겠습니다.

1. 순환신경망(RNN)의 구조와 한계

RNN은 시퀀스 데이터를 처리하기 위한 초기 딥러닝 모델로, 텍스트를 순차적으로 하나씩 처리하는 특징을 가집니다.

 

 

1) RNN의 작동 방식

  • 텍스트의 각 토큰(단어)을 하나씩 순차적으로 입력
  • 이전 토큰 처리 결과를 다음 토큰 처리에 활용
  • 이런 순환 구조가 시퀀스 데이터 처리에 적합

2) RNN의 한계점

 

순차적 처리로 인한 비효율

  • 병렬 처리가 불가능해 학습 속도가 느림
  • 긴 시퀀스 처리 시 계산 시간이 크게 증가

장기 의존성 문제

  • 입력이 길어질수록 초기 정보가 희석되는 현상 발생
  • 텍스트의 앞부분과 뒷부분의 관계 파악이 어려움

깊은 네트워크 구성의 어려움

  • 층을 깊게 쌓으면 그래디언트 소실이나 폭발 문제 발생
  • 학습의 불안정성 증가

LSTM이나 GRU와 같은 개선된 RNN 모델들이 등장했지만, 근본적인 한계를 완전히 극복하지는 못했습니다.

2. 트랜스포머 아키텍처

트랜스포머는 2017년 "Attention is All You Need" 논문을 통해 소개된 혁신적인 아키텍처로, RNN의 한계를 극복하기 위해 설계되었습니다.

 

 

1) 트랜스포머의 핵심 구성 요소

인코더: 언어를 이해하는 역할

디코더: 언어를 생성하는 역할

 

2) 트랜스포머의 장점

뛰어난 확장성

  • 더 깊은 모델 구성이 가능하며 학습도 안정적
  • 동일한 블록의 반복적 사용으로 구조 확장이 용이

우수한 효율성

  • 병렬 연산이 가능해 학습 시간이 크게 단축
  • 자원 활용 효율이 높아 대규모 모델 학습 가능

긴 시퀀스 처리 능력

  • 입력 시퀀스가 길어져도 성능 저하가 적음
  • 문서 전체 맥락을 파악하는 능력이 우수

3. 셀프 어텐션

트랜스포머의 가장 중요한 혁신은 순차적 처리 방식을 버리고 '셀프 어텐션' 메커니즘을 도입한 것입니다.

 

셀프 어텐션의 작동 원리

  • 문장 내 모든 단어 간의 관련성을 동시에 계산
  • 각 단어가 다른 모든 단어와 어떤 관계를 갖는지 학습
  • 관련성에 따라 각 단어의 표현을 조정

이를 통해 문맥을 더 정확하게 이해하고, 장거리 의존성 문제를 효과적으로 해결합니다.

4. 트랜스포머의 처리 과정

트랜스포머는 다음과 같은 단계로 텍스트를 처리합니다.

 

1) 입력 임베딩

  • 텍스트를 숫자 벡터(임베딩)로 변환

2) 위치 인코딩

  • 순서 정보를 임베딩에 추가

3) 인코더 처리

  • 층 정규화, 멀티 헤드 어텐션, 피드 포워드 층을 통한 처리
  • 입력 텍스트의 의미 이해

4) 디코더 처리

  • 마스크 멀티 헤드 어텐션으로 자기 자신 처리
  • 크로스 어텐션으로 인코더 결과 활용
  • 최종 출력 생성

5. 인코더와 디코더의 주요 차이점

1) 마스크 멀티 헤드 어텐션

디코더에서는 미래 정보를 사용하지 못하도록 마스킹이 적용됩니다.

  • 필요성: 실제 텍스트 생성 시 미래 토큰은 알 수 없기 때문
  • 작동 방식: 현재 위치 이후의 토큰에는 어텐션 점수를 0으로 설정
  • 효과: 자연스러운 텍스트 생성 가능

2) 크로스 어텐션

디코더에서 인코더의 출력을 활용하는 메커니즘입니다.

  • 역할: 인코더가 이해한 입력 정보를 디코더의 생성 과정에 반영
  • 장점: 입력 텍스트의 맥락을 출력 생성에 효과적으로 반영 가능

 

트랜스포머 아키텍처는 RNN의 한계를 극복하고 자연어 처리 성능을 획기적으로 향상시켰습니다. 특히 셀프 어텐션 메커니즘을 통해 병렬 처리가 가능해지고, 장거리 의존성 문제를 해결했습니다. 이러한 혁신은 BERT, GPT와 같은 강력한 언어 모델의 기반이 되었고, 현대 NLP 기술의 중심에 자리 잡고 있습니다. 다음 포스팅에서는 트랜스포머의 인코더와 디코더를 구성하는 각 Layer에 대해 자세히 알아보고, 멀티 헤드 어텐션, 피드 포워드 네트워크, 층 정규화 등의 구성 요소가 어떻게 작동하는지 심층적으로 살펴보겠습니다.

 

 

참고자료

LLM을 활용한 실전 AI 애플리케이션 개발 - 허정준