Makine şunları öğrenmiyor: LSTM / RNN'deki Dikkat mekanizmasını anlama

Makine www.jqbxx.com'u öğrenmiyor: Derin toplu makine öğrenimi, derin öğrenme algoritmaları ve teknik mücadele

Şu anda Encode-Decode yapısını benimseyen model çok popüler, çünkü birçok alanda diğer geleneksel model yöntemlerinden daha iyi sonuçlar elde etti. Bu yapıya sahip bir model, genellikle girdi dizisini sabit uzunlukta bir vektör gösterimine kodlar Kısa uzunluklu bir girdi dizisi için, model karşılık gelen makul bir vektör gösterimini öğrenebilir. Ancak bu modelle ilgili sorunlar şunlardır: Giriş dizisi çok uzun olduğunda, modelin makul bir vektör gösterimini öğrenmesi zordur. .

Bu blog yazısında, LSTM / RNN modeline eklenen dikkat mekanizmasının geleneksel kodlayıcı-kod çözücü yapısının sorunlarının üstesinden nasıl geldiğini keşfedeceğiz.

Bu blog gönderisini okuyarak şunları öğreneceksiniz:

  • Geleneksel kodlayıcı-kod çözücü yapısındaki sorunlar ve giriş dizisinin sabit bir vektör gösterimine nasıl kodlanacağı;
  • Dikkat mekanizması yukarıdaki sorunların üstesinden nasıl gelir ve model çıktı olduğunda çıktı ile girdi dizisi arasındaki her bir ilişkinin nasıl ele alınacağı;
  • Dikkat mekanizmasına dayalı LSTM / RNN modelinin beş uygulama alanı: makine çevirisi, görüntü açıklaması, anlamsal çıkarım, konuşma tanıma ve metin özetleme.

Öğrenmeye başlayalım.

Uzun giriş dizilerinin neden olduğu sorunlar

Geleneksel kodlayıcı-kod çözücüyü kullanan RNN modeli, ilk olarak giriş dizisini öğrenmek için bazı LSTM birimlerini kullanır ve bunu sabit uzunlukta bir vektör gösterimine kodlar; daha sonra bazı LSTM birimleri, bu vektör gösterimini okumak ve bir çıktı dizisine dönüştürmek için kullanılır.

Bu yapıya sahip model, birçok zor dizi tahmin probleminde (metin çevirisi gibi) en iyi sonuçları elde etmiştir, bu nedenle hızla mevcut ana akım yöntem haline gelmiştir.

Örneğin:

  • Sinir Ağları ile Sıralı Öğrenmeye Geçiş, 2014
  • İstatistiksel Makine Çevirisi için RNN Kodlayıcı-Kod Çözücüyü Kullanan Öbek Gösterimleri Öğrenmek, 2014

Bu yapı birçok alanda da güzel sonuçlar elde etti. Ancak bir sorunu var: Giriş dizisi, uzunluğuna bakılmaksızın sabit uzunlukta bir vektör gösterimine kodlanacaktır ve kod çözme, sabit uzunlukta vektör gösterimi ile sınırlıdır .

Bu sorun, özellikle modelin performansını sınırlar Giriş sırası nispeten uzun olduğunda, modelin performansı çok zayıf olacaktır. (Metin çevirisi görevinde, çevrilecek orijinal metnin uzunluğu çok uzun olduğunda çeviri kalitesi düşüktür).

"Potansiyel bir sorun, kodlayıcı-kod çözücü yapısını benimseyen sinir ağı modelinin, giriş dizisindeki gerekli bilgileri sabit uzunlukta bir vektör olarak temsil etmesi gerektiğidir ve giriş dizisi çok uzun olduğunda gerekli tüm bilgileri saklamak zordur (çünkü Çok fazla), özellikle giriş sırasının uzunluğu eğitim veri setindekinden daha uzun olduğunda. "

- Dzmitry Bahdanau, et al., Hizalama ve çevirmeyi ortaklaşa öğrenerek nöral makine çevirisi, 2015

Dikkat mekanizmasını kullanın

Dikkat mekanizmasının temel fikri şudur: Kodlama ve kod çözme sırasında dahili bir sabit uzunluklu vektöre dayanan geleneksel kodlayıcı-kod çözücü yapısını kırmak .

Dikkat mekanizmasının gerçekleştirilmesi Giriş dizisi üzerinde LSTM kodlayıcının ara çıktı sonuçlarını tutup ardından bu girdileri seçmeli olarak öğrenmek ve model çıktığında çıktı dizisini onunla ilişkilendirmek için bir model eğiterek .

Başka bir perspektiften, çıktı sırasındaki her bir öğenin üretme olasılığı, girdi sırasında hangi öğelerin seçildiğine bağlıdır.

"Metin çevirisi görevinde, dikkat mekanizmasını kullanan model, bir kelime oluşturduğu her seferinde giriş sırasındaki en alakalı kelime kümesini bulacaktır. Daha sonra model, mevcut bağlam vektörlerini ve önceden oluşturulmuş olanların tümünü kullanacaktır. Sonraki hedef kelimeyi tahmin etmek için kelime.

Giriş dizisini bir vektör dizisine dönüştürür ve uyarlamalı olarak hedef çeviri metninin kodunu çözmek için ondan bir alt küme seçer. Metin çevirisi için bir sinir ağı modelinin, girdi metninin uzunluğuna bakılmaksızın, girdi metnindeki tüm bilgileri sabit uzunlukta bir vektöre "sıkıştırması" gerektiği gibi geliyor. "

- Dzmitry Bahdanau, et al., Hizalama ve çevirmeyi ortaklaşa öğrenerek nöral makine çevirisi, 2015

Model dikkat mekanizmasını kullandıktan sonra hesaplama miktarını artıracak olsa da performans seviyesi iyileştirilebilir. Ek olarak, dikkat mekanizması, girdi dizisindeki bilgilerin, model çıktı işlemi sırasında üretilen son diziyi nasıl etkilediğinin anlaşılmasını kolaylaştırmak için kullanılır. Bu, modelin dahili işleyişini daha iyi anlamamıza ve bazı belirli girdi-çıktılarda hata ayıklamamıza yardımcı olur.

"Makalede önerilen yöntem, üretilen sıradaki her kelime ile giriş sırasındaki bazı kelimeler arasındaki hizalama ilişkisini sezgisel olarak gözlemleyebilir. Bu, ek açıklamalar ağırlık parametrelerini görselleştirerek elde edilebilir ... Her bir şekildeki matrisin her satırı temsil edilir. Ek açıklamayla ilişkili ağırlık. Buradan, hedef kelimeyi oluştururken, kaynak cümledeki konum bilgilerinin daha önemli kabul edileceğini görebiliriz. "

- Dzmitry Bahdanau, et al., Hizalama ve çevirmeyi ortaklaşa öğrenerek nöral makine çevirisi, 2015

Büyük görüntülerin neden olduğu sorunlar

Bilgisayarla görme alanında yaygın olarak kullanılan evrişimli sinir ağı modeli de benzer problemlere sahiptir: Özellikle büyük görüntü girdisi için modelin öğrenilmesi zordur.

Bu nedenle, sezgisel bir yöntem, model tahminlerde bulunmadan önce büyük resimlerin bazı yaklaşık temsillerini gerçekleştirmektir.

"İnsan algısının önemli bir özelliği, tüm harici girdileri anında işlememesidir. Aksine, insanlar gerekli bilgileri elde etmek için seçilen kısma odaklanacak ve ardından oluşturmak için farklı zaman dilimlerine ait yerel bilgileri birleştireceklerdir. Göz küresinin hareketine rehberlik etmek ve kararlar vermek için sahnenin dahili bir temsili. "

- Tekrarlayan Görsel Dikkat Modelleri, 2014

Bir dereceye kadar, bu sezgisel yöntemin dikkati dikkate aldığı düşünülebilir, ancak bu blog yazısında, bu yöntemin dikkat mekanizmasına dayandığı düşünülmemektedir.

Dikkat mekanizmasına dayalı ilgili makaleler aşağıdaki gibidir:

  • Tekrarlayan Görsel Dikkat Modelleri, 2014
  • ÇİZİM: Görüntü Üretimi İçin Tekrarlayan Bir Sinir Ağı, 2014
  • Görsel Dikkatle Çoklu Nesne Tanıma, 2014

Dikkat modeline dayalı uygulama örnekleri

Bu bölüm, birkaç özel uygulama örneğini listeleyecek ve dikkat mekanizmasının dizi tahmini için LSTM / RNN modelinde nasıl kullanıldığını tanıtacaktır.

1. Metin çeviri görevlerinde Dikkatin Uygulanması

Metin çevirisi örneğinden daha önce bahsedilmişti.

Giriş dizisi olarak Fransızca bir cümle verildiğinde, İngilizceye çevrilen cümlenin çıkarılması gerekir. Dikkat mekanizması çıktı dizisindeki her kelimeyi çıkarmak için kullanıldığında, girdi sıralamasında daha önemli olduğu düşünülen bazı kelimelere odaklanacaktır.

Orijinal kodlayıcı-kod çözücü modelini, girdi içeriğini aramak için bir modele sahip olacak şekilde geliştirdik, bu da hedef kelimeyi oluştururken bunu yapacak bir kodlayıcı olacağı anlamına geliyor. Bu, önceki modelin tüm girdi dizisini sabit uzunlukta bir vektöre zorla kodlamaya dayalı olduğu sınırlamasını ortadan kaldırır ve ayrıca modelin sonraki hedef sözcüğü oluştururken girdideki ilgili bilgilere odaklanmasına izin verir.

- Dzmitry Bahdanau, et al., Hizalama ve çevirmeyi ortaklaşa öğrenerek nöral makine çevirisi, 2015

Metin çeviri görevlerinde Dikkatin görselleştirilmesi (giriş Fransızca metin dizisi, çıktı İngilizce metin dizisidir) (Dzmitry Bahdanau, ve diğerleri tarafından sağlanan resim, hizalamayı ve çevirmeyi birlikte öğrenerek sinirsel makine çevirisi, 2015)

2. Resim Açıklamada Dikkat Uygulaması

Önceki sezgisel yöntemden farklı olarak, dizi oluşturmaya dayalı dikkat mekanizması, evrişimli sinir ağlarının ilgili diziyi oluşturmak için resmin bazı yerel bilgilerine odaklanmasına yardımcı olmak için bilgisayarla görme ile ilgili görevlere uygulanabilir. Resim metin olarak anlatılmıştır.

Giriş olarak bir resim verildiğinde, karşılık gelen İngilizce metin açıklamasını çıkarın. Dikkat mekanizması, çıktı dizisindeki her kelimeyi çıkarırken resimdeki farklı yerel bilgilere odaklanmak için kullanılır.

3 standart veri setinde en iyi sonuçları elde eden dikkati temel alan bir yöntem öneriyoruz ... Aynı zamanda, dikkat mekanizmasının model oluşturma sürecini ve model tarafından öğrenilen hizalamayı daha iyi anlamamıza yardımcı olabileceğini gösteriyor. İlişki, insanın sezgisel bilişine çok yakındır (aşağıda gösterildiği gibi).

- Göster, Katıl ve Söyle: Görsel Dikkatle Nöral Resim Yazısı Üretimi, 2016

Resim açıklama görevinde Dikkatin görselleştirilmesi (girdi bir resimdir, çıktı bir açıklama metnidir) (Attend and Tell'ten resim: Görsel Dikkatle Nöral Görüntü Altyazısı Oluşturma, 2016)

3. Anlamsal Çıkarımda Dikkatin Uygulanması (Girişim)

İngilizce'de girdi olarak tanımlanan bir önerme ve hipotez verildiğinde, hipotez ile öncülün çelişkili, ilgili veya geçerli olup olmadığına ilişkin çıktı.

Örneğin:

Öncül : Düğünde fotoğraf çekmek

Hipotez : Biri evli

Bu örnekteki varsayım doğrudur.

Dikkat mekanizması, metinler arasındaki kelimeden kelimeye ilişkiyi tanımlamak için hipotezleri ve önermeleri ilişkilendirmek için kullanılır.

Her bir giriş metninin bağımsız olarak bir anlamsal vektör olarak kodlandığı modelden farklı olan LSTM'ye dayalı bir sinir ağı modeli öneriyoruz.Model, öncül ve hipotez tarafından açıklanan metin dizisini aynı anda okur ve hipotezin doğru olup olmadığına karar verir. . Hipotezdeki sözcükler / tümcecikler ile öncül metin arasındaki uyumu bulmak için modele bir dikkat mekanizması ekledik. ... Dikkat mekanizmasının eklenmesi, mevcut veri setinden elde edilen en iyi sonuç olan deneysel sonuçlarda modeli 2,6 puan iyileştirebilir ...

- Sinirsel Dikkatle Karışıklık Üzerine Muhakeme, 2016

Dikkatin semantik çıkarım görevlerinde görselleştirilmesi (girdi öncül metindir, çıktı varsayımsal metindir) (Sinirsel Dikkatle Düşünme hakkında Akıl Yürütme, 2016)

4. Konuşma Tanımada Dikkatin Uygulanması

Giriş olarak bir İngilizce konuşma bölümü verildiğinde, karşılık gelen ses birimi dizisini çıktı olarak verin.

Dikkat mekanizması, çıktı dizisindeki her bir ses birimini giriş konuşma dizisindeki bazı özel çerçevelerle ilişkilendirmek için kullanılır.

Kodlama için giriş dizisindeki bir sonraki konumu seçmek için metin içeriğini ve konum bilgisini birleştirebilen, dikkat mekanizmasına dayalı uçtan uca eğitilebilir bir konuşma tanıma modeli. Bu modelin bir avantajı, eğitim verilerinden çok daha uzun olan konuşma girdilerini tanıyabilmesidir.

- Konuşma Tanıma için Dikkat Temelli Modeller, 2015.

Dikkatin konuşma tanıma görevlerinde görselleştirilmesi (girdi ses çerçevesi, çıktı sesbiriminin konumudur) (Konuşma Tanıma için Dikkat Temelli Modellerden resim, 2015)

5. Metin Özetinde Dikkatin Uygulanması

Giriş dizisi olarak İngilizce bir makale verildiğinde, karşılık gelen bir özet dizisi çıktılayın.

Çıktı özetindeki her kelimeyi girdideki bazı belirli kelimelerle ilişkilendirmek için dikkat mekanizması kullanılır.

Sinir ağı çeviri modellerinin son gelişmelerine dayanarak, özet görevler oluşturmak için dikkat temelli bir sinir ağı modeli önerilmiştir. Bu olasılık modeli, doğru bir özet oluşturmak için üretici bir yöntemle birleştirilir.

- Soyut Cümle Özetleme için Sinirsel Dikkat Modeli, 2015

Dikkatin metin özetleme görevinde görselleştirilmesi (girdi bir makaledir, çıktı bir metin özetidir) (Soyut Cümle Özetleme için Sinirsel Dikkat Modelinden resim, 2015)

daha fazla okuma

Dikkat mekanizmasını LSTM / RNN modeline nasıl ekleyeceğiniz hakkında daha fazla bilgi edinmek istiyorsanız, aşağıdaki kağıtları okuyabilirsiniz:

  • Derin öğrenme ve NLP'de dikkat ve hafıza
  • Dikkat Mekanizması
  • NLP'de Uygulanan Dikkat Temelli Modeller Üzerine Araştırma
  • RNN'ye getirilen dikkat mekanizması tam olarak nedir? (Quora'dan)
  • Sinir Ağlarında Dikkat Mekanizması Nedir?

Şu anda Keras, dikkat modelinin kodunu resmi olarak ayrı olarak yayınlamadı. İşte bazı üçüncü taraf uygulamaları:

  • Keras kullanarak Soru Cevaplamak için Derin Dil Modellemesi
  • Dikkat Modeli Mevcuttur!
  • Keras Dikkat Mekanizması
  • Dikkat ve Arttırılmış Tekrarlayan Sinir Ağları
  • Tekrarlayan Katmanın (Metin Sınıflandırması) Üstüne Dikkat Ekleme
  • Dikkat Mekanizması Uygulama Sorunu
  • Basit sinirsel dikkat modelinin uygulanması (yastıklı girdiler için)
  • Dikkat katmanı başka bir PR gerektirir
  • seq2seq kitaplığı

sonuç olarak

Bu blog gönderisiyle, sıra tahmini sorunlarını çözmek için dikkat mekanizmasının LSTM / RNN modeline nasıl uygulandığını öğrenmelisiniz.

Spesifik olarak, geleneksel kodlayıcı-kod çözücü yapısını kullanan LSTM / RNN modelinin bir sorunu vardır: girişin uzunluğuna bakılmaksızın, modelin uzun giriş dizileri için öğrenme etkisini çok zayıf hale getiren sabit uzunlukta vektör temsiline kodlanır (kod çözme Etkisi çok zayıf). Dikkat mekanizması yukarıdaki problemlerin üstesinden gelir Prensip, model çıktı olduğunda girdideki ilgili bilgiye seçici olarak odaklanmaktır. Dikkat mekanizmasını kullanma yöntemi, metin çevirisi ve konuşma tanıma dahil olmak üzere çeşitli dizi tahmin görevlerinde yaygın olarak kullanılmaktadır.

Yeniden basıldı:

Tek başına oyun oynamak daha iyidir, i36100 + GTX1050 konfigürasyon ekranı
önceki
Bugünün stadyum botlarının takdiri: George, PG2.5 giyiyor ve irfanını vuruyor
Sonraki
Okuma: Milli antrenman takımının yapısı profesyonel lige tamamen güvenmiyor
Makine öğrenmiyor: derin öğrenme sinir modülü ağı ve çıkarım öğrenme
Makine öğrenmiyor: Varlık tanıma ve ilişki çıkarmada derin öğrenme uygulamasının analizi
Her yerde ışıklar var, MSInın anakart hayali iyi bir ışık fabrikası olmak gibi görünüyor
Ma Huateng, Tencent'in büyük isimlerini Apple genel merkezine getirdi ve verdikleri hediyeler parlaktı.
Sadece iki yıl içinde ilk üç Çin İnternet markası arasında yer aldı! 360 cep telefonlarının büyümesini aydınlatmak
Kullanıcıların yüklemesi için iyi bir seçim, Toshiba A100240G katı hal sürücü deneyimi
Makine öğrenmiyor: CNN + RNN, iki tanrı, sonsuz güç, en iyi NN modeline giriş
Keyifli mutfağa aşık olun, Jinzheng entegre duman sobası kombinasyonu
Ağlamaktan korkuyorsanız izlemeyin, bu Kuzey driftçiler için gerçek Fener Festivali!
Siyah beyaz cep telefonlarından başlayarak bilgi talebimiz hiç azalmadı
Bu King Sky, Titan I767001080 oyun konsolunun inancıdır
To Top