[카테고리:] 트랜스포머

  • 스케일드 닷-프로덕트 어텐션(Scaled Dot-Product Attention)

    스케일드 닷-프로덕트 어텐션(Scaled Dot-Product Attention)

    작동 원리

    1. 쿼리(Q), 키(K), 값(V) 생성: 입력 데이터로부터 Q, K, V 행렬을 생성합니다.
    2. 어텐션 스코어 계산: Q와 K의 전치행렬을 곱하여 어텐션 스코어를 계산합니다.
    3. 스케일링: 어텐션 스코어를 키 벡터의 차원 수의 제곱근(√dk)으로 나눕니다.
    4. 소프트맥스 적용: 스케일링된 스코어에 소프트맥스 함수를 적용하여 어텐션 가중치를 얻습니다.
    5. 가중합 계산: 어텐션 가중치와 V를 곱하여 최종 출력을 생성합니다.

    수식

    스케일드 닷-프로덕트 어텐션의 수식은 다음과 같습니다:

    $$Attention(Q, K, V) = softmax(\frac{QK^T}{\sqrt{d_k}})V$$

    여기서 dk는 키 벡터의 차원 수입니다.

    특징

    • 계산 효율성: 내적 연산을 사용하여 빠른 계산이 가능합니다.
    • 병렬 처리: 행렬 연산을 통해 효율적인 병렬 처리가 가능합니다.
    • 스케일링 효과: √dk로 나누는 스케일링 과정은 그래디언트 소실 문제를 완화합니다.

    장점

    • 다양한 입력 시퀀스 길이를 처리할 수 있습니다.
    • 학습 안정성을 향상시키고 모델의 성능을 개선합니다.
    • 복잡한 문맥 관계를 효과적으로 포착할 수 있습니다.

    스케일드 닷-프로덕트 어텐션은 트랜스포머 모델의 핵심 요소로, 자연어 처리 작업에서 높은 성능을 달성하는 데 중요한 역할을 합니다.

    Citations:
    [1] https://ko.wikipedia.org/wiki/%EC%8A%A4%EC%B9%BC%EB%9D%BC%EA%B3%B1
    [2] https://velog.io/@glad415/Transformer-3.-%EC%8A%A4%EC%BC%80%EC%9D%BC%EB%93%9C-%EB%8B%B7-%ED%94%84%EB%A1%9C%EB%8D%95%ED%8A%B8-%EC%96%B4%ED%85%90%EC%85%98-by-WikiDocs
    [3] https://velog.io/@cha-suyeon/%EC%8A%A4%EC%BC%80%EC%9D%BC%EB%93%9C-%EB%8B%B7-%ED%94%84%EB%A1%9C%EB%8D%95%ED%8A%B8-%EC%96%B4%ED%85%90%EC%85%98Scaled-dot-product-Attention
    [4] https://shyu0522.tistory.com/26
    [5] https://ctkim.tistory.com/entry/Attention-Mechanism
    [6] https://wikidocs.net/22893
    [7] https://docs.unity3d.com/kr/560/Manual/UnderstandingVectorArithmetic.html
    [8] https://welcome-to-dewy-world.tistory.com/108
    [9] https://wikidocs.net/219431