본문 바로가기

AI

Self-attention

출처: 패스트캠퍼스 & Upstage ai lab 강의자료

즉,
기존의 attention : 입력 시퀀스와 타켓 시퀀스 사이크로스 어텐션(encoder-decoder 어텐션)
반면 self-attention :  입력 시퀀스끼리, 혹은 타겟 시퀀스 끼리의 유사도를 반영하는 어텐션. 즉 내부의 유사도.를

 

Self-Attention이란 무엇인가?

Self-Attention은 시퀀스 내의 **모든 단어(토큰)**가 서로 어떻게 관련되어 있는지를 계산하는 메커니즘이다. Self-Attention은 각 단어가 다른 단어들과 어떤 관계를 가지는지를 학습해서, 문맥을 더 잘 이해할 수 있게 돕는다.

Self-Attention의 작동 방식

  1. 각 단어가 다른 단어들과의 관계를 이해:
    • 예를 들어, "어제 카페에 갔었어. 거기 사람 많더라"라는 문장을 생각해보자.
    • "거기"라는 단어가 어떤 단어를 지칭하는지 알아내기 위해서는 앞에서 나온 "카페"라는 단어와 연결되어야 한다. Self-Attention은 바로 이런 관계를 찾아내고, 이를 바탕으로 문장의 의미를 더 잘 이해한다.
  2. 각 단어의 중요도 계산:
    • Self-Attention은 각 단어와 다른 단어들 간의 연관성을 Attention Score로 계산한다. 예를 들어, "거기"라는 단어가 "카페"라는 단어와 강하게 연결되어 있다면, "카페"에 높은 점수를 부여한다.
    • 이 점수는 단어들이 서로 얼마나 중요한지를 결정하는 데 사용된다.
  3. 중요도에 따라 가중치 부여:
    • 점수가 계산된 후, Softmax 함수가 적용되어 각 단어의 중요도가 확률로 변환된다. 이 확률은 해당 단어가 다른 단어와의 관계에서 얼마나 중요한지를 나타낸다.
    • 그런 다음, 각 단어의 정보는 이 확률 값을 곱해져 가중치가 부여된다. 중요한 단어일수록 더 큰 가중치를 받는다.
  4. 문장 내에서 중요한 정보 추출:
    • Self-Attention을 통해 계산된 가중치들은 문장 내에서 어떤 단어가 더 중요한지를 결정하는 데 사용된다. 이 정보는 이후의 모델 계층에서 문장을 더 잘 이해하고, 올바른 출력을 생성하는 데 도움을 준다.

Self-Attention의 장점

  1. 병렬 처리 가능:
    • Self-Attention은 시퀀스의 모든 단어를 동시에 처리할 수 있기 때문에, 계산 속도가 빠르다. 이는 특히 긴 문장이나 긴 시퀀스를 처리할 때 매우 유리하다.
  2. 장거리 의존성 처리:
    • Self-Attention은 문장의 처음과 끝에 있는 단어들 간의 관계도 잘 이해할 수 있다. 예를 들어, 문장의 첫 부분에서 언급된 "카페"라는 단어가 마지막에 나오는 "거기"와 연결될 수 있도록 돕는다. 이는 RNN처럼 순차적으로 처리하는 모델에서는 어렵다.
  3. 유연한 관계 학습:
    • 문장 내의 모든 단어들 간의 관계를 학습할 수 있기 때문에, 복잡한 문맥을 이해하는 데 매우 효과적이다. 이는 단순히 앞뒤 단어만을 고려하는 방식보다 더 풍부한 의미를 추출할 수 있게 해준다.

Self-Attention의 예

  • 기존 Seq2Seq 모델: 입력 문장과 타겟 문장 사이의 관계를 고려하는 Attention을 사용했다면,
  • Transformer 모델: 각 단어가 문장 내의 다른 모든 단어들과 어떻게 관련되는지를 고려하는 Self-Attention을 사용한다.

이를 통해 Transformer는 문맥을 더 깊이 이해하고, 긴 문장에서도 중요한 정보를 놓치지 않게 된다.

핵심 요약

  • Self-Attention문장 내의 모든 단어가 서로 어떤 관계를 가지는지 계산해, 중요한 단어에 더 많은 가중치를 부여하는 메커니즘이다.
  • 이는 문맥을 더 잘 이해하게 도와주며, 긴 시퀀스에서도 빠르고 효과적으로 작동할 수 있게 해준다.
  • Self-Attention 덕분에 Transformer는 자연어 처리 작업에서 뛰어난 성능을 발휘할 수 있다.

이렇게 Self-Attention은 문장 내의 중요한 관계를 파악하고(=문맥을 정확하게 파악하고), 중요한 정보를 놓치지 않도록 돕는데 매우 중요한 역할을 한다.

'AI' 카테고리의 다른 글

GPT-1 모델 특징  (0) 2024.08.26
BERT 이해하기  (0) 2024.08.23
Transformer의 특징  (0) 2024.08.21
Attention모델의 특징  (0) 2024.08.21
LSTM과 GRU  (0) 2024.08.20