Self-Attention, RNN, CNN, Restricted Attention 연산 특성 비교

Bean·2025년 4월 15일
0

인공지능

목록 보기
6/123

1. 딥러닝 네트워크의 대표 Layer

네 가지 레이어 유형에 대해 세 가지 항목을 비교합니다:

Layer TypeComplexity per LayerSequential OperationsMax Path Length
Self-AttentionO(n2d)O(n^2·d)O(1)O(1)O(1)O(1)
Recurrent (RNN)O(nd2)O(n·d^2)O(n)O(n)O(n)O(n)
ConvolutionalO(knd2)O(k·n·d^2)O(1)O(1)O(logkn)O(log_k n)
Self-Attention (restricted)O(rnd)O(r·n·d)O(1)O(1)O(n/r)O(n/r)

여기서:

  • nn: 시퀀스 길이 (문장의 토큰 개수 등)
  • dd`: 각 토큰의 표현 차원 (보통 512 등)
  • kk: 커널 사이즈 (Convolutional layer에서)
  • rr: 제한된 self-attention의 neighborhood 크기

항목별 해설

1. Complexity per Layer (레이어별 연산량)

  • Self-Attention:
    모든 토큰이 모든 토큰과 상호작용 → O(n2d)O(n^2·d)
    → 문장이 길어질수록 빠르게 느려짐

  • Recurrent (RNN):
    각 토큰을 하나씩 처리 → O(nd2)O(n·d^2)

  • Convolutional:
    토큰마다 주변 kk개만 처리 → O(knd2)O(k·n·d^2)

  • Restricted Self-Attention:
    r개의 이웃만 참조 → O(rnd)O(r·n·d)
    → Full attention보다 가볍지만 정보 범위 제한


2. Sequential Operations (병렬화 가능성)

  • Self-Attention / Convolutional / Restricted Attention:
    모든 토큰을 한꺼번에 병렬 처리 가능 → O(1)O(1)

  • Recurrent (RNN):
    앞 토큰의 결과가 있어야 다음 토큰을 처리 가능 → O(n)O(n)
    → 병렬화 어려움, 느림


3. Max Path Length (정보 전달 거리)

어떤 토큰이 다른 토큰의 정보를 전달받기까지 걸리는 최소 단계 수

  • Self-Attention:
    모든 토큰이 한 번에 서로 연결됨 → O(1)O(1)

  • RNN:
    앞에서 뒤로 차례대로 전달 → O(n)O(n)

  • Convolutional:
    커널 크기 kk인 conv를 loglog 단계로 쌓음 → O(logkn)O(log_k n)

  • Restricted Attention:
    rr개씩만 보니까 전체에 도달하려면 O(n/r)O(n/r) 단계


핵심 요약

항목Self-AttentionRNNCNNRestricted Attention
연산량많음 (O(n2d)O(n^2·d))중간적당 (O(knd2)O(k·n·d^2))더 적음 (O(rnd)O(r·n·d))
병렬화아주 잘됨잘 안됨잘됨잘됨
정보 전달 거리가장 짧음 (O(1)O(1))가장 김 (O(n)O(n))중간 (O(logkn)O(log_k n))중간 (O(n/r)O(n/r))

Transformer가 주목받는 이유 중 하나는:

병렬 처리에 강하면서도 전체 정보를 빠르게 전달할 수 있기 때문이에요.

profile
AI developer

0개의 댓글