[논문 리뷰 - 3] Attention Is All You Need

shanny·2025년 4월 9일

논문 리뷰

목록 보기
9/42

‼️ 개인 학습 내용으로, 오류가 있을 수 있습니다.

논문 URL - https://arxiv.org/abs/1706.03762

Background

  • 시퀀셜(순차적) 연산을 줄이려는 목표는 Extended Neural GPU, ByteNet, ConvS2S의 기반이 되며, 이 모델들은 모두 컨볼루션 신경망(CNN)을 기본 구성 요소로 사용하여 모든 입력 및 출력 위치에 대한 hidden representation(잠재 표현)을 병렬로 계산한다.

  • 이 접근법은 RNN의 순차적 처리 한계를 극복하기 위해 CNN 기반 아키텍처를 채택했으나, 위치 간 거리가 증가함에 따라 필요한 연산량이 선형적(ConvS2S) 또는 로그적(ByteNet)으로 증가하는 문제가 있다.

  • Transformer는 어텐션 메커니즘을 통해 이 문제를 해결하며, 위치 간 거리에 관계없이 상수 시간 연산이 가능해졌다.

  • 기존 모델의 한계 : 위치 간 거리 ↑ → 연산량 ↑ (선형/로그 증가) → 장거리 의존성 학습 어려움

  • Transformer : 어텐션 메커니즘 → 거리 무관한 상수 시간 연산

  • 트레이드오프 대응 : Multi-Head Attention → 평균화로 인한 해상도 손실 복원

  • Self-Attention (자기 주의) 메커니즘 해석

    • 단일 시퀀스 내의 서로 다른 위치 간 관계를 분석하여 해당 시퀀스의 표현(representation)을 계산하는 주의 메커니즘
    • 다양한 NLP 작업에서 성공적으로 적용
      ✔ 독해(Reading Comprehension)
      ✔ 추상적 요약(Abstractive Summarization)
      ✔ 텍스트 함의(Textual Entailment, 두 문장 간 논리적 관계 추론)
      ✔ 작업 독립적 문장 표현 학습(Task-Independent Sentence Representations)
  • End-to-End 메모리 네트워크 (Memory Networks) 해석

    • 기존의 순차 정렬 반복(sequence-aligned recurrence, 예: RNN의 순차적 처리) 대신 반복적 주의 메커니즘(recurrent attention mechanism)을 기반으로 한다.
  • Transformer는 시퀀스 정렬 RNN이나 합성곱(CNN)을 전혀 사용하지 않고, 오로지 self-attention(자기 주의)만으로 입력과 출력의 표현을 계산하는 최초의 전이(transduction) 모델

Model architecture

  • 경쟁력 있는 신경망 시퀀스 변환(transduction) 모델의 일반적 구조

    • 대부분의 강력한 신경망 기반 시퀀스 변환 모델(예: 번역, 음성 인코딩 등)은 인코더-디코더(encoder-decoder) 아키텍처를 채택하고 있다.
    • 구조
      • 인코더(Encoder) : 입력 시퀀스 (예: 단어, 음성 등)의 심볼 표현 (x₁, ..., xₙ)을 연속적인 특징 표현 z = (z₁, ..., zₙ)으로 변환
        • 이 과정에서 입력 데이터의 의미와 문맥을 압축적으로 표현합니다.
      • 디코더(Decoder) : 인코더가 생성한 z를 기반으로 출력 시퀀스 (y₁, ..., yₘ)을 한 번에 한 요소씩 생성
        • 이때 모델은 자기회귀적(auto-regressive)으로 동작
        • 각 단계에서 이전에 생성된 심볼들(y₁부터 y_{t-1}까지)을 추가 입력으로 사용해 다음 심볼 yₜ를 예측
  • Transformer의 전체 아키텍처 요약

    • 기존 인코더-디코더 구조를 유지하면서 추가적으로 인코더, 디코더 계층을 가짐
    • Self-Attention 레이어: 입력 간의 상호 관계를 분석
    • Point-wise 완전 연결 레이어: 개별 위치별 독립적 처리
  • 인코더-디코더 어텐션 계층의 작동 원리
    1. 정보 흐름 구조 : 쿼리(Queries): 디코더의 이전 레이어에서 생성
    - 키(Keys) & 값(Values): 인코더의 최종 출력에서 도출
    2. 핵심 메커니즘 : 디코더의 모든 위치가 입력 시퀀스 전체에 주의를 기울일 수 있음
    - 전형적인 seq2seq 모델
    3. 기능적 특징 :
    - 인코더의 문맥 정보를 디코더가 효과적으로 활용
    - RNN 기반 seq2seq 모델의 장점을 self-attention 방식으로 구현
    - 디코더가 입력 시퀀스의 관련 부분에 동적으로 집중 가능

  • 인코더의 Self-Attention 계층 설명
    1. Self-Attention의 독특한 특성
    - 키(Keys), 값(Values), 쿼리(Queries)가 모두 동일한 소스에서 발생
    - 구체적으로: 인코더 내 이전 레이어의 출력에서 공급됨 -> 인코더-디코더 어텐션과의 핵심적인 차이점
    2. 작동 방식
    - 각 위치(position)가 이전 레이어의 모든 위치와 상호작용 가능

    • 전체 입력 시퀀스에 대한 문맥적 이해를 가능하게 하는 핵심 메커니즘
    • RNN의 순차적 처리 없이도 장거리 의존성 학습 가능
      3. 구조적 이점
      - 병렬 처리 최적화: 모든 위치가 독립적으로 계산 가능
    • 계층적 특징 추출: 각 레이어가 점진적으로 더 풍부한 표현 생성
  • 디코더의 Self-Attention 계층 작동 방식 및 마스킹 기법
    1. 디코더 Self-Attention의 핵심 기능
    • 각 디코더 위치는 자신을 포함한 이전 위치까지만 접근 가능(ex. 3번 디코더는 1~3까지 접근 가능)
    • 자기회귀적(auto-regressive) 생성을 위한 필수 조건
    1. 정보 제한 메커니즘
    • 마스킹(Masking) 기술 적용 : 미래 위치 연결을 −∞로 설정 → Softmax 입력에서 제거 -> 결과적으로 확률값이 0이 되어 차단 효과 발생
    1. 기술적 필요성
      - 디코더의 예측 순서 보장 : t시점에서 t+1 이후 정보를 미리 알 수 없도록 강제 -> 자연어 생성의 인과 관계(causality) 유지
  • Feed-Forward Networks(FFN)
    Transformer의 각 위치별 비선형 변환을 담당하며, 1x1 합성곱 + ReLU 구조로 고정된 차원(512→2048→512)에서 계산이 이루어진다.
profile
데이터 분석가

0개의 댓글