Dikkat Mekanizması Nedir

Bir dikkat mekanizması, bir çıktıyı üretirken modelin girdinin en alakalı kısımlarına odaklanmasını sağlayan sinir ağlarındaki bir tekniktir.

Dikkat mekanizması, özellikle makine çevirisi, metin özetleme ve resim altyazılama gibi diziden-diziye görevler için derin öğrenme modellerinde kullanılan bir tekniktir. Tüm bilgiyi sabit boyutlu bir bağlam vektörüne sıkıştırmakta zorlanan geleneksel modellerin (temel RNN'ler gibi) sınırlamalarını ele alır. Dikkat, modelin çıktı dizisinin her bir parçasını üretirken girdi dizisinin belirli bölümlerine dinamik olarak odaklanmasına olanak tanır. Mimari olarak, kod çözücünün mevcut durumu ile kodlanmış girdi dizisinin her bir öğesi arasında 'dikkat puanları' hesaplamayı içerir. Bu puanlar daha sonra 'dikkat ağırlıkları' üretmek için normalleştirilir (genellikle bir softmax fonksiyonu kullanılarak). Bu ağırlıklar kullanılarak girdi öğelerinin ağırlıklı toplamı, mevcut kod çözme adımı için özel bir bağlam vektörü oluşturur. Bu, modelin en ilgili girdi bilgisine 'dikkat etmesini' sağlar ve uzun menzilli bağımlılıkları anlamayı gerektiren görevlerde performansı artırır. Dezavantajları arasında dikkat mekanizması olmayan modellere kıyasla artan hesaplama karmaşıklığı ve bellek kullanımı yer alır, ancak doğruluktaki artışlar ve daha uzun dizileri işleme yeteneği genellikle önemlidir.

        graph LR
  Center["Dikkat Mekanizması Nedir"]:::main
  Pre_deep_learning["deep-learning"]:::pre --> Center
  click Pre_deep_learning "/terms/deep-learning"
  Pre_linear_algebra["linear-algebra"]:::pre --> Center
  click Pre_linear_algebra "/terms/linear-algebra"
  Rel_transformer_architecture["transformer-architecture"]:::related -.-> Center
  click Rel_transformer_architecture "/terms/transformer-architecture"
  Rel_context_window["context-window"]:::related -.-> Center
  click Rel_context_window "/terms/context-window"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Bilgi testi

1 / 3

🧒 5 yaşındaki gibi açıkla

Uzun bir hikaye okurken, şu anda ne olduğunu anlamanıza yardımcı olmak için daha önce okuduğunuz belirli bir cümleye geri dönüp bakmak gibidir.

🤓 Expert Deep Dive

Dikkat mekanizmaları, değişken uzunluklu, bağlama bağlı bilgi erişimini sağlayarak dizi modellemeyi temelden geliştirir. Mimari olarak, bir sorgu-anahtar-değer (QKV) paradigması sunarlar. Kod çözücünün mevcut durumu tipik olarak sorgu olarak hizmet ederken, kodlayıcının gizli durumları anahtar ve değer olarak hareket eder. Sorgu ile her anahtar arasındaki hizalama puanı, bir puanlama fonksiyonu (örneğin, nokta çarpımı, toplamsal) aracılığıyla dikkat ağırlığını belirler. Bu ağırlık dağılımı, modelin değerlerin ağırlıklı toplamı olarak bir bağlam vektörü hesaplamasına olanak tanır, bu da etkili bir şekilde ilgili bilgiyi getirir. Transformer'larda kullanılan öz-dikkat (self-attention), bu mekanizmayı yalnızca kodlayıcı ve kod çözücü arasında değil, aynı zamanda girdi dizisinin kendi içinde de uygular, bu da modelin farklı kelimelerin birbirlerine göre önemini tartmasına olanak tanır. Bu paralelleştirilebilir hesaplama ve tekrarlama olmadan uzun menzilli bağımlılıkları yakalama yeteneği, temel mimari avantajlardır. Kırılganlıklar, dikkat örüntülerini manipüle eden rakip saldırılardan veya çarpık veri dağılımlarından öğrenilen önyargılardan kaynaklanabilir.

🔗 İlgili terimler

Ön koşullar:

📚 Kaynaklar