본문 바로가기

AI/딥러닝(Deep Learning)

[DL/딥러닝] Cross Attention

728x90
반응형
크로스 어텐션 완전 정복 - 개념, 원리, 활용, 논문까지

 

크로스 어텐션 완전 정복 🧠

딥러닝 멀티모달 모델에서 빠질 수 없는 핵심 메커니즘

👉 크로스 어텐션이란?

크로스 어텐션(Cross Attention)은 트랜스포머(Transformer) 모델에서 사용되는 어텐션 메커니즘 중 하나로, 서로 다른 두 시퀀스 간의 관계를 학습하기 위해 사용됩니다.
예를 들어, 하나의 입력이 텍스트이고, 다른 하나가 이미지인 경우 각각을 독립적으로 인코딩한 후, 두 정보 간의 연관성을 계산하여 상호 작용하는 데 사용됩니다.

🧩 왜 크로스 어텐션이 필요한가요?

셀프 어텐션(Self Attention)은 한 시퀀스 내 토큰들 간의 관계만 파악합니다. 그러나 실생활 문제에서는 서로 다른 입력 간의 정보 교환이 필요할 때가 많습니다.

  • 기계 번역에서 입력 문장(인코더)과 출력 문장(디코더)
  • 이미지 캡셔닝에서 이미지 특징과 캡션 문장
  • 멀티모달 챗봇에서 텍스트와 영상/이미지

이처럼 서로 다른 종류의 정보를 연결하는 데 크로스 어텐션은 필수적인 역할을 합니다.

🛠 어디에 쓰이나요?

  • 기계 번역 (Machine Translation) - 트랜스포머의 인코더-디코더 구조
  • 이미지 캡셔닝 - CNN+RNN 구조에서 이미지 특징을 텍스트 디코더로 전달
  • 멀티모달 모델 - CLIP, Flamingo 등 텍스트와 이미지의 상호작용
  • VQA (Visual Question Answering) - 질문(텍스트)과 이미지 간 매칭

⚙️ 작동 원리 - 수학적으로 살펴보기

크로스 어텐션은 Query, Key, Value의 세 가지 구성 요소를 사용합니다. 셀프 어텐션과의 가장 큰 차이점은 Query는 한 소스에서, Key/Value는 다른 소스에서 나온다는 것입니다.

📐 수식적으로 표현하면


  • Q: 디코더 입력 (예: 텍스트)
  • K, V: 인코더 출력 또는 이미지 특징 등 (예: 이미지)
  • d_k: Key 벡터의 차원 수

위 수식은 Query와 Key 간의 유사도를 계산한 후, 이를 기반으로 Value의 가중 평균을 구합니다. 즉, 디코더가 어떤 입력(예: 이미지)의 어떤 부분을 주목할지 학습하는 과정입니다.

💡 실제 구조로 보면?

  1. Q = Linear(디코더 출력)
  2. K, V = Linear(인코더 또는 외부 모달 출력)
  3. Attention 결과 = 디코더의 다음 토큰 생성을 위한 컨텍스트 정보

📚 참고할 만한 논문은?

728x90
반응형

'AI > 딥러닝(Deep Learning)' 카테고리의 다른 글

[딥러닝/DL] Image Embedding  (0) 2024.09.25
[딥러닝/DL] Loss Function  (0) 2024.09.09
[딥러닝/DL] Attention  (0) 2024.01.09
[딥러닝/DL] Loss Surface  (0) 2024.01.09
[딥러닝/DL]9. LSTM과 GRU 셀  (0) 2022.12.09