ELMo

Mehmet Haliloglu
6 min readAug 22, 2020

--

Merhaba arkadaşlar,

Doğal Dil İşleme’de son zamanlarda popülerlik haline gelen BERT, ELMo ve BiDAF modüllerin makalaleleri için özet yazdım. Önceki özet yazımda BERT’i inceledik, bu özet yazımda ise ELMo’yu inceleyeceğiz.

ELMo(Embeddings from Language Model), bir dil modelini denetimsiz bir şekilde önceden eğiterek bağlamsallaştırılmış kelime temsilini öğrenir .

Özet

ELMo, hem kelime kullanımının karmaşık özelliklerini (örneğin, sözdizimi ve anlambilim) hem de bu kullanımların dilbilimsel bağlamlar arasında nasıl değiştiğini modelleyen derin bağlamsal bir kelime temsilidir. Bu kelime vektörleri, büyük bir metin yapısı üzerinde önceden eğitilmiş derin bir çift yönlü dil modelinin (deep bidirectional language model) iç durumlarının öğrenilmiş işlevleridir. Mevcut modellere kolayca eklenebilirler ve soru cevaplama, metinsel düzenleme ve duyarlılık analizi dahil olmak üzere çok çeşitli zorlu NLP problemlerinde son teknolojiyi önemli ölçüde iyileştirebilirler.

Giriş

Büyük bir metin yapısı üzerinde bağlı bir dil modeli hedefi ile eğitilmiş çift yönlü bir LSTM’den türetilmiş vektörleri kullanırlar. Bu nedenle onlara ELMo temsilciliği diyorlar. Bağlamsallaştırılmış kelime vektörlerini öğrenmek için önceki yaklaşımların aksine, ELMo temsilleri, biLM’nin tüm iç katmanlarının bir işlevi olmaları anlamında derindir. Daha spesifik olarak, her bir son görev için her bir giriş kelimesinin üzerine yığılmış vektörlerin doğrusal bir kombinasyonunu öğrenirler ve bu, yalnızca en üst LSTM katmanını kullanmaya kıyasla performansı önemli ölçüde artırır.

Not: LSTM için bu sayfaya bakmanızı şiddetle öneririm.

ELMo temsilleri şunlardır:

  • Bağlamsal(Contextual) : Her kelimenin temsili, kullanıldığı bağlamın tamamına bağlıdır.
  • Derin(Deep) : Kelime temsilleri, önceden eğitilmiş derin bir sinir ağının tüm katmanlarını birleştirir.
  • Karakter tabanlı(Character based): ELMo gösterimleri tamamen karakter temellidir ve ağın eğitimde görülmeyen kelime dağarcığı belirteçleri için sağlam temsiller oluşturmak üzere morfolojik ipuçları kullanmasına izin verir.

Büyük ölçekli etiketlenmemiş metinden kelimelerin sözdizimsel ve anlamsal bilgilerini yakalama yeteneklerinden dolayı, önceden eğitilmiş kelime vektörleri, soru yanıtlama, metinsel düzenleme ve anlamsal rol etiketleme dahil olmak üzere en son teknoloji ürünü NLP mimarilerinin standart bir bileşenidir. Bununla birlikte, kelime vektörlerini öğrenmeye yönelik bu yaklaşımlar, her kelime için yalnızca tek bir bağlamdan bağımsız temsile izin verir.

Ayrıca, karakter evrişimi aracılığıyla alt kelime birimlerini kullanır ve önceden tanımlanmış duyu sınıflarını tahmin etmek için eğitim almadan çok yönlü bilgileri aşağı akış görevlerine sorunsuz bir şekilde dahil eder.

ELMo(EMBEDDINGS FROM LANGUAGE MODELS)

En yaygın olarak kullanılan kelime gömmelerinin(embedding) aksine, ELMo kelime gösterimleri tüm girdi cümlesinin işlevleridir. Dahili ağ durumlarının doğrusal bir işlevi olarak, karakter evrişimli iki katmanlı biLM’lerin üstünde hesaplanırlar.

Çift yönlü dil modelleri(biLM)

ELMo’nun biLSTM temel modeli.

Dil modeli, geçmişe göre bir sonraki tokenin olasılığını tahmin etmeyi öğrenir.

İleri geçişte, geçmiş hedef tokenden önceki kelimeleri içerir.

Geriye doğru geçişte, geçmiş, hedef tokenden sonraki kelimeleri içerir.

Her iki yöndeki tahminler, gizli durumlara sahip çok katmanlı LSTM’ler tarafından modellenmiştir. Son katmanın gizli durumu, softmax normalleştirmesinden sonra olasılıkları belirteçler üzerinden çıkarmak için kullanılır.

Model, her iki yönde de negatif likelihood olasılığını en aza indirmek (gerçek kelimeler için likelihood olasılığını en üst düzeye çıkarmak) için eğitilmiştir.

Değerlendirme

ELMo’nun çok çeşitlik zorlu NLP problemlerinde son teknolojiyi önemli ölçüde iyileştirebildiğini söylemiştik. Şimdi bu problemlere bakalım ;

ELMo geliştirilmiş nöral modellerin, altı kıyaslama NLP görevinde son teknoloji ürünü tek model taban çizgileri ile test seti karşılaştırması.

Soru cevaplama(Question answering): Çift yönlü dikkat bileşeninden sonra bir öz-ilgi(self-attention) katmanı ekler, bazı işlemleri basitleştirir ve LSTM’leri kapılı tekrarlayan birimlerle değiştirir. Temel modele ELMo ekledikten sonra, test seti F1 doğruluğu %4.7 artarak %81.1'den %85.8'e, taban çizgisine(baseline) göre %24.9 göreceli hata azalması(relative error reduction) ve genel tek model son teknolojiyi %1.4 iyileştirdi.

Metinsel karmaşıklık(Textual entailment): Metinsel karmaşıklık, bir “öncül(premise)” verildiğinde bir “hipotez” in doğru olup olmadığını belirleme görevidir. Stanford Natural Language Inference (SNLI) corpus, yaklaşık 550K hipotez / öncül çifti sağlar. ESIM dizi modeli olan temel çizgi, öncül ve hipotezi kodlamak için bir biLSTM kullanır, ardından bir matris dikkat katmanı, bir yerel çıkarım katmanı, başka bir biLSTM çıkarım oluşturma katmanı ve son olarak çıktı katmanından önce bir ortaklama işlemi izler. Genel olarak, ESIM modeline ELMo eklemek, beş random seed doğruluğu ortalama %0,7 oranında artırır.

Anlamsal rol etiketleme(Semantic role labeling): Anlamsal rol etiketleme (SRL) sistemi, bir cümlenin yüklem-argüman yapısını modeller ve genellikle “Kim kime ne yaptı” yanıtını verirken tanımlanır. İleri ve geri yönleri serpiştirilmiş 8 katmanlı derin biLSTM kullanılır. Tek model test seti F1 %3.2 artışla %81.4'ten %84.6'ya yükseldi.

Coreference resolution: Coreference resolution aynı temeldeki gerçek dünya varlıklarına atıfta bulunan metindeki ifadeleri kümeleme görevidir. Temel model, uçtan uca açıklığa dayalı sinir modelidir. İlk olarak açıklık gösterimlerini hesaplamak için bir biLSTM ve dikkat mekanizması kullanır ve ardından çekirdek referans zincirlerini bulmak için bir softmax bahsetme sıralama modeli uygular.

İsimli varlık çıkarma(Named entity extraction): Dört farklı varlık türü ile etiketlenmiş haber kodlarından oluşur. Temel model, önceden eğitilmiş kelime ekleri, karakter tabanlı bir CNN gösterimi, iki kat biLSTM ve bir koşullu rastgele alan (conditional random field(CRF)) kaybı kullanır. ELMo ile geliştirilmiş biLSTMCRF, beş çalışmada ortalama olarak% 92,22 F1 elde etti.

Duygu analizi(Sentiment analysis):Hassas duyarlılık sınıflandırma görevi, bir film incelemesindeki bir cümleyi tanımlamak için beş etiketten birini (çok olumsuzdan çok olumluya) seçmeyi içerir. Cümleler, deyimler gibi çeşitli dil fenomenleri ve modellerin öğrenmesi zor olan olumsuzluklar gibi karmaşık sözdizimsel yapılar içerir. BCN modelinde CoVe’nin ELMo ile değiştirilmesi, son teknolojiye göre% 1.0 mutlak doğruluk artışı sağlar.

ANALİZ

Alternatif katman ağırlıklandırma şemaları

λ = 1 gibi büyük değerler, ağırlıklandırma fonksiyonunu katmanlar üzerinde basit bir ortalamaya etkili bir şekilde düşürürken, daha küçük değerler (örn., λ = 0.001) katman ağırlıklarının değişmesine izin verdiğinden, λ düzenlenmesi parametresinin seçimi önemlidir.

SQuAD(Stanford question answering dataset) söz konusu olduğunda, yalnızca son biLM katmanının kullanılması, F1 geliştirmesini taban çizgisine göre %3,9 oranında iyileştirir. Yalnızca son katmanı kullanmak yerine tüm biLM katmanlarının ortalamasını almak, F1'i %0,3 daha iyileştirir (“Yalnızca Son” ile λ = 1 sütunlarını karşılaştırarak) ve görev modelinin bireysel katman ağırlıklarını öğrenmesine izin vermek, F1'i %0,2 daha iyileştirir (λ = 1'e karşı λ = 0.001). ELMo ile çoğu durumda küçük bir λ tercih edilir, ancak daha küçük bir eğitim setine sahip bir görev olan NER için sonuçlar λ’ya duyarsızdır.

BiLM’nin beyanları hangi bilgileri yakalar?

ELMo’nun eklenmesi, yalnızca kelime vektörlerine göre görev performansını iyileştirdiği için, biLM’nin bağlamsal temsillerinin, kelime vektörlerinde yakalanmayan NLP görevleri için genellikle yararlı olan bilgileri kodlaması gerekir. Sezgisel olarak, biLM, bağlamlarını kullanarak kelimelerin anlamını belirsizleştiriyor olmalıdır.

Kelime anlamındaki belirsizliği giderme: Bir cümle verildiğinde, basit bir
1-en yakın komşu yaklaşımı kullanarak bir hedef kelimenin anlamını tahmin etmek için biLM temsillerini kullanabiliriz. Bunu yapmak için, önce eğitim corpusu olan SemCor 3.0'daki tüm kelimelerin temsillerini hesaplamak için biLM’yi kullanırız ve ardından her anlam için ortalama gösterimi alırız. Test zamanında, belirli bir hedef kelime için temsilleri hesaplamak ve eğitim setinden en yakın komşu anlamını almak için biLM’yi tekrar kullanırız, eğitim sırasında gözlemlenmeyen sözcükler için WordNet’ten ilk anlama geri döneriz.

Denetlenen görev için çıkarımlar: Birlikte ele alındığında, bu deneyler biLM’deki farklı katmanların farklı bilgi türlerini temsil ettiğini onaylar ve tüm biLM katmanlarını dahil etmenin aşağı akış görevlerinde en yüksek performans için neden önemli olduğunu açıklar. Ek olarak, biLM’nin temsilleri, CoVe’dekinden daha WSD ve POS etiketlemeye aktarılabilir ve bu da ELMo’nun aşağı akış görevlerinde neden CoVe’den daha iyi performans gösterdiğini göstermeye yardımcı olur.

Örnek Verimliliği

Bir modele ELMo eklemek, hem son teknoloji performansa ulaşmak için parametre güncellemelerinin sayısı hem de genel eğitim seti boyutu açısından örnek verimliliğini önemli ölçüde artırır.

ELMo ile geliştirilmiş modeller, ELMo içermeyen modellere göre daha küçük eğitim setlerini daha verimli kullanır. ELMo ile yapılan iyileştirmeler, daha küçük eğitim setleri için en büyük düzeydedir ve belirli bir performans düzeyine ulaşmak için gereken eğitim verisi miktarını önemli ölçüde azaltır. SRL durumunda, eğitim setinin %1'ine sahip ELMo modeli, eğitim setinin %10'una sahip temel modelle yaklaşık aynı F1'e sahiptir.

Eğitim seti boyutu %0.1 ile %100 arasında değiştiğinden, SNLI ve SRL için Baseline ve ELMo performansının karşılaştırılması.

Referans

NOT: Bir sonraki BiDAF özet yazıma buradan ulaşabilirsiniz.

Bu yazıyı yazmama vesile olan, başta Ahmet Melek olmak üzere tüm PragmaCraft’a teşekkür ediyorum. :)

--

--