Bu bölümde, çeşitli yerleştirme yöntemlerinin yanı sıra statik yerleştirmelerin bağlama dayalı yerleştirmelere nasıl dönüştürüleceği ele alınmaktadır.
Boyut azaltma teknikleri
Yüksek boyutlu bir alanın önemli yapılarını düşük boyutlu bir alanda yakalayan birçok matematiksel teknik vardır. Teorik olarak, bu tekniklerden herhangi biri bir makine öğrenimi sistemi için yerleştirme oluşturmak amacıyla kullanılabilir.
Örneğin, kelime yerleştirmeleri oluşturmak için ana bileşen analizi (PCA) kullanılmıştır. PCA, kelime çantası vektörleri gibi bir örnek grubu verildiğinde tek bir boyuta daraltılabilen yüksek korelasyonlu boyutlar bulmaya çalışır.
Nöral ağ kapsamında bir yerleştirme eğitimi
Hedef göreviniz için bir sinir ağı eğitirken yerleştirme oluşturabilirsiniz. Bu yaklaşım, belirli sisteminiz için iyi özelleştirilmiş bir yerleştirme sağlar ancak yerleştirmeyi ayrı olarak eğitmekten daha uzun sürebilir.
Genel olarak, sinir ağınız içinde d boyutunda bir gizli katman oluşturabilirsiniz. Bu katman, gömülüm katmanı olarak adlandırılır. d, hem gizli katmandaki düğüm sayısını hem de gömülüm uzayda boyut sayısını temsil eder. Bu yerleştirme katmanı, diğer tüm özellikler ve gizli katmanlarla birleştirilebilir. Her derin sinir ağında olduğu gibi, parametreler de ağ çıkış katmanındaki düğümlerdeki kaybı en aza indirmek için eğitim sırasında optimize edilir.
Yemek önerisi örneğimize dönecek olursak amacımız, kullanıcının mevcut favori yemeklerine göre beğeneceği yeni yemekleri tahmin etmektir. Öncelikle, kullanıcılarımızın en sevdiği beş yiyecek hakkında ek veriler toplayabiliriz. Ardından bu görevi gözetimli öğrenme problemi olarak modelleyebiliriz. Bu ilk beş gıdadan dördünü özellik verileri olarak ayarladıktan sonra beşinci gıdayı, modelimizin tahmin etmeyi amaçladığı pozitif etiket olarak rastgele ayırırız. Ardından, modelin tahminlerini softmax kaybını kullanarak optimize ederiz.
Eğitim sırasında nöral ağ modeli, yerleştirme katmanı olarak işlev gören ilk gizli katmandaki düğümler için optimum ağırlıkları öğrenir. Örneğin, model ilk gizli katmanda üç düğüm içeriyorsa gıda öğeleriyle ilgili en alakalı üç boyutun sandviç, tatlı ve sıvı olduğunu belirleyebilir. Şekil 12'de, "sosisli sandviç" için tek sıcak kodlu giriş değerinin üç boyutlu bir vektöre dönüştürülmesi gösterilmektedir.
![Şekil 12. Sosisli sandviçin tek sıcak kodlaması için nöral ağ. İlk katman, her biri temsil ettiği yemeğin simgesiyle ek açıklamalı 5 düğüme sahip bir giriş katmanıdır (borş, sosisli sandviç, salata, ... ve döner). Bu düğümler sırasıyla [0, 1, 0, ..., 0] değerlerine sahiptir ve "hot dog" ifadesinin tek sıcak kodlamasını temsil eder. Giriş katmanı, düğümleri sırasıyla 2,98, -0, 75 ve 0 değerine sahip 3 düğümlü bir yerleştirme katmanına bağlıdır. Yerleştirme katmanı, 5 düğümlü gizli bir katmana, bu katman da 5 düğümlü bir çıktı katmanına bağlanır.](https://developers.google.cn/static/machine-learning/crash-course/embeddings/images/one_hot_hot_dog_embedding.png?hl=tr)
hot dog
için tek sıcak kodlama. Yerleştirme katmanı, tek sıcak kodlamayı üç boyutlu yerleştirme vektörüne [2.98, -0.75, 0]
dönüştürür.
Eğitim sırasında, benzer örneklerin yerleştirme vektörleri birbirine daha yakın olacak şekilde yerleştirme katmanının ağırlıkları optimize edilir. Daha önce de belirtildiği gibi, gerçek bir modelin yerleştirmeleri için seçtiği boyutların bu örnekteki kadar sezgisel veya anlaşılır olması pek olası değildir.
Bağlamsal gömmeler
word2vec
statik yerleştirme vektörlerinin bir sınırlaması, kelimelerin farklı bağlamlarda farklı anlamlara gelebileceğidir. "Evet" tek başına bir şey ifade eder ancak "Evet, doğru" ifadesi tam tersini ifade eder. "Posta", "posta göndermek", "küpe arkası", "at yarışının sonundaki işaretçi", "son prodüksiyon", "sütun", "bilgilendirme yayınlamak", "gardiyan veya asker yerleştirmek" ya da "sonra" gibi anlamlara gelebilir.
Ancak statik yerleştirmelerde her kelime, çeşitli anlamlara sahip olsa bile vektör alanında tek bir noktayla temsil edilir.
Son alıştırmada, orange (turuncu) kelimesi için statik yerleştirmelerin sınırlamalarını keşfettiniz. Bu kelime,bir rengi veya meyve türünü ifade edebilir. Yalnızca bir statik yerleştirmeyle, word2vec
veri kümesinde eğitilen turuncu, her zaman diğer renklere suyu'dan daha yakın olur.
Bağlamsal yerleştirmeler bu sınırlamayı gidermek için geliştirilmiştir. Bağlamsal yerleştirmeler, bir kelimenin hem kendisi hem de çevresindeki kelimelerle ilgili bilgileri içeren birden fazla yerleştirmeyle temsil edilmesine olanak tanır. Orange, veri kümesinde kelimeyi içeren her benzersiz cümle için farklı bir yerleştirmeye sahip olur.
ELMo gibi bağlama dayalı yerleştirmeler oluşturmaya yönelik bazı yöntemler, bir örneğin statik yerleştirmesini (ör. cümledeki bir kelimenin word2vec
vektörü) alır ve etrafındaki kelimelerle ilgili bilgileri içeren bir işlevle dönüştürür. Bu işlem, bağlama dayalı bir yerleştirme oluşturur.
Bağlamsal yerleştirmeler hakkında ayrıntılı bilgi için burayı tıklayın.
- Özellikle ELMo modellerinde statik yerleştirme, diğer katmanlardan alınan ve cümlenin baştan sona ve sondan başa okunmasını kodlayan yerleştirmelerle birleştirilir.
- BERT modelleri, modelin giriş olarak aldığı dizinin bir kısmını maskeler.
- Transformer modelleri, bir dizindeki diğer kelimelerin her bir kelimeyle alaka düzeyini ağırlıklandırmak için kendi kendine dikkat katmanı kullanır. Ayrıca, çıkarım için modelin geri kalanına beslenen giriş yerleştirmesini oluşturmak amacıyla, konumsal yerleştirme matrisinden (konumsal kodlama bölümüne bakın) ilgili sütunu, önceden öğrenilen her jeton yerleştirmesine öğe öğe eklerler. Her farklı metin dizisine özgü olan bu giriş yerleştirmesi bağlama dayalı bir yerleştirmedir.
Yukarıda açıklanan modeller dil modelleri olsa da bağlamsal yerleştirmeler, resimler gibi diğer üretken görevlerde faydalıdır. Bir atın fotoğrafındaki piksel RGB değerlerinin yerleştirilmesi, her pikseli temsil eden bir konum matrisi ve komşu piksellerin bazı kodlamaları ile birlikte kullanıldığında modele, bağlamsal yerleştirmeler oluşturarak yalnızca RGB değerlerinin orijinal statik yerleştirmelerinden daha fazla bilgi sağlar.