Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Transformatörlerdeki dikkat mekanizması kod üretimini nasıl geliştirir


Transformatörlerdeki dikkat mekanizması kod üretimini nasıl geliştirir


Transformatörlerdeki dikkat mekanizması, modelin her bir çıkış belirtecini üretirken giriş dizisinin farklı bölümlerine seçici olarak odaklanmasını sağlayarak kod üretimini temel olarak geliştirir. Bu, daha bağlama duyarlı ve tutarlı kod üretimi ile sonuçlanır. Dikkat mekanizması, sözdizimsel olarak doğru ve mantıksal olarak tutarlı programlar oluşturmak için çok önemli olan kaynak kodundaki uzun menzilli bağımlılıkları, yapısal kalıpları ve anlamsal nüansları yakalamaya yardımcı olur. Çok yönlü özellikleri, sabit uzunlukta bağlam temsillerine dayanan geleneksel diziden sekans modellerine göre önemli avantajlar sağlar.

Transformatörlerde Temel Dikkat Kavramı

Transformatörlerde dikkat, bir dizi çıkış vektörünü giriş değeri vektörlerinin ağırlıklı toplamı olarak hesaplayan bir tekniktir. Ağırlıklar, bir sorgu (bir çıkışın üretildiği geçerli konumu temsil eden) ve bir dizi anahtar vektör (giriş sırasındaki tüm konumları temsil eden) arasındaki uyumluluk puanlarına göre dinamik olarak hesaplanır. Bu, modelin, tüm diziyi eşit olarak işlemek veya sabit boyutlu bir vektöre sıkıştırmak yerine, her bir jeton üretirken girişin ilgili kısımlarına "katılmasını" veya odaklanmasını sağlar.

Ölçeklendirilmiş nokta ürünü dikkati için temel formül:

$$
\ text {Dikkat} (q, k, v) = \ text {softmax} \ sol (\ frac {qk^t} {\ sqrt {d_k> \ right) v
$$

burada $$ q $$, $$ k $$ ve $$ V $$ sırasıyla sorguların, tuşların ve değerlerin matrisleridir ve $$ d_k $$ ölçeklendirme için kullanılan tuşların boyutudur. Softmax işlevi, sorgular ve anahtarlar arasındaki DOT ürün skorlarını bir olasılık dağılımına dönüştürür, bu da daha sonra değerleri ağırlıklandırmak için kullanılır.

Koddaki bağlam ve bağımlılıkları yakalamak

Programlama kodu doğal olarak uzun menzilli bağımlılıklarla yapılandırılmıştır; Bir fonksiyonun başında bildirilen değişkenler daha sonra birçok yerde kullanılabilir. RNNS veya CNNS gibi geleneksel modeller, sıralı veya yerel alıcı doğaları nedeniyle bu tür uzun menzilli bağlamsal ilişkileri sürdürmek için mücadele etti. Buna karşılık, transformatörlerdeki kendi kendine dikkat mekanizması, sıradaki mesafelere bakılmaksızın, her jetonu diğer jetonla doğrudan ilişkilendirebilir.

Kendine dikkat, her jeton pozisyonunun giriş sırasındaki diğer tüm konumlardan aynı anda bilgi toplamasını sağlar. Örneğin, bir kapanış braketi oluştururken, model birkaç satır daha önce olabilecek karşılık gelen açıklık braketine katılabilir. Bu tam bağlantı, modelin sözdizimsel ve semantik yapıyı daha etkili bir şekilde kodlamasını sağlar, bu da hatasız kod oluşturmak için gereklidir.

Farklı bağlamlar için çok başlı dikkat

Transformatörler, giriş gömleklerinin farklı doğrusal projeksiyonlarında çoklu paralel dikkat operasyonlarının (kafalar) yapıldığı çok başlı dikkat kullanır. Her kafa, değişken adlar, kontrol akışı yapıları veya işlev sınırları gibi girişin farklı yönlerine odaklanmayı öğrenir. Bu çok kafalı kurulum çeşitli avantajlar sunuyor:

- Modelin farklı temsil alt alanlarından gelen bilgilere birlikte katılmasını sağlar.
- Giriş sırasındaki birden fazla perspektifi birleştirerek modelin neler öğrenebileceğinin kapsamını genişletir.
- Tek bir dikkat gösterimine güvenmeyerek sağlamlığını artırır.

Bu çoklu kafaların çıktıları birleştirilir ve çıktı jetonları üretmek için kullanılan nihai gösterimi oluşturmak üzere doğrusal olarak dönüştürülmüştür.

Enkoder-Decoder Kaynak hedefi hizalaması için dikkat

Kod üretiminde, transformatörler tipik olarak bir kodlayıcı-kodlayıcı mimarisi kullanır, burada kodlayıcı giriş açıklamasını (örn. Doğal dil problemi spesifikasyonu) bağlamsal bir gösterime işler ve kod çözücü karşılık gelen kod dizisini oluşturur. Kod çözücü, her kod çözme aşamasında kodlanmış girişin ilgili kısımlarına seçici olarak odaklanmak için kodlayıcı-dekoder dikkatini (çapraz dikkat) kullanır. Giriş ve çıktı arasındaki bu hizalama, modelin giriş isteminde ifade edilen niyetle yakından eşleşen ilgili ve hassas kod parçacıkları üretmesine yardımcı olur.

Otoregresif nesil için nedensel ve maskeli dikkat

Kod jeton oluştururken, kod çözücü $$ i $$ pozisyonu için tahminlerin yalnızca önceki tokenlere bağlı olduğunu sağlamak için nedensel (maskeli) kendine dikkat kullanır.