Yapay Zekâ 101
Transformer Sinir Ağları Nedir?

Transformer Sinir Ağları Tanımlaması
Transformers bir tür makine öğrenimi modelidir ve sıralı verileri işleme ve yorumlama konusunda uzmanlaşmışlardır, bu nedenle doğal dil işleme görevleri için optimaldir. Bir makine öğrenimi transformeri ne olduğu ve nasıl çalıştığı daha iyi anlamak için, transformer modellerine ve onları sürdüren mekanizmalara daha yakından bakalım.
Bu makale aşağıdaki konuları kapsayacaktır:
- Sıra-Sıraya Modelleme
- Transformer Sinir Ağı Mimarisi
- Dikkat Mekanizması
- Transformers ve RNNs/LSTMs Arasındaki Farklar
Sıra-Sıraya Modelleme
Sıra-sıraya modelleme, bir tür NLP modelidir ve bir dizi veriyi başka bir dizi veriye dönüştürmek için kullanılır. various türde sıra-sıraya modelleme vardır, chẳng hạn olarak Recurrent Neural Network modelleri ve Long Short-Term Memory (LSTM) modelleri.
Geleneksel sıra-sıraya modelleri gibi RNN’ler ve LSTMs bu makalenin odak noktası değildir, ancak transformer modellerinin nasıl çalıştığını ve neden geleneksel sıra-sıraya modellerinden üstün olduğunu anlamak için onları anlamak önemlidir.
Kısaca, RNN modelleri ve LSTM modelleri, girdi verilerini çeşitli zaman adımlarında analiz eden kodlayıcı ve dekoder ağlarından oluşur. Kodlayıcı model, girdi verilerinin kodlanmış bir temsilini oluşturmakla sorumludur. Her zaman adımında kodlayıcı ağ, girdi dizisi ve önceki zaman adımındaki gizli durum alır. Gizli durum değerleri, veri ağ boyunca ilerledikçe güncellenir, son zaman adımına kadar, burada bir “bağlam vektörü” oluşturulur. Bağlam vektörü daha sonra dekoder ağına geçirilir, bu da hedef diziyi oluşturmak için kullanılan en olası kelimeleri öngörerek oluşturur.
Bu modeller, bir “dikkat mekanizması” kullanarak genişletilebilir. Dikkat mekanizması, ağın hangi girdi vektör kısımlarına odaklanacağını tanımlar. Başka bir deyişle, dikkat mekanizması transformator modelinin bir girdi kelimesini işlerken diğer girdi kelimelerindeki ilgili bilgileri de işleyebilmesini sağlar. Dikkat mekanizmaları ayrıca ilgili olmayan bilgileri içeren kelimeleri maskelemeye yardımcı olur.
Transformer Sinir Ağı Mimarisi
Dikkat mekanizmasına daha sonra daha ayrıntılı olarak bakacağız, ancak şimdi bir transformer sinir ağı mimarisine daha yüksek bir düzeyde bakalım.
Genel olarak, bir transformer sinir ağı aşağıdaki gibidir:

Bu genel yapı, ağlar arasında değişebilir, ancak temel parçalar aynı kalacaktır: konum kodlamaları, kelime vektörleri, dikkat mekanizması, besleme ileri sinir ağı.
Konum Kodlamaları ve Kelime Vektörleri
Bir transformer sinir ağı bir dizi girdiyi alır ve bunları iki başka diziye dönüştürür. Transformer, kelime vektörü gömme ve konum kodlamaları olmak üzere iki dizi üretir.
Kelime vektörü gömme sadece metnin, sinir ağının işleyebileceği bir sayısal formattaki temsilidir. Öte yandan, konum kodlamaları, girdi cümlesindeki diğer kelimelere göre当前 kelimenin konumunu içeren vektörleştirilmiş représentasyonlardır.
Diğer metin tabanlı sinir ağları modelleri gibi RNN’ler ve LSTMs, girdi verilerini temsil etmek için vektörleri kullanır. Bu vektör gömme, kelimeleri sabit değerlere haritalar, ancak bu sınırlayıcıdır, çünkü kelimeler farklı bağlamlarda kullanılabilir. Bir transformer ağı, kelime değerlerini daha esnek hale getirerek, sinusoidal fonksiyonları kullanarak, kelime vektörlerinin cümledeki kelimenin konumuna bağlı olarak farklı değerler almasına izin vererek bu sorunu çözer.
Bu, sinir ağının girdi kelimelerinin相对 konumuna ilişkin bilgileri korumasını sağlar, hatta vektörler transformer ağı katmanlarından geçtikten sonra bile.
Konum kodlamaları ve kelime vektörü gömme toplanır ve ardından hem kodlayıcı hem de dekoder ağlarına geçirilir. Transformer sinir ağları, RNN’ler ve LSTMs gibi kodlayıcı/dekoder şemalarını kullanır, ancak transformer sinir ağları arasındaki büyük bir fark, tüm girdi verilerinin aynı anda ağa geçirilmesidir, oysa RNN’ler ve LSTMs’de veri sıralı olarak geçirilir.
Kodlayıcı ağlar, ağın öğrenebileceği représentasyonlara girdi verilerini dönüştürmekle sorumludur, oysa dekoder ağları tersini yapar ve kodlamaları, olasılık dağılımına dönüştürür, bu da çıktı cümlesindeki en olası kelimeleri üretmek için kullanılır. Kodlayıcı ve dekoder ağlarının her ikisi de bir dikkat mekanizmasına sahiptir.
Çoklu dikkat mekanizmaları, GPU’ların paralel işlemesi sayesinde paralel olarak kullanılır, tüm girdi kelimeleri için ilgili bilgileri hesaplar. Birden fazla kelimeye aynı anda dikkat edebilme yeteneği, “çoklu başlı” dikkat olarak adlandırılır, ve bu, sinir ağının bir cümledeki bir kelimenin bağlamını öğrenmesine yardımcı olur, ve bu, transformer ağlarının RNN’ler ve LSTMs üzerinde sahip olduğu birincil avantajlardan biridir.
Dikkat Mekanizması
Dikkat mekanizması, transformer ağındaki en önemli parçadır. Dikkat mekanizması, transformer modellerinin geleneksel RNN veya LSTM modelinin dikkat sınırını aşmasına olanak tanır. Geleneksel Sıra-Sıraya modeller, tüm ara durumları atar ve yalnızca son durum/konteks vektörünü kullanır, dekoder ağını, girdi dizisi hakkında öngörüler oluşturmak için başlatmak için.
Ancak, girdi dizilerinin uzunluğu arttıkça, modelin performansı bu yöntem kullanılarak düşer. Bu, uzun bir girdi dizisini tek bir vektör olarak özetlemenin oldukça zor olmasından kaynaklanır. Çözüm, modelin “dikkatini” artırmak ve ara kodlayıcı durumlarını kullanarak dekoder için konteks vektörleri oluşturmaktır.
Dikkat mekanizması, bir verili token için diğer girdi tokenlerinin önemini tanımlar. Örneğin, “it” genel bir zamirdir ve thường olarak, hayvanların cinsiyeti bilinmediğinde kullanılır. Dikkat mekanizması, transformer modelinin “it” kelimesinin, current bağlamda bir sincap için kullanıldığını belirlemesine olanak tanır, çünkü tüm ilgili kelimeleri girdi cümlesinde inceleyebilir.
Dikkat mekanizması üç farklı şekilde kullanılabilir: kodlayıcı-dekoder, yalnızca kodlayıcı, yalnızca dekoder.
Kodlayıcı-dekoder dikkat, dekoderin çıktı oluştururken girdi dizilerini dikkate almasına olanak tanır, oysa yalnızca kodlayıcı ve yalnızca dekoder dikkat mekanizmaları, ağların sırasıyla önceki ve current dizilerin tüm kısımlarını dikkate almasına olanak tanır.
Dikkat mekanizmasının oluşturulması beş adımda bölünebilir:
- Tüm kodlayıcı durumları için bir puan hesaplama.
- Dikkat ağırlıklarını hesaplama
- Baglam vektörlerini hesaplama
- Önceki zaman adımının çıkışıyla baglam vektörünü güncelleme
- Dekoder ile çıktı oluşturma
İlk adım, dekoderin tüm kodlayıcı durumları için bir puan hesaplamasını içerir. Bu, dekoder ağını, bir temel besleme ileri sinir ağı olarak eğiterek yapılır. Dekoder, girdi dizisinin ilk kelimesinde eğitildiğinde, henüz hiçbir dahili/gizli durum oluşturulmamıştır, bu nedenle kodlayıcının son durumu, genellikle dekoderin önceki durumu olarak kullanılır.
Dikkat ağırlıklarını hesaplamak için, bir softmax fonksiyonu kullanılır, bu da dikkat ağırlıkları için bir olasılık dağılımı oluşturur.
Dikkat ağırlıkları hesaplandıktan sonra, baglam vektörü hesaplanmalıdır. Bu, dikkat ağırlıklarını ve gizli durumu birlikte, her zaman adımında çarparak yapılır.
Baglam vektörü hesaplandıktan sonra, önceki zaman adımında oluşturulan kelimeyle birlikte, çıktı dizisinin bir sonraki kelimesini oluşturmak için kullanılır. Dekoderin, ilk zaman adımında başvurabileceği önceki bir çıkışı olmadığından, genellikle bir “başlangıç” simgesi kullanılır.
Transformers ve RNNs/LSTMs Arasındaki Farklar
RNN’ler ve LSTMs arasındaki bazı farklılıkları hızlıca ele alalım.
RNN’ler girdileri sıralı olarak işler, oysa bir gizli durum vektörü korunur ve değiştirilir, girdi kelimeleri ağ boyunca ilerledikçe. RNN’lerin gizli durumları, genellikle önceki girdilere ilişkin çok az ilgili bilgi içerir. Yeni girdiler genellikle current durumu geçersiz kılar, bu da bilgi kaybına ve zaman içinde performansın düşmesine neden olur.
Öte yandan, transformer modelleri tüm girdi dizisini aynı anda işler. Dikkat mekanizması, her çıktı kelimesinin, tüm girdi ve gizli durumlar tarafından bilgilendirilmesini sağlar, bu da ağı, uzun metin parçaları için daha güvenilir hale getirir.
LSTMs, RNN’lerin değiştirilmiş bir versiyonudur ve daha uzun girdi dizilerini işleyebilmeleri için ayarlanmıştır. LSTM mimarisi, “gates” olarak adlandırılan bir yapı kullanır, “giriş gates”, “çıkış gates” ve “unutma gates” içerir. Kapılı tasarım, RNN modellerinde yaygın olan bilgi kaybıyla başa çıkmaya yardımcı olur. Veri hala sıralı olarak işlenir ve mimarinin yinelemeli tasarımı, LSTM modellerinin paralel hesaplama kullanılarak eğitilmesini zorlaştırır, bu da eğitim süresini genel olarak uzatır.
LSTM mühendisleri sık sık ağa dikkat mekanizmaları eklerdi, bu da modelin performansını iyileştirdiği biliniyordu. Ancak, sonunda dikkat mekanizmasının tek başına doğruluğu artırdığı keşfedildi. Bu keşif, dikkat mekanizmaları ve GPU’lar sayesinde paralel hesaplama kullanan transformer ağlarının oluşturulmasına yol açtı.








