Attention (Dikkat Mekanizması), sinir ağının çıktı üretirken giriş dizisindeki en ilgili bölümlere ağırlık atadığı öğrenilebilir odaklanma bileşenidir.
Attention (Dikkat Mekanizması), bir sinir ağının çıktı üretirken giriş dizisinin hangi bölümlerine ne ölçüde odaklanacağını dinamik olarak öğrenen nöral ağ bileşenidir. 2014'te makine çevirisi için önerilen temel dikkat mekanizması, 2017'de 'Attention Is All You Need' makalesiyle Transformer mimarisinin çekirdeğine dönüştü ve modern yapay zekanın en dönüştürücü bileşeni haline geldi.
Dikkat mekanizmasının temel sezgisi, insan dikkatini taklit etmektir: cümledeki her kelimeye eşit ağırlık vermek yerine, o anki tahmin için en ilgili kelimeleri daha yüksek ağırlıkla değerlendirmek. Matematiksel olarak üç matris kullanılır: Sorgu (Query, Q), Anahtar (Key, K) ve Değer (Value, V). Q ile K'nın nokta çarpımı yumuşatılmış maksimum (softmax) fonksiyonundan geçirilerek dikkat ağırlıkları elde edilir; bu ağırlıklar V matrisinin ağırlıklı toplamını belirler: Attention(Q, K, V) = softmax(QK^T / √d_k) × V.
Öz-dikkat (self-attention), bir dizinin kendi içindeki öğeler arasındaki bağımlılıkları modelleyerek çalışır; GPT ve BERT bu mekanizmayı kullanır. Çapraz dikkat (cross-attention) ise farklı iki dizinin öğelerini ilişkilendirir; kodlayıcı-çözücü modellerinde sorgu çözücüden, anahtar/değer çiftleri kodlayıcıdan gelir. Çok başlı dikkat (multi-head attention), birden fazla dikkat başını paralel çalıştırarak farklı ilişki alt uzaylarını eş zamanlı öğrenir.
Dikkat mekanizması, konum bilgisini doğrudan içermez; bu nedenle Transformer'lara konumsal kodlama eklenir. Flash Attention gibi bellek-etkin uygulamalar uzun bağlam pencerelerini mümkün kılarken kayan pencere dikkat (sliding window attention) yerel bağımlılıklara odaklanarak hesaplama karmaşıklığını düşürür.
Dikkat Mekanizması Nasıl Çalışır?
Girdi dizisindeki her öğe, üç doğrusal dönüşümle Sorgu (Q), Anahtar (K) ve Değer (V) vektörlerine dönüştürülür. Q ve K matrislerinin transpozu çarpılarak ham uyumluluk skorları elde edilir; √d_k ile bölme gradyanların patlamasını önler. Softmax fonksiyonu bu skorları 0-1 arasında normalize eder; her öğenin dikkat ağırlığını verir. Son olarak ağırlıklar V ile çarpılarak çıktı vektörü oluşturulur. Bu işlem O(n²) karmaşıklığındadır; uzun diziler için Flash Attention bu maliyeti bellek açısından optimize eder.
Dikkat Türleri
Öz-Dikkat
Dizi kendi içindeki öğeler arasındaki ilişkileri öğrenir; BERT'te her token tüm tokenlerle etkileşir.
Çapraz Dikkat
Çeviri gibi kodlayıcı-çözücü görevlerinde çözücü sorgusu, kodlayıcı anahtar/değer çiftiyle etkileşir.
Çok Başlı Dikkat
Paralel birden çok dikkat başı farklı dilbilgisel ve semantik alt uzayları öğrenir; başlar birleştirilir.
Flash Attention
GPU belleğini verimli kullanan IO-aware uygulama; pratik olarak O(n) bellek karmaşıklığıyla çalışır.
Dikkat Mekanizmasının Kullanım Alanları
check_circleDil Modelleri: GPT, BERT ve tüm Transformer tabanlı LLM'ler öz-dikkati temel yapı taşı olarak kullanır.
check_circleMakine Çevirisi: Kodlayıcı-çözücü modellerinde çapraz dikkat, kaynak ve hedef cümle tokenlerini hizalar.
check_circleGörüntü İşleme: Vision Transformer (ViT) görüntü yamalarına öz-dikkat uygular; nesne tanıma ve segmentasyonda etkili.
check_circleÇok Modlu Modeller: Metin ve görüntü gibi farklı modaliteler arasındaki ilişkileri çapraz dikkatle modelleyen CLIP benzeri mimariler.
Sıkça Sorulan Sorular
check_circleAttention ile attention-mechanism arasında fark var mı?: Attention mekanizması genel kavramı kapsarken 'self-attention' ya da 'multi-head attention' belirli uygulamaları tanımlar. Bu sayfadaki Attention terimi, makine çevirisinden LLM'lere uzanan geniş dikkat ailesidir.
check_circleAttention neden O(n²) karmaşıklığındadır?: Her token diğer tüm tokenlerle karşılaştırılır; n uzunluklu dizide n×n uyumluluk matrisi hesaplanır. Flash Attention bellekte bu matrisi parçalayarak bellek tüketimini O(n)'e indirir.
check_circleKonumsal kodlama neden gereklidir?: Dikkat mekanizması sıra bilgisi içermez; aynı tokenler farklı sırayla gelse aynı dikkat çıktısı üretilir. Sinüzoidal veya öğrenilebilir konumsal kodlama bu eksikliği giderir.