14.2. Yaklaşık Eğitim¶ Open the notebook in SageMaker Studio Lab
Section 14.1 içindeki tartışmalarımızı hatırlayın. Skip-gram modelinin ana fikri, logaritmik kaybın (14.1.7) tersine karşılık gelen (14.1.4) içinde verilen \(w_c\) merkez sözcüğü bazında bir \(w_o\) bağlam sözcüğü oluşturmanın koşullu olasılığını hesaplamak için softmaks işlemlerini kullanmaktır.
Softmaks işleminin doğası gereği, bir bağlam sözcüğü \(\mathcal{V}\) sözlüğündeki herhangi biri olabileceğinden, (14.1.7) denkleminin tersine, sözcük dağarcığının tüm boyutu kadar olan öğelerin toplamını içerir. Sonuç olarak, (14.1.8) denklemindeki skip-gram modeli için gradyan hesaplamasının ve (14.1.15) denklemindeki sürekli sözcük torba modelinin ikisi de toplamı içerir. Ne yazık ki, büyük bir sözlük üzerinde (genellikle yüz binlerce veya milyonlarca sözcükle) toplamı bu tür gradyanlar için hesaplama maliyeti çok büyüktür!
Yukarıda bahsedilen hesaplama karmaşıklığını azaltmak için, bu bölüm iki yaklaşıklama eğitim yöntemi sunacaktır: Negatif örnekleme ve hiyerarşik softmaks. Skip-gram modeli ile sürekli sözcük torbası modeli arasındaki benzerlik nedeniyle, bu iki yaklaşıklama eğitim yöntemini tanımlamak için skip-gram modelini örnek olarak alacağız.
14.2.1. Negatif Örnekleme¶
Negatif örnekleme, orijinal amaç işlevini değiştirir. Bir \(w_c\) merkez sözcüğünün bağlam penceresi göz önüne alındığında, herhangi bir \(w_o\) (bağlam) sözcüğünün bu bağlam penceresinden gelmesi olayı olasılığı olarak modellenir:
burada \(\sigma\) ile sigmoid etkinleştirme fonksiyonunun tanımı kullanılır:
Sözcük gömmeyi eğitmek için metin dizilerindeki tüm bu olayların bileşik olasılığını en üst düzeye çıkararak başlayalım. Özellikle, \(T\) uzunluğunda bir metin dizisi göz önüne alındığında, \(t\) zaman adımındaki sözcüğü \(w^{(t)}\) ile belirtin ve bağlam penceresi boyutunun \(m\) olmasına izin verin, bileşik olasılığın en üst değere çıkarılmasını düşünün:
Ancak, (14.2.3) yalnızca olumlu örnekler içeren olayları dikkate alır. Sonuç olarak, (14.2.3) içindeki bileşik olasılık, yalnızca tüm kelime vektörleri sonsuza eşitse 1’e maksimize edilir. Tabii ki, bu tür sonuçlar anlamsızdır. Amaç işlevini daha anlamlı hale getirmek için negatif örnekleme, önceden tanımlanmış bir dağılımdan örneklenen negatif örnekler ekler.
\(w_o\) bağlam kelimesinin bir merkez \(w_c\) kelimesinin bağlam penceresinden gelmesi olayını \(S\) ile belirtin. \(w_o\) içeren bu olay için, önceden tanımlanmış bir \(P(w)\) dağılımından, bu bağlam penceresinden olmayan \(K\) gürültü sözcüklerini örnekler. \(w_k\) (\(k=1, \ldots, K\)) gürültü sözcüğünün \(w_c\) bağlam penceresinden gelmeme olayını \(N_k\) ile belirtin. Hem olumlu hem de olumsuz örnekleri içeren bu olayların, \(S, N_1, \ldots, N_K\), karşılıklı dışlanan olaylar olduğunu varsayın. (14.2.3) denklemindeki negatif örnekleme, bileşik olasılığı (sadece olumlu örnekler içeren) aşağıdaki gibi yeniden yazar:
\(S, N_1, \ldots, N_K\) olayları aracılığıyla koşullu olasılık şöyle yaklaşıklanır:
Sırasıyla, bir metin dizisinin \(t\) adımında \(w^{(t)}\) sözcüğünün ve bir gürültü \(w_k\) sözcüğünün indekslerini \(i_t\) ve \(h_k\) ile gösterin. (14.2.5)’teki koşullu olasılıklara göre logaritmik kayıp şöyledir:
Artık her eğitim adımındaki gradyanlar için hesaplama maliyetinin sözlük boyutuyla ilgisi olmadığını, ancak doğrusal olarak \(K\)’ya bağlı olduğunu görebiliyoruz. Hiper parametre \(K\)’yı daha küçük bir değere ayarlarken, negatif örnekleme ile her eğitim adımındaki gradyanlar için hesaplama maliyeti daha küçüktür.
14.2.2. Hiyerarşik Softmaks¶
Alternatif bir yaklaşıklama eğitimi yöntemi olarak, hiyerarşik softmaks ikili ağacı kullanır ve bu veri yapısı Fig. 14.2.1 içinde gösterilen bir veri yapısıdır; burada ağacın her bir yaprak düğümü \(\mathcal{V}\) sözlüğünde bir sözcüğü temsil eder.
Fig. 14.2.1 Ağacın her yaprak düğümünün sözlükte bir kelimeyi temsil ettiği yaklaşıklama eğitimi için hiyerarşik softmaks.¶
İkili ağaçtaki \(w\) kelimesini temsil eden kök düğümden yaprak düğüme giden yoldaki düğümlerin sayısını (her iki uç dahil) \(L(w)\) ile belirtin. \(n(w,j)\), bağlam kelime vektörü \(\mathbf{u}_{n(w, j)}\) olacak şekilde, bu yoldaki \(j.\) düğüm olsun. Örneğin, Fig. 14.2.1 içinde \(L(w_3) = 4\) olsun. (14.1.4) denklemindeki koşullu olasılık hiyerarşik softmaks ile yaklaşıklanır:
\(\sigma\) işlevi (14.2.2) denleminde tanımlanır ve \(\text{leftChild}(n)\), \(n\) düğümünün sol alt düğümüdür: \(x\) doğruysa, \([\![x]\!] = 1\); aksi halde \([\![x]\!] = -1\).
Göstermek için, Fig. 14.2.1 içinde \(w_c\) sözcüğü verildiğinde \(w_3\) sözcüğünü üretme koşullu olasılığını hesaplayalım. Bu, \(w_c\) arasında \(\mathbf{v}_c\) sözcük vektörü ve yaprak olmayan düğüm vektörleri arasında nokta çarpımlarını gerektirir (Fig. 14.2.1 içindeki kalın yol), kökten \(w_3\)’e kadar sola, sağa, sonra sola ilerler:
\(\sigma(x)+\sigma(-x) = 1\) olduğundan, \(\mathcal{V}\) sözlüğündeki tüm sözcükleri herhangi bir \(w_c\) sözcüğüne dayalı olarak üretmenin koşullu olasılıklarının toplamının 1 olduğunu tutar:
Neyse ki, \(L(w_o)-1\) ikili ağaç yapısı nedeniyle \(\mathcal{O}(\text{log}_2|\mathcal{V}|)\) düzeyinde olduğundan, sözlük boyutu \(\mathcal{V}\) çok büyüktür, hiyerarşik softmaks kullanan her eğitim adımının hesaplama maliyeti, yaklaşıklama eğitimi olmadan yapılana kıyasla önemli ölçüde azalır.
14.2.3. Özet¶
Negatif örnekleme, hem pozitif hem de negatif örnekler içeren karşılıklı dışlanan olayları göz önünde bulundurarak kayıp işlevini oluşturur. Eğitim için hesaplama maliyeti doğrusal olarak her adımdaki gürültü sözcüklerinin sayısına bağlıdır.
Hiyerarşik softmaks, kök düğümünden ikili ağacın yaprak düğümüne giden yolu kullanarak kayıp işlevini oluşturur. Eğitim için hesaplama maliyeti, her adımdaki sözlük boyutunun logaritmasına bağlıdır.