Cross-Attention (Çapraz Dikkat Mekanizması)

Cross-Attention, sorguların bir diziden, anahtar-değer çiftlerinin başka bir diziden geldiği çapraz dikkat mekanizmasıdır.

Cross-Attention (Çapraz Dikkat Mekanizması), 2017 yılında Google Brain ekibinin "Attention is All You Need" makalesiyle tanıttığı Transformer mimarisinin temel bileşenlerinden biridir. Self-Attention'dan farklı olarak iki ayrı dizinin birbirine dikkat etmesini sağlar: sorgu (Query) vektörleri alıcı diziden, anahtar (Key) ve değer (Value) vektörleri ise bağlam dizisinden üretilir. Matematiksel formülü self-attention ile aynı çekirdeği paylaşır: Attention(Q, K, V) = softmax(QK^T / √d_k) · V. Ancak Q, K ve V üç ayrı kaynaktan türetilir. Boyutsal ölçekleme faktörü √d_k, nokta çarpım değerlerinin patlamasını önler; gradyanlar bu yolla kararlı kalır. Orijinal Transformer mimarisinde cross-attention, kodlayıcı-kod çözücü (encoder-decoder) yapısında çalışır: kod çözücü katmanları Q vektörlerini kendi çıktısından üretirken K ve V vektörlerini kodlayıcının son katman çıktısından alır. Makine çevirisinde bu yapı, hedef dildeki her kelimenin kaynak dildeki tüm kelimelerle dinamik bağlantı kurmasını sağlar; model neye dikkat etmesi gerektiğini bağlama göre öğrenir. 2020'lerin başından itibaren cross-attention, metin-görüntü modellerinde kritik bir rol üstlendi. Stable Diffusion ve DALL-E gibi difüzyon modellerinde metin gömme vektörleri K ve V olarak kullanılırken görüntü gizil uzayındaki temsiller Q vektörü sağlar. Bu çapraz bağlantı aracılığıyla "gece yarısı şehrinde neon ışıklı bir kedi" gibi bir metin açıklaması ilgili görsel bölgelerle eşleştirilir. 2025-2026 döneminde çok modlu büyük dil modelleri (GPT-4o, Gemini 2.0, Claude 3.5 Sonnet), cross-attention mekanizmalarını ses, görüntü ve metin gibi farklı modaliteleri tek bir model içinde birleştirmek için genişletti. Flash Attention 3 ve Grouped Query Attention (GQA) gibi verimlilik teknikleri, uzun bağlamlarda cross-attention hesaplama maliyetini önemli ölçüde düşürdü. LoRA gibi parametre-verimli ince ayar yöntemleri de çoğunlukla cross-attention katmanlarındaki Q ve V matrislerini hedefleyerek model uyarlamasını yapar.

Cross-Attention Nasıl Çalışır?

Cross-Attention mekanizması, temel dikkat formülünü (Attention(Q, K, V) = softmax(QK^T / √d_k) · V) üç farklı kaynaktan gelen vektörlerle uygular. Sorgu (Query) vektörleri alıcı diziden —örneğin çevrilmekte olan hedef cümleden— üretilir. Anahtar (Key) ve değer (Value) vektörleri ise bağlam dizisinden —kaynak dil cümlesinden— elde edilir. Her sorgu vektörü tüm anahtar vektörleriyle iç çarpım yaparak benzerlik puanları oluşturur. Bu puanlar √d_k ile ölçeklendirildikten sonra softmax fonksiyonundan geçirilir ve dikkat ağırlıklarına dönüştürülür. Son adımda bu ağırlıklar değer vektörleriyle ağırlıklı toplanır; alıcı dizi, bağlam dizisinin en alakalı parçalarına odaklanmış bir temsil üretir. Bir Transformer kod çözücüsünde her katman üç aşama içerir: maskelenmiş self-attention (hedef diziyi kendi içinde analiz eder), cross-attention (kodlayıcı çıktısından bağlam alır) ve ileri beslemeli ağ. Cross-attention katmanı bu sıralamada iki temsil arasındaki köprüyü kurar.

Uygulama Alanları

  • check_circle Makine çevirisi: Transformer encoder-decoder mimarisinde hedef dil token'larının kaynak dil bağlamıyla hizalanması için kullanılır; hangi kaynak kelimenin hangi çeviriyi etkilediğini gösterir.
  • check_circle Metin-görüntü sentezi: Stable Diffusion ve DALL-E gibi modellerde metin gömme vektörleri (K, V) görüntü latent uzayındaki sinyallerle (Q) çapraz eşleştirilir; metin açıklamasındaki her unsur ilgili görsel bölgeyi kontrol eder.
  • check_circle Görsel soru yanıtlama (VQA): Görüntü özellikleri (K, V) ile metin sorusu (Q) arasındaki cross-attention, modelin soru içeriğine göre görüntünün uygun bölgelerine odaklanmasını sağlar.
  • check_circle Konuşma tanıma ve ses işleme: Whisper gibi ses-metin modelleri, ses encoder çıktısına metin decoder'ın cross-attention uygulamasıyla yüksek doğruluklu transkripsiyon üretir.
  • check_circle LoRA parametre ince ayarı: LoRA adaptörü çoğunlukla cross-attention katmanlarının Q ve V matrislerini hedefler; büyük modelleri küçük veri setlerine uyarlamak için hesaplama maliyetini minimize eder.

Self-Attention ile Karşılaştırma

Self-attention, Q, K ve V vektörlerinin tümünü aynı diziden türetir; dizi kendi iç bağımlılıklarını —örneğin bir cümlede "o" zamirinin hangi isme atıfta bulunduğunu— öğrenir. Cross-attention ise Q'nun bir diziden, K ve V'nin başka bir diziden gelmesiyle iki farklı temsili hizalar. Pratik açıdan: self-attention cümledeki kelimeler arası bağlamı oluştururken, cross-attention iki modalite veya iki dil arasındaki köprüyü kurar. Modern büyük dil modellerinde her transformer katmanı genellikle self-attention içerir; bazı mimarilerde cross-attention dış koşullandırma sinyali için ek katmanlara yerleştirilir. Multi-Head Attention, self-attention veya cross-attention'ın paralel birden fazla dikkat kafasıyla çalıştırıldığı genel yapıdır. Cross-attention da multi-head formda uygulanabilir; bu durumda farklı kafalar farklı hizalama örüntülerini öğrenir.

2026'da Cross-Attention: Verimlilik ve Çok Modalite

Flash Attention 3 (2024), IO-aware blok hesaplama yöntemiyle cross-attention'ın bellek-bant genişliği darboğazını önemli ölçüde azaltarak 128K+ token uzun bağlamlarda çalışmayı pratikte mümkün kıldı. Grouped Query Attention (GQA) ise birden fazla Q kafasının K ve V kafalarını paylaştığı yapıyla çıkarım belleğini %60'a kadar düşürür; bu teknik Llama 3, Mistral ve Qwen 2.5 gibi popüler açık ağırlıklı modellerde standart hale geldi. GPT-4o ve Gemini 2.0 gibi çok modlu modellerin çekirdek mimarisinde metin-ses-görüntü modalitelerinin birleştirilmesi için özelleştirilmiş cross-attention katmanları kullanılır. AB AI Act'in 2 Ağustos 2026 GPAI yaptırım takvimi kapsamında, bu modellerin davranış belgelerinde dikkat mekanizmalarının şeffaflığı da değerlendirme kriterlerinden biri olmaktadır.

Sıkça Sorulan Sorular

  • check_circle Cross-attention ile self-attention arasındaki temel fark nedir?: Self-attention'da Q, K ve V aynı diziden türetilir; dizi kendi iç ilişkilerini öğrenir. Cross-attention'da Q bir diziden, K ve V başka bir diziden gelir; bu sayede iki farklı kaynak hizalanır.
  • check_circle Stable Diffusion'da cross-attention ne işe yarar?: Metin açıklaması CLIP/T5 gibi bir encoderdan K ve V olarak kodlanır; görüntü latent uzayındaki sinyal Q olarak kullanılır. Cross-attention adım adım metni görüntüyle eşleştirir ve üretim sürecini yönlendirir.
  • check_circle Multi-head attention cross-attention'dan farklı mıdır?: Hayır, multi-head attention bir çerçevedir. Cross-attention da dahil olmak üzere herhangi bir dikkat türü multi-head formda çalıştırılabilir; her kafa farklı bir hizalama örüntüsü öğrenir.
  • check_circle LoRA neden cross-attention katmanlarını hedefler?: Cross-attention katmanlarındaki Q ve V matrisleri, modelin bağlam duyarlılığını en fazla etkileyen parametrelerdir. LoRA bu matrislere küçük düşük-rank adaptörler ekleyerek tam ince ayara yakın performansı çok daha az parametreyle elde eder.
  • check_circle Flash Attention cross-attention'ı nasıl hızlandırır?: Flash Attention, dikkat matrisini bellek hiyerarşisini dikkate alarak bloklara böler ve gereksiz HBM okuma-yazma işlemlerini azaltır. Bu sayede uzun dizi cross-attention hesaplaması, özellikle GPU belleği kısıtlı ortamlarda 2-4x daha hızlı çalışır.