Yapay zeka temelleri
Transformer Neural Ağları Nedir?
Transformer Neural Ağları Açıklaması
Transformer’lar sekansiyel verileri işleme ve yorumlama konusunda uzmanlaşmış bir makine öğrenimi modeli türüdür. Bir makine öğrenimi transformeri ne olduğu ve nasıl çalıştığı hakkında daha iyi bir anlayış kazanmak için, transformator modellerine ve onları çalıştıran mekanizmalara daha yakından bakalım.
Bu makale aşağıdaki konuları kapsayacaktır:
- Sekansiyel Modelden Model’e
- Transformer Neural Ağ Mimarisi
- Dikkat Mekanizması
- Transformer’lar ve RNN’ler/LSTM’ler Arasındaki Farklar
Sekansiyel Modelden Model’e
Sekansiyel modelden model’e modeller, bir tür doğal dil işleme modelidir ve bir dizi türünden diğerine dönüştürme işlemlerinde kullanılır. various sekansiyel modelden model’e modelleri vardır, Örneğin Recurrent Neural Network modelleri ve Long Short-Term Memory (LSTM) modelleri.
Geleneksel sekansiyel modelden model’e modeller gibi RNN’ler ve LSTM’ler bu makalenin odak noktası değildir, ancak transformer modellerinin nasıl çalıştığını ve neden geleneksel sekansiyel modelden model’e modellerinden üstün olduğunu anlamak için bunları anlamak önemlidir.
Kısaca, RNN modelleri ve LSTM modelleri, çeşitli zaman adımlarında girdi verilerini analiz eden kodlayıcı ve dekoder ağlarından oluşur. Kodlayıcı model, girdi verilerinin bir kodlanmış 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 ve son zaman adımında bir “bağlam vektörü” oluşturulur. Bağlam vektörü daha sonra dekoder ağına verilir ve çıktı dizisini oluşturmak için kullanılır.
Bu modeller, bir “dikkat mekanizması” kullanarak geliştirilebilir. Dikkat mekanizması, ağın hangi girdi vektörlerinin üzerine 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 dikkate almasına olanak tanır. Dikkat mekanizmaları ayrıca ilgili olmayan kelimeleri maskelemeye yardımcı olur.
Transformer Neural Ağ Mimarisi
Dikkat mekanizmasına daha sonra daha ayrıntılı olarak bakacağız, ancak şimdi bir transformer neural ağı mimarisine daha yüksek düzeyde bakalım.
Genel olarak, bir transformer neural ağı aşağıdaki gibidir:

Bu genel yapı, ağlar arasında değişebilir, ancak temel parçalar aynı kalacaktır: pozisyonel kodlamalar, kelime vektörleri, dikkat mekanizması, besleyici ileri besleme ağı.
Pozisyonel Kodlamalar ve Kelime Vektörleri
Bir transformer neural ağı bir dizi girdiyi alır ve bu girdileri iki başka diziye dönüştürür. Transformer, kelime vektörü gömme dizileri ve pozisyonel kodlamalar üretir.
Kelime vektörü gömmeleri, metnin, ağın işleyebileceği bir sayısal formattaki temsilidir. Pozisyonel kodlamalar ise, girdi cümlesindeki diğer kelimelere göre当前 kelimenin pozisyonuna ilişkin bilgileri içeren vektörleştirilmiş représentasyonlardır.
Diğer metin tabanlı sinir ağları modelleri gibi RNN’ler ve LSTM’ler, girdi verisindeki kelimeleri vektörler olarak temsil eder. Bu vektör gömmeleri, kelimeleri sabit değerlere eşler, ancak bu, kelimelerin farklı bağlamlarda kullanılabileceği için sınırlıdır. Transformer ağı, kelime değerlerini daha esnek hale getirerek, kelime vektörlerinin, cümledeki kelimenin pozisyonuna bağlı olarak farklı değerler almasına izin veren sinusoidal fonksiyonlar kullanır.
Bu, sinir ağının, girdi kelimelerinin相对 pozisyonuna ilişkin bilgileri korumasına olanak tanır, hatta vektörler transformer ağı katmanlarından geçerken.
Pozisyonel kodlamalar ve kelime vektörü gömmeleri toplanır ve hem kodlayıcı hem de dekoder ağlarına verilir. Transformer neural ağları, RNN’ler ve LSTM’ler gibi kodlayıcı/dékoder şemalarını kullanır, ancak aralarında önemli bir fark vardır: tüm girdi verisi aynı anda ağına verilir, RNN’ler ve LSTM’lerde ise veri sırayla verilir.
Kodlayıcı ağlar, girdileri, ağın öğrenebileceği temsilciler haline dönüştürmekle sorumludur, dekoder ağları ise tersini yapar ve kodlamaları çıktı cümlesindeki en olası kelimelerin oluşturulduğu bir olasılık dağılımına dönüştürür. Hem kodlayıcı hem de dekoder ağlarında dikkat mekanizması bulunur.
Çoklu dikkat mekanizmaları, paralel işlem sayesinde aynı anda hesaplanır ve tüm girdi kelimeleri için ilgili bilgileri hesaplar. Bu, transformer ağının bir kelimenin cümledeki bağlamını öğrenmesine yardımcı olur ve RNN’ler ve LSTM’ler üzerinde transformer ağlarının birincil avantajlarından 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 Sekansiyel Modelden Model’e modeller, tüm ara durumları atar ve yalnızca son durum/konteks vektörünü kullanarak dekoder ağını başlatırlar.
Yalnızca son konteks vektörünü kullanmak, küçük girdi dizileri için yeterli olabilir, ancak girdi dizisi uzun olduğunda modelin performansı düşer. Bu, uzun bir girdi dizisini tek bir vektör olarak özetlemenin zor olmasından kaynaklanır. Çözüm, modelin “dikkatini” artırmak ve ara kodlayıcı durumlarını kullanarak konteks vektörleri oluşturmaktır.
Dikkat mekanizması, herhangi bir token için diğer girdi tokenlerinin önemini tanımlar. Örneğin, “o” kelimesi genellikle hayvanların cinsiyeti bilinmediğinde kullanılan bir zamirdir. Dikkat mekanizması, transformer modelinin “o” kelimesinin当前 bağlamda bir sincaba atıfta bulunduğunu belirlemesine olanak tanır.
Dikkat mekanizması üç farklı şekilde kullanılabilir: kodlayıcı-dékoder dikkat, yalnızca kodlayıcı dikkat ve yalnızca dekoder dikkat.
Dikkat mekanizmasının oluşturulması beş adımdan oluşur:
- Tüm kodlayıcı durumları için bir puan hesaplama
- Dikkat ağırlıklarını hesaplama
- Bağlam vektörünü hesaplama
- Önceki zaman adımının çıktısını kullanarak bağlam vektörünü güncelleme
- Dékoder ile çıktı üretme
İlk adım, dekoderin tüm kodlayıcı durumları için bir puan hesaplamasıdır. Bu, dekoder ağını eğiterek yapılır, dekoder ağı temel bir besleyici ileri besleme ağıdır. Dekoder, girdi dizisinin ilk kelimesine eğitim verildiğinde, henüz hiçbir dahili/gizli durum oluşturulmamıştır, bu nedenle kodlayıcıların son durumunu dekoderin önceki durumu olarak kullanır.
Dikkat ağırlıklarını hesaplamak için bir softmax fonksiyonu kullanılır ve dikkat ağırlıkları için bir olasılık dağılımı oluşturur.
Dikkat ağırlıkları hesaplandıktan sonra, bağlam vektörü hesaplanmalıdır. Bu, dikkat ağırlıklarını ve gizli durumu birlikte çarparak yapılır.
Bağlam vektörü hesaplandıktan sonra, önceki zaman adımının çıktısı ile birlikte kullanılır ve çıktı dizisinin bir sonraki kelimesini üretmek için kullanılır. Dekoderin ilk zaman adımında önceki çıktısı olmadığından, genellikle bir “başlangıç” tokenı kullanılır.
Transformer’lar ve RNN’ler/LSTM’ler Arasındaki Farklar
RNN’ler ve LSTM’ler arasındaki bazı farklılıkları hızlıca ele alalım.
RNN’ler girdileri sırayla işlerken, bir gizli durum vektörü korunur ve değiştirilir. RNN’lerin gizli durumları genellikle önceki girdilerle ilgili çok az ilgili bilgi içerir. Yeni girdiler genellikle当前 durumu geçersiz kılar, bu da bilgi kaybına ve zaman içinde performansı azaltır.
Öte yandan, transformer modelleri tüm girdi dizisini aynı anda işler. Dikkat mekanizması, her çıktı kelimesinin tüm girdilerden ve gizli durumlardan haberdar olmasını sağlar, bu da ağı uzun metin parçaları için daha güvenilir hale getirir.
LSTM’ler, daha uzun girdi dizilerini işleyebilme amacıyla değiştirilmiş RNN’lerdir. LSTM mimarisi, “giriş kapıları”, “çıkış kapıları” ve “unutma kapıları” olarak adlandırılan bir yapı kullanır. Kapılı tasarım, RNN modellerinde yaygın olan bilgi kaybını ele alır. Veri hala sırayla işlenir ve mimarinin yinelemeli tasarımı, LSTM modellerinin paralel hesaplama kullanarak eğitilmesini zorlaştırır, bu da eğitim süresini 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 paralel hesaplama kullanan transformer ağlarının yaratılmasına yol açtı.












