Nöral makine çevirisinin kodlama-kod çözme mimarisinde yeni ilerleme kaydedildi, nasıl yapılandırılmalı?

Lei Feng.com: Bu makalenin orijinal başlığı, Sinirsel Makine Çevirisi için Kodlayıcı-Kod Çözücü Modeli Nasıl Yapılandırılır, Jason Brownlee tarafından yazılmıştır Tam metni Lei Feng'in altyazı ekibi tarafından derlenmiştir.

Tercüme / Cui Yuehui, Ye Yiqing

Redaksiyon / Ye Yiqing

Tekrarlayan sinir ağları için kullanılan kodlama-kod çözme mimarisi, standart makine çevirisi karşılaştırmalarında en son sonuçları elde etti ve endüstriyel çeviri hizmetlerinin çekirdeği olarak kullanılıyor.

Model çok basit, ancak eğitim için gereken büyük miktarda veri ve ayarlama modelindeki sayısız tasarım şeması göz önüne alındığında, en iyi performansı elde etmek çok zor. Neyse ki, araştırma bilim adamları bu işi bizim için yapmak için Google ölçekli donanım kullandılar ve sinir makinesi çevirisi kodlama-kod çözme modellerini yapılandırmak ve genel dizileri tahmin etmek için bir dizi buluşsal yöntem sağladı.

Leifeng.com'dan gelen bu çeviride, sinir makinesi çevirisinde ve diğer doğal dil işleme görevlerinde kodlama-kod çözme tekrarlayan sinir ağının en iyi nasıl yapılandırılacağına dair çeşitli ayrıntılar alacaksınız.

Leifeng.com'un çevirisini okuduktan sonra şunları öğreneceksiniz:

  • Google'ın araştırması, etkilerini izole etmek için çeşitli kodlama-kod çözme modellerinin tasarım şemalarını araştırdı.

  • Kelime gömme, kodlama ve kod çözme derinliği ve dikkat mekanizması gibi bazı tasarım çözümlerine ilişkin sonuçlar ve öneriler.

  • Sıradan diziye projeleriniz için başlangıç noktası olarak kullanılabilecek bir dizi temel model tasarımı.

Hadi başlayalım:

Spor Parkı

Sinir ağı makine çevirisinin kodlama-kod çözme modeli

Yinelenen sinir ağları için kodlama-kod çözme mimarisi, en son sonuçları elde etmek için klasik ifade tabanlı istatistiksel makine çevirisi sisteminin yerini alır.

2016 tarihli "Google'ın Nöral Makine Çeviri Sistemi: İnsan ve Makine Çevirisi Arasındaki Boşluğu Kapatma" başlıklı makalesine göre, Google artık bu yaklaşımı Google çeviri hizmetinin merkezinde kullanıyor.

Bu mimariyle ilgili sorun, modelin büyük olması ve eğitilmesi için çok fazla sayıda veri seti gerektirmesidir. Bu, günler veya haftalar süren ve çok pahalı hesaplama kaynakları gerektiren model eğitiminden etkilenir. Bu nedenle, farklı tasarım seçimlerinin modeller üzerindeki etkisi ve model becerileri üzerindeki etkisi konusunda çok az çalışma yapılmıştır.

Denny Britz ve diğerleri açıkça çözümü verdiler. 2017 tarihli "Nöral makine çeviri sistemlerinin çok sayıda keşfi" başlıklı makalesinde, standart İngilizce-Almanca çeviri görevleri için bir kıyaslama modeli tasarladılar, bir dizi farklı model tasarım seçeneğini sıraladılar ve bunların beceriler üzerindeki etkisini açıkladılar. Denemenin tamamının 250.000'den fazla GPU hesaplama süresi aldığını iddia ediyorlar ki bu en azından etkileyici.

250.000 GPU saatinden fazla standart WMT İngilizce'den Almanca'ya çeviri görevine karşılık gelen yüzlerce deneysel çalışmanın deneysel sonuçlarını ve varyanslarını raporluyoruz. Deneylerimiz, NMT mimarisini kurmak ve genişletmek için yeni içgörüler ve pratik öneriler sağlar.

Bu yazıda, bu makalenin bazı bulgularını gözden geçireceğiz, kendi sinir ağı makine çeviri modelimizi ve genel sekans-sekans modelini ayarlamak için kullanabiliriz.

Kodlama-kod çözme mimarisi ve dikkat mekanizması hakkında daha fazla arka plan bilgisi için lütfen aşağıdaki makalelere bakın:

Kodlayıcı-Kod Çözücü Uzun Kısa Süreli Bellek Ağları

Uzun Kısa Süreli Hafızalı Tekrarlayan Sinir Ağlarında Dikkat

Temel model

Tüm deneyler için başlangıç noktası olarak kullanılan temel modeli açıklayarak başlayabiliriz.

Modelin çeviri görevlerinde iyi performans gösterebilmesi için temel model yapılandırmasını seçin.

  • Gömme: 512 boyut

  • RNN hücresi: Geçitli döngüsel birim veya GRU

  • Kodlayıcı: iki yönlü

  • Kodlama derinliği: 2 katman (her yönde bir katman)

  • Kod çözme derinliği: 2 katman

  • Not: Bahdanau stili

  • Doktor: Adam

  • Bilgi kaybı: yatırımın% 20'si

Her deney bir kıyaslama modeliyle başladı ve tasarım kararlarının model becerileri üzerindeki etkisini izole etmeye çalışmak için bir öğeyi değiştirdi Bu durumda, BLEU puanı.

Sinir ağı makine çevirisinin kodlama-kod çözme mimarisi

"Nöral Makine Çeviri Mimarilerinin Devasa Keşfi" nden alınmıştır

Gömme boyutu

Kodlayıcıya kelime girişini temsil etmek için bir kelime gömme kullanılır.

Bu, her bir kelimenin sürekli değerlere sahip sabit boyutlu bir vektöre eşlendiği dağıtılmış bir temsildir. Bu yöntemin avantajı, benzer anlamlara sahip farklı kelimelerin benzer ifadelere sahip olmasıdır.

Bu merkezi olmayan temsil, genellikle eğitim verilerine bir model uydururken öğrenilir. Gömme boyutu, kelimeyi temsil etmek için kullanılan vektörün uzunluğunu tanımlar. Genel olarak, daha büyük bir boyutun daha anlamlı bir temsile (temsil) yol açacağına ve bunun da daha iyi işleyeceğine inanılmaktadır.

İlginç bir şekilde, sonuçlar, en büyük boyut testinin en iyi sonuçları verdiğini, ancak boyutu artırmanın faydasının genellikle küçük olduğunu gösteriyor.

2048 boyutlu gömme, en iyi genel etkiyi elde ediyor ve bunu sadece çok az yaptılar. Küçük 128 boyutlu gömme bile iyi performans gösterdi ve yakınsama oranı neredeyse iki katına çıktı.

Öneri: 128 gibi küçük bir gömme boyutuyla başlayın, belki boyutu daha sonra büyütmek işlevi biraz geliştirebilir.

Üç yaygın RNN birimi türü vardır: Tekrarlayan Sinir Ağları (RNN):

  • Basit tekrarlayan sinir ağı

  • Uzun kısa süreli bellek ağı (LSTM)

  • Geçitli Tekrarlayan Birim (GRU)

LSTM, tekrarlayan sinir ağının derin öğrenmesini sınırlayan basit tekrarlayan sinir ağında kaybolan gradyan sorununu çözmek için geliştirildi. GRU, LSTM'yi basitleştirmek için geliştirilmiştir. Sonuçlar, hem GRU hem de LSTM'nin basit RNN'den önemli ölçüde daha iyi olduğunu, ancak LSTM'nin genel olarak daha iyi olduğunu göstermektedir.

Deneylerimizde, LSTM birimi her zaman GRU birimini yener.

Önermek: Modelinizde LSTM RNN birimleri kullanın.

Kodlama-kod çözme derinliği

Genel olarak derin ağların sığ ağlardan daha iyi performans gösterdiğine inanılmaktadır.

Anahtar, ağ derinliği, model işlevi ve eğitim süresi arasında bir denge bulmaktır. Bunun nedeni, işlevin iyileştirilmesi küçükse, genellikle ultra derin ağı eğitmek için sonsuz kaynağa sahip olmadığımızdır.

Yazar, kodlama modelinin ve kod çözme modelinin derinliğini ve modelin işlevi üzerindeki etkisini araştırıyor.

Kodlama söz konusu olduğunda, çalışma derinliğin işlevsellik üzerinde önemli bir etkisi olmadığını buldu. Daha şaşırtıcı olan, 1 katmanlı çift yönlü bir modelin yalnızca 4 katmanlı bir yapıdan daha iyi olmasıdır. 2 katmanlı çift yönlü kodlayıcı, test edilen diğer yapılardan yalnızca biraz daha güçlüdür.

Kodlama derinliğinin iki düzeyi aşması gerektiğini kanıtlayacak kesin bir kanıt bulamadık.

Önermek: 1 kat çift yönlü kodlayıcı kullanın ve ardından işlevi biraz geliştirmek için 2 çift yönlü katmana genişletin.

Aynısı kod çözücüler için de geçerlidir. 1, 2 ve 4 katmanlı kod çözücüler arasındaki işlev farkı çok küçüktür. 4 katmanlı kod çözücü biraz daha iyidir. 8 katmanlı kod çözücü, test koşulları altında birleşmedi.

Kod çözücüde, derin model sığ modelden biraz daha iyi performans gösterir.

Önermek: Başlangıç noktası olarak 1 katmanlı kod çözücü kullanın ve ardından daha iyi sonuçlar elde etmek için 4 katmanlı bir kod çözücü kullanın.

Enkoder giriş yönü

Kaynak metin dizisi kodlayıcıya aşağıdaki sırayla gönderilebilir:

  • Olumlu, her zamanki yol

  • Tersine çevirmek

  • Eşzamanlı ileri ve geri

Yazar, giriş dizisinin sırasının, diğer birçok tek yönlü ve çift yönlü yapıya kıyasla modelin işlevi üzerinde bir etkiye sahip olduğunu buldu.

Kısacası, önceki bulguları doğruladılar: ters sıra, ileri diziden daha iyidir ve çift yönlü sıra, ters diziden biraz daha iyidir.

Çift yönlü kodlayıcılar genellikle tek yönlü kodlayıcılardan daha iyi performans gösterir, ancak mutlak bir avantaj değildir. Tersine çevrilmiş veri kaynaklarına sahip kodlayıcıların tümü, karşılaştırılabilir ters çevrilmemiş kontrollerinden daha üstündür.

Önermek: Fonksiyonu biraz geliştirmek için ters giriş sırasını kullanın veya çift yönlü olarak geçiş yapın.

Dikkat mekanizması

Orijinal kodlama-kod çözme modelinin bir sorunu vardır: kodlayıcı, girdi bilgilerini sabit uzunlukta bir iç ifadeye yerleştirir ve kod çözücünün ondan tüm çıktı dizisini hesaplaması gerekir.

Dikkat mekanizması, kodlayıcının giriş dizisindeki farklı karakterlere "dikkat etmesine" ve bunları çıktı dizisinde ayrı ayrı çıkarmasına olanak tanıyan bir gelişmedir.

Yazar, basit dikkat mekanizmalarının çeşitli varyasyonlarını gözlemliyor. Sonuçlar, bir dikkat mekanizmasına sahip olmanın model performansını büyük ölçüde artıracağını göstermektedir.

Dikkat mekanizmasına dayalı modelin kazanmasını beklediğimizde, "dikkat" olmadan modelin ne kadar kötü performans gösterdiğini keşfetmeye şaşırdık.

Bahdanau ve diğerlerinin 2015 tarihli makalesi "hizalamayı ve çevirmeyi birlikte öğrenerek sinirsel makine çevirisi" adlı makalesinde açıklanan basit ağırlıklı ortalama dikkat mekanizması en iyi performansı gösterdi.

Önermek: Dikkat mekanizmasını kullanın ve tercihen Bahdanau'nun ağırlıklı ortalama dikkat mekanizmasını kullanın.

anlam çıkarmak

Sinir sistemi makine çevirisi, model çıktı dizisindeki kelimelerin olasılığını örneklemek için genellikle küme aramasını kullanır.

Genel olarak küme ne kadar genişse, araştırmanın o kadar kapsamlı ve sonuçların o kadar iyi olduğuna inanılmaktadır.

Sonuçlar, 3-5'lik orta bir küme genişliğinin en iyi performansı gösterdiğini ve uzunluk kaybıyla yalnızca biraz optimize edilebileceğini göstermektedir. Yazar, belirli sorunlar için genişliğin ayarlanmasını önermektedir.

İyi sonuçlar elde etmek için ayarlamanın ve doğru küme aramasının çok kritik olduğunu ve sürekli olarak birden fazla BLE noktası elde edebileceğini bulduk.

Önermek: Açgözlü aramayla başlayın (küme = 1) ve özel sorununuza göre ayarlayın.

Nihai model

Yazarlar bulgularını aynı "en iyi modele" uygular ve ardından bu modelin sonuçlarını diğer olağanüstü modellerle ve en yüksek düzeydeki sonuçlarla karşılaştırırlar.

Kağıttan alınan bu modelin spesifik konfigürasyonu aşağıdaki gibidir. Doğal bir dil işleme programı için kendi kodlama-kod çözme modelinizi geliştirdiğinizde, bu parametreler iyi bir başlangıç noktası olabilir.

Nihai sinir ağı makine çeviri modelinin model yapılandırma özeti

"Nöral Makine Çeviri Mimarilerinin Devasa Keşfi"

Bu sistemin sonuçları etkileyicidir ve kağıdın nihai hedefi olmayan en ileri seviyeye yaklaşmak için daha basit bir model kullanır.

Dikkatli hiperparametre ayarı ve mükemmel başlatma yoluyla, standart tabanlı WMT'nin en ileri seviyeye de ulaşabileceğini gerçekten de kanıtladık.

Çok önemli bir nokta, yazarlar kodlarını "tf-seq2seq" adı verilen açık kaynaklı bir proje olarak koydular. 2017 yılında, yazarlardan ikisi Google'ın beyin eğitimi projesinin üyeleri olduğu için, sonuçları Google Araştırma Blogunda "tf-seq2seq Tanıtımı: TensorFlow'da Açık Kaynak Diziden Sıraya Çerçevesi" başlığı altında yayınlandı.

daha fazla okuma

Daha fazlasını öğrenmek istiyorsanız, bu bölüm bu konu hakkında daha fazla kaynak sağlar.

  • Nöral Makine Çeviri Mimarilerinin Büyük Keşfi, 2017.

  • Denny Britz Ana Sayfası

  • WildML Blogu

  • Tf-seq2seq ile tanışın: TensorFlow, 2017'de Açık Kaynak Sıradan Sıraya Çerçeve.

  • tf-seq2seq: Tensorflow için genel amaçlı bir kodlayıcı-kod çözücü çerçevesi

  • tf-seq2seq Proje Dokümantasyonu

  • tf-seq2seq Eğitimi: Nöral Makine Çevirisi Arka Planı

  • Hizalamayı ve çevirmeyi birlikte öğrenen sinirsel makine çevirisi, 2015.

sonuç olarak

Bu makale, sinir ağı makine çeviri sistemlerinde ve diğer doğal dil işleme görevlerinde bir kodlama-kod çözme tekrarlayan sinir ağının en iyi nasıl yapılandırılacağını açıklar. Bunlar özellikle:

Orijinal bağlantı: https://machinelearningmastery.com/configure-encoder-decoder-model-neural-machine-translation/

Yukarı akış haberlerini izlemek, "yukarı akış izlenimlerini" dinlemek için günlük bir alışkanlık haline geldi
önceki
Marka müdürü istifa mı etti? Son zamanlarda çeşitli markaların ortak markalaşmasını durduramaz! Fast Food
Sonraki
Nordic, Bluetooth 5'e hazır
Bir yıl önce boyanan Zhilong yeşili bitti, yeni Blorange'ı (şeftali rengi) deneyelim mi?
"Denizaltı Seferberliği", bir su altı macerası için bir araya gelen nihai fragmanı, denizaltıları ve köpek balıklarını sunar
Zotye'nin amiral gemisi T800, en üst düzey lüks otomobille kıyaslandığında bağımsız "birinci sınıf" olur
Guo Jingyu reytingler için kollarını kaldırdı ve Genel Yönetim bir "çek" yayınladı!
NetEase blockchain projesi "Lucky Cat" öldüğü söyleniyor; Samsung Galaxy S9 / S9 + önümüzdeki ay piyasaya sürülecek; Huami Technology, Xiaomi | Lei Feng Morning Post ile ilişkisini açıkladı
Sevgililer Günü | Tanrı'yı ve eski almanağı düşündünüz, ancak TA'nın burnunu unuttunuz
"Sky Rescue" fragmanı bir kez daha ortaya çıkardı, Dashi Johnson ailesini dünyanın en yüksek binasından kurtardı
"Sword Art Online: Deadly Bullet" büyük ölçekli DLC duyuruldu, tam sürüm Switch'e geliyor
Yönetmen Tang Gaopeng ile Özel Röportaj | "Alınmayan Yol" Geçmişe dönmek istiyorum
Orijinal sesi mükemmel şekilde yeniden üretiyor musunuz? Yüksek tanımlı ses ustalarının özel sırları
Lütfen 2016'ya cevap verin! Murata'nın geçen yılı
To Top