Self-Attention

하는·2024년 3월 23일
0

ML

목록 보기
3/7

RNN

과거의 정보를 순차적으로 처리.
새로운 입력이 들어올 때마다 이전 단계의 정보를 기억하려고 함.

  • 단점: 순차적 처리라 병렬 처리가 어려움.
    긴 시퀀스에서는 정보가 점차 희석되는 문제(장기 의존성 문제) 발생.

Transformer

self-attention 메커니즘을 사용 -> 위 rnn의 문제점을 해결.
순차적(x), 병렬 처리(o) -> 학습 속도를 개선, 긴 sequence에서도 각 단어 간의 관계를 효율적으로 모델링 할 수 있음.

self attention이란?

각 입력 시퀀스의 단어가 서로 얼마나 관련이 있는지를 계산하는 메커니즘.
각 단어가 sequence 내의 모든 단어와의 관계를 평가하여, 어떤 단어들이 주요한 정보를 가지고 있는지를 결정. 즉, 더 중요한 단어에 더 많은 주의(attention)를 기울이게 됨
시퀀스 내의 각 단어가 자기 자신을 포함한 모든 단어와의 관계를 평가한다는 점. 이를 통해 모델은 문맥을 더 잘 이해하고, 각 단어의 중욘성을 파악하여 보다 정확한 예측을 할 수 있게됨. 이런 처리 과정이 병렬로 수행되기 때문에 긴 시퀀스도 효율적으로 처리할 수 있고 큰 메모리 요구량도 없이 더 깊은 네트워크를 구성할 수 있다.
결국 self-attention 메커니즘을 통해 Transformer 모델은

  • 아키텍처 구조

    • 순환 신경망 vs encoder-decoder 구조(+self attention feedforward layer 등으로 구성)

    • 학습속도와 병렬처리

      • attention vs self attention
      • 순환처리 vs 병렬 처리
  • 장기 의존성 모델링

    • 긴 sequence 처리 정도
  • memory 요구량

    • 과거 정보 vs self attention
  • 결국 self attention이 가장 큰 차이

    • 이전 단어 + sequence 내 주어진 단어
    • sequence 내 주어진 모든 단어

RNN 기반 언어 모델과 Transformer 기반 언어 모델의 차이점

구분RNN 기반 언어 모델Transformer 기반 언어 모델
아키텍처 구조순환 신경망 구조Encoder-Decoder 구조 + Self-Attention, Feed-Forward Layer
학습 속도 및 병렬 처리순차적 처리로 병렬화 어려움Self-Attention을 통한 효율적인 병렬 처리 가능
장기 의존성 모델링시퀀스 길이 증가 시 장기 의존성 문제 발생Self-Attention을 통해 시퀀스 전체 직접 참조하여 장기 의존성 잘 모델링
메모리 요구량이전 단어의 은닉 상태만 메모리 저장전체 시퀀스에 대한 Self-Attention 값을 메모리에 저장
핵심 차이점이전 단어의 정보만 활용시퀀스 내 모든 단어 정보를 Self-Attention을 통해 통합
profile
천천히 꾸준히 취미처럼 냐미😋

0개의 댓글