ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Self Attention Mechanism
    카테고리 없음 2024. 12. 6. 14:25

    Self-Attention 알고리즘의 입력 처리

    • 입력 시퀀스의 각 단어를 임베딩 벡터로 변환한다.

    Self-Attention 알고리즘의 Query, Key, Value 생성

    • 각 입력 벡터: \( X \)에 대해 다음과 같이 생성된다.
      • \( Q = X \cdot W_Q \)
      • \( K = X \cdot W_K \)
      • \( V = X \cdot W_V \)
        • \( W_Q \), \( W_K \), \( W_V \)는 학습 가능한 가중치 행렬이다.

    입력 벡터 X의 정의

    • 입력 데이터의 표현이다.

    입력 벡터 X의 예시

    • 문장에서 각 단어를 수치화한 임베딩 벡터이다.

    입력 벡터 X의 차원의 표현

    • \( d_{input} \)

    입력 벡터 X의 크기

    • 문장에서 단어 개수 \( N \)에 따라 \( N \times d_{input} \) 크기의 행렬이다.

    Query, Key, Value를 만드는 이유

    • Self-Attention에서 입력 \( X \)의 각 요소(단어)가 다른 요소들과 얼마나 관련이 있는지를 계산하기 위해서이다.

    Query \( Q \)의 역할

    • 관계를 질문하는 것이다.

    Key \( K \)의 역할

    • 관계를 판단하는 열쇠 역할이다.

    Value \( V \)의 역할

    • 계산된 관계에 따라 최종적으로 전달할 정보를 나타내는 것이다.

    Self-Attention 알고리즘의 정의

    • Query(Q), Key(K), Value(V)는 입력 데이터를 기반으로 계산되는 중요한 요소들이다.

    입력 벡터 (X)의 정의

    • 입력 데이터의 표현이다.

    입력 벡터 (X)의 예시

    • 문장에서 각 단어를 수치화한 임베딩 벡터이다.

    입력 벡터 (X)의 차원

    • (d_{\text{input}})이다.

    입력 벡터 (X)의 크기

    • 문장에서 (N)개의 단어가 있는 경우, (N \times d_{\text{input}}) 크기의 행렬이다.

    Query(Q)의 역할

    • 관계를 질문하는 것이다.

    Key(K)의 역할

    • 관계를 판단하는 열쇠 역할이다.

    Value(V)의 역할

    • 계산된 관계에 따라 최종적으로 전달할 정보이다.

    Self-Attention 알고리즘의 정의

    • Query(Q), Key(K), Value(V)는 입력 데이터를 기반으로 계산되는 중요한 요소들이다.

    입력 벡터 (X)의 정의

    • 입력 데이터의 표현이다.

    입력 벡터 (X)의 예시

    • 문장에서 각 단어를 수치화한 임베딩 벡터이다.

    입력 벡터 (X)의 차원

    • (d_{\text{input}})이다.

    입력 벡터 (X)의 크기

    • 문장에서 (N)개의 단어가 있는 경우, (N \times d_{\text{input}}) 크기의 행렬이다.

    Query(Q)의 역할

    • 관계를 질문하는 것이다.

    Key(K)의 역할

    • 관계를 판단하는 열쇠 역할이다.

    Value(V)의 역할

    • 계산된 관계에 따라 최종적으로 전달할 정보이다.

    Query \( Q \)의 생성 과정

    • 입력 \( X \)에 가중치 \( W_Q \)를 곱하는 것이다.

    Key \( K \)의 생성 과정

    • 입력 \( X \)에 가중치 \( W_K \)를 곱하는 것이다.

    Value \( V \)의 생성 과정

    • 입력 \( X \)에 가중치 \( W_V \)를 곱하는 것이다.

    가중치 \( W_Q \), \( W_K \), \( W_V \)의 정의

    • 각각 Query, Key, Value를 생성하기 위한 학습 가능한 가중치 행렬이다.

    가중치 \( W_Q \), \( W_K \), \( W_V \)의 크기

    • \( d_{input} \times d_{model} \)이다.

    Query \( Q \)의 목적

    • 입력 데이터를 질문 형태로 변환하는 것이다.

    Key \( K \)의 목적

    • 입력 데이터를 판단의 기준이 되는 형태로 변환하는 것이다.

    Value \( V \)의 목적

    • 입력 데이터를 전달할 정보로 변환하는 것이다.

    가중치 행렬 \( W_Q \), \( W_K \), \( W_V \)의 역할

    • 입력 \( X \)의 특징을 강조하거나 축소하여 특정 패턴을 뽑아내기 위해 곱셈 연산을 사용한다.

    Self-Attention에서 Query \( Q \)와 Key \( K \)의 역할

    • 각 단어 간의 유사도(관계)를 계산하는 데 사용된다.

    Self-Attention에서 Value \( V \)의 역할

    • 계산된 유사도를 바탕으로 Value \( V \)에서 필요한 정보를 추출해 새롭게 조합한다.

    Self-Attention 알고리즘의 Attention Score 계산

    • Query와 Key의 내적을 통해 \( \text{Attention Score} = \frac{QK^T}{\sqrt{d_k}} \)로 계산된다.
    • \( d_k \)는 Key 벡터의 차원이다.

    Self-Attention 알고리즘의 Scaling

    • Attention Score를 \( \sqrt{d_k} \)로 나누어 스케일링한다.

    Self-Attention 알고리즘의 Softmax 적용

    • 스케일링된 Attention Score에 Softmax 함수를 적용하여 가중치를 정규화한다.

    Self-Attention 알고리즘의 최종 출력 계산

    • 정규화된 가중치와 Value를 곱하여 \( \text{Output} = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V \)로 최종 출력을 계산한다.

    Self-Attention 알고리즘의 Multi-Head Attention

    • 여러 개의 Self-Attention을 병렬로 수행하여 다양한 관점에서 입력을 분석한다.

    Self-Attention 알고리즘의 기능

    • 입력 시퀀스 내의 각 요소가 다른 모든 요소와 어떻게 관련되어 있는지를 학습한다.

    Self-Attention 알고리즘의 장점

    • 문맥을 이해하고 장거리 의존성을 포착하는 데 효과적이다.
    반응형
Designed by Tistory.