BiDAF

Mehmet Haliloglu
4 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ılarımda BERT ve ELMo’yu inceledik, bu özet yazımda ise BiDAF(BI-DIRECTIONAL ATTENTION FLOW)’ı inceleyeceğiz.

Özet

Belirli bir bağlam paragrafı hakkındaki bir sorguyu yanıtlayarak, makineyi anlama konusundaki dikkat mekanizmasını geliştirir.

  • Makine kavrama (MC) ve soru yanıtlama (QA), son birkaç yılda önemli bir popülerlik kazanmıştır.
  • İlerlemenin temel faktörlerinden biri, sistemin soruyu yanıtlamak için en uygun olan bağlam paragrafı veya bir görüntü içindeki hedeflenen alana odaklanmasını sağlayan sinirsel dikkat mekanizmasının kullanılmasıdır.
  • Hesaplanan dikkat ağırlıkları, bağlamı sabit boyutlu bir vektörde özetleyerek soruyu yanıtlamak için bağlamdan en alakalı bilgileri çıkarmak için sıklıkla kullanılır.
  • Metin alanında, bunlar genellikle zamansal olarak dinamiktirler, bu nedenle mevcut zaman adımındaki dikkat ağırlıkları, önceki zaman adımında katılan vektörün bir fonksiyonudur.
  • Genellikle tek yönlüdür, burada sorgu bağlam paragrafına veya görüntüye katılır.

Giriş

Bağlam paragrafının temsillerini farklı ayrıntı düzeylerinde modellemek için hiyerarşik bir çok aşamalı mimari olan İki Yönlü Dikkat(attention) Akışı (BIDAF) ağını sunarlar.

BIDAF, karakter seviyesinde, kelime seviyesinde ve bağlamsal yerleştirmeleri içerir ve daha sorgulayıcı bir içerik gösterimi elde etmek için iki yönlü dikkat(attention) akışını kullanır.

Dikkat(attention) katmanı, bağlam paragrafını sabit boyutlu bir vektör halinde özetlemek için kullanılmaz. Bunun yerine, dikkat(attention) her zaman adımı için hesaplanır ve her adımda katılan vektörün, önceki katmanlardan gelen sunumlar ile birlikte sonraki modelleme katmanına akmasına izin verilir. Bu, erken özetlemenin neden olduğu bilgi kaybını azaltır.

İkincisi, hafızasız bir dikkat(attention) mekanizması kullanırlar. Yani, dikkati zaman içinde yinelemeli olarak hesaplarken, her bir zaman adımındaki dikkat, yalnızca geçerli zaman adımındaki sorgu ve bağlam paragrafının bir fonksiyonudur ve önceki zaman adımındaki dikkat doğrudan bağlı değildir. bu basitleştirmenin dikkat katmanı ile modelleme katmanı arasında işbölümüne yol açtığını varsayarlar. Dikkat katmanını, sorgu ve bağlam arasındaki dikkati öğrenmeye odaklanmaya zorlar ve modelleme katmanının, sorguya duyarlı bağlam gösterimi (dikkat katmanının çıktısı) içindeki etkileşimi öğrenmeye odaklanmasını sağlar. Ayrıca her zaman adımında dikkatin önceki zaman adımlarında yanlış katılımlardan etkilenmemesini sağlar. Deneyler, hafızasız dikkatin dinamik dikkat karşısında açık bir avantaj sağladığını gösteriyor.

Birbirlerine tamamlayıcı bilgiler sağlayan dikkat mekanizmalarını her iki yönde, bağlama göre ve bağlamdan sorguya kullanırlar.

MODEL

Altı katmandan oluşur;

  1. Karakter Gömme(Character Embedding) Katmanı, karakter düzeyinde CNN’leri kullanarak her kelimeyi bir vektör uzayına eşler.
  2. Kelime Gömme(Word Embedding) Katmanı, önceden eğitilmiş bir kelime gömme(embedding) modeli kullanarak her kelimeyi bir vektör uzayına eşler. Önceden eğitilmiş kelime vektörlerini, GloVe kullanarak her bir kelimenin sabit kelime gömülmesini elde ederler.
  3. Bağlamsal Gömme(embedding) Katmanı, kelimelerin gömülmesini iyileştirmek için çevreleyen sözcüklerden bağlamsal ipuçlarını kullanır. Bu ilk üç katman hem sorguya hem de bağlama uygulanır.
  4. Dikkat(attention) Akışı Katmanı, sorgu ve bağlam vektörlerini birleştirir ve bağlamdaki her kelime için bir dizi sorgu yazılımı özelliği vektörü oluşturur. Her zaman adımındaki dikkat vektörünün, önceki katmanlardan gelen gömmelerle(embedding) birlikte, sonraki modelleme katmanına akmasına izin verilir. Bu, erken özetlemenin neden olduğu bilgi kaybını azaltır.
  5. Modelleme Katmanı, içeriği taramak için Yinelenen Sinir Ağı(RNN) kullanır.
  6. Çıktı Katmanı, sorguya bir yanıt sağlar.
İki Yönlü Dikkat(attention) Akışı Modeli

İlgili Çalışmalar

Makine Anlayışı

Uçtan uca makine yaklaşımı çalışmaları, dikkat mekanizmalarını üç farklı şekilde kullanır;

  1. Birinci grup dinamik bir dikkat(attention) mekanizması kullanır; burada dikkat(attention) ağırlıkları, önceki dikkatin yanı sıra sorgu ve bağlama göre dinamik olarak güncellenir.
  2. İkinci grup, dikkat(attention) ağırlıklarını bir kez hesaplar ve daha sonra son tahmin için bir çıktı katmanına beslenir. Dikkat-üzerine-dikkat modeli, sorgu-bağlama dikkatinin ağırlıklı ortalamasını hesaplamak için sorgu ve bağlam kelimeleri arasında bir 2D benzerlik matrisi kullanır. Bu modellerin aksine, BIDAF dikkat katmanındaki iki yöntemi özetlemiyor ve bunun yerine dikkat vektörlerinin modelleme katmanına akmasına izin veriyor.
  3. Üçüncü grup (Bellek Ağının varyantları olarak kabul edilir), sorgu ve bağlam arasında, tipik olarak multihop olarak adlandırılan birden çok katman aracılığıyla bir dikkat vektörü hesaplamayı tekrarlar. Atlama sayısını dinamik olarak kontrol etmek için Bellek Ağlarını Güçlendirmeli Öğrenme ile birleştirin. BIDAF modeli birden fazla atlama içerecek şekilde genişletilebilir.

Görsel Soru Cevaplama

Görsel soru cevaplama (VQA) üzerine yapılan ilk çalışmalar, soruyu bir RNN kullanarak kodlamayı, görüntüyü bir CNN kullanarak kodlamayı ve soruyu cevaplamak için bunları birleştirmeyi içeriyordu. Dikkat mekanizmaları da VQA görevi için başarıyla kullanılmıştır. Hibrit bir yaklaşım, soru temsillerini birden çok ayrıntı düzeyinde (unigrams, bigrams, trigrams) birleştirmektir. Dikkat matrisini oluşturmak için eleman bazlı ürün, element bazlı toplam, birleştirme ve Multimodal Compact Bilinear Pooling dahil olmak üzere çeşitli yaklaşımlar kullanılmıştır.

SORU CEVAP DENEYLERİ

SQuAD(Stanford question answering dataset), 100.000'den fazla sorudan oluşan geniş bir Wikipedia makaleleri kümesindeki bir makine anlama veri kümesidir. Her sorunun cevabı her zaman bağlamda bir yayılımdır. Modele, cevabı insan tarafından yazılmış cevaplardan biriyle eşleşiyorsa bir kredi verilir. Modelleri değerlendirmek için iki ölçüm kullanılır: Tam Eşleşme (Exact Match (EM)) ve karakter düzeyinde hassasiyet ve geri çağırma oranının ağırlıklı ortalamasını ölçen daha yumuşak bir metrik olan F1 skoru.

BIDAF, önceki tüm yaklaşımlardan daha iyi performans göstererek 73,3 EM puanı ve 81,1 F1 puanı elde etti.

CLOZE TEST DENEYLERİ

BIDAF, hem değer hem de test verileri için her iki veri kümesinde de önceki tek çalıştırma modellerinden daha iyi performans gösterir. DailyMail testinde, tek çalıştırma modeli en iyi topluluk yönteminden bile daha iyi performans gösterir.

SONUÇ

Makale, bağlamı farklı ayrıntı düzeylerinde temsil eden çok aşamalı bir hiyerarşik süreç olan BIDAF’ı tanıtıyor ve erken özetlemeye gerek kalmadan daha sorgulayıcı bir bağlam gösterimi elde etmek için iki yönlü bir dikkat akışı mekanizması kullanıyor.

Referans

NOT: Bir sonraki BERT vs ELMo-BiDAF 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. :)

--

--