Yazar: Pulkit Sharma, 2019 Nian 1 Yue 21 Ri
Çeviri: Chen Zhiyan
Redaksiyon: Ding Nanya
Bu makale hakkında 11000 Word, önerilen okuma 10+ dakika.
Bu makale dizi modelini ayrıntılı olarak tanıtmakta ve farklı gerçek senaryolarda uygulanmasını analiz etmektedir.
GirişBir dizide daha sonra ne olacağını tahmin etmek çok etkileyici bir konu, bu da veri biliminden bu kadar etkilenmemin nedenlerinden biri! İlginç olan şu ki, insan zihni bunda gerçekten çok iyi, ama makine değil. Bir kitapta esrarengiz bir olay örgüsü varsa, insan beyni sonucu tahmin etmeye başlayacaktır, ancak makineye benzer şeyler yapmayı nasıl öğretir?
Derin öğrenme sayesinde, bugün birkaç yıl öncesine göre çok daha fazlasını yapabiliriz. Müzik sözleri, cümle çevirisi, yorumları anlama veya sohbet robotları oluşturma gibi sıralama verilerini işleme yeteneği - hepsi sayesinde Dizi modelleme .
Bu makalede öğrenmemiz gereken şey bu. Bu, deeplearning.ai profesyonel serisinin bir parçası olduğu için okuyucuların bazı kavramları anlayabileceğini umuyorum. Önceki makaleleri okumadıysanız veya hızlı bir incelemeye ihtiyacınız varsa, aşağıdaki bağlantıyı ziyaret edebilirsiniz:
Bu derste, dizi modelinin duygu sınıflandırması, görüntü alt başlıkları gibi farklı gerçek sahnelere nasıl uygulanacağını göreceğiz.
Kurs KataloğuSıralı model kurs içeriği aşağıdaki gibidir:
1. Modül 1: Tekrarlayan Sinir Ağları (RNN'ler)
2. Modül 2: Doğal Dil İşleme (NLP) ve Kelime Gömme
2.1 Kelime yerleştirmeye giriş
2.2 Kelime yerleştirmeyi öğrenin: Word2vec ve GloVe
2.3 Kelime yerleştirme uygulaması
3. Modül 3: Sıra Modeli ve Dikkat Mekanizması
kurs yapısıŞimdiye kadar, bu kurs dizisinde oldukça fazla içerik ele aldık. Aşağıda, öğrenilen kavramların kısa bir özeti verilmiştir:
Şimdi odağı sıralı modellemeye çeviriyoruz. Bu kurs üç modüle ayrılmıştır (resmi kurs adı: Andrew Ng tarafından öğretilen derin öğrenme profesyonel kursunun 5. Dersi):
Hazır mısın? O halde Modül 1'den Ders 5'teki sıra modelini öğrenmeye başlayalım!
Platform sistemindeki kelime sayısının sınırlandırılması nedeniyle, lütfen Modül 1'in içeriğine bakın: Dizi Modellemenin Tekrarlayan Sinir Ağlarını (RNN'ler) Okuma (deeplearning.ai) Modül 3'ün içeriği için lütfen bakınız: Bir okuma dizisi modellemesinde doğal dil işleme ve kelime gömme (deeplearning.ai) 3. Modül 3: Sıra Modeli ve Dikkat MekanizmasıBu kursun son modülüne hoş geldiniz! Bu ünitede başaracağımız iki ana hedef şunlardır:
3.1 Temel model
Bu bölümün içeriğini sektörle alakalı tutmaya çalışıyorum İşte makine çevirisi ve konuşma tanıma gibi uygulamalar için çok faydalı olacak bazı modeller. Bu örneğe bir göz atın - görevimiz, Fransızca bir cümlenin girilmesi ve İngilizceye çevrilmesi gereken bir dizi-sıra modeli oluşturmaktır. Sorular aşağıdaki gibidir:
Burada x < 1 > , X < 2 > Girdi, y < 1 > , Y < 2 > Çıktıdır. Bir model oluşturmak için bir kodlayıcı oluşturuyoruz ve onu giriş dizilerini kabul etmek için kullanıyoruz. Kodlayıcı mimarisi RNN, LSTM veya GRU olabilir. Kodlayıcıdan sonra, kodlanmış çıktıyı girdi olarak içeren bir kod çözücü ağı oluşturulur ve çeviriler oluşturmak için eğitilir.
Bu ağ aynı zamanda yaygın olarak resim altyazıları için kullanılır. Girdi olarak, görüntünün özelliklerini elde ederiz (evrişimli bir sinir ağı kullanılarak oluşturulmuş).
3.2 En olası cümleyi seçin
Makine çeviri sisteminin kod çözücü modeli, dil modeline çok benzer. Ancak ikisi arasında önemli bir fark vardır: dil modelinde, tamamen sıfır vektörle başlar, makine çevirisinde ise bir kodlayıcı ağı vardır:
Makine çeviri modelinin kodlayıcı kısmı, belirli bir girdinin çıktı olasılığının hesaplanması gereken koşullu bir dil modelidir:
Aşağıdaki giriş cümlesi için:
Aşağıdakiler gibi birden çok çeviri olabilir:
Yukarıdaki cümleden en iyi çeviriyi bulmak için aşağıdaki formülü kullanıyoruz.
İyi haber şu ki, en olası çeviriyi seçmemize yardımcı olabilecek bir algoritma var.
3.3 Hedefli arama
Bu, en iyi çeviriyi oluşturmak için yaygın olarak kullanılan algoritmalardan biridir. Algoritma aşağıdaki 3 adımda anlaşılabilir:
Aşama 1: Çevrilen ilk kelimeyi seçin ve olasılığını hesaplayın:
Işın genişliğini (B) burada belirtecek şekilde ayarlayabilirsiniz: B = 3, sadece bir kelimeyi değil, aynı zamanda ilk üç kelimeyi de seçebiliriz, bunların hepsi ilk kelimenin çevirisi olabilir. Ardından bu üç kelimeyi bilgisayarın belleğinde saklayın.
Adım 2: 1. adımda seçilen her kelime için, ikinci kelimenin olasılığını hesaplamak için algoritmayı kullanın:
Kiriş genişliği (B) 3 ise ve kelime dağarcığında 10.000 kelime varsa, toplam olası kombinasyon sayısı 3 * 10000 = 30000'dür. Bu 30.000 kombinasyon tahmin edilerek ilk 3 kombinasyon seçildi.
Aşama 3: Bu işlemi cümlenin sonuna kadar tekrarlayın.
Her seferinde bir kelime ekleyerek, hedeflenen arama, herhangi bir cümlenin en olası çevirisini belirler. Verimliliği artırmak için yönlendirilmiş aramada bazı iyileştirmeler yapılabilir.
3.4 Hedeflenen aramanın iyileştirilmesi
Yönlü arama olasılığını en üst düzeye çıkarın:
Bu olasılık, farklı kelimelerin olasılıklarının çarpılmasıyla hesaplanır. Olasılık çok küçük bir sayı olduğundan (0 ile 1 arasında), bu küçük sayıları birden çok kez çarparsak, son çıktı çok küçük olacak ve bu da hesaplamada sorunlara neden olacaktır. Bunun için olasılığı hesaplamak için aşağıdaki formül kullanılabilir:
Ürünü maksimize etmek yerine, ürünün logaritmasını maksimize ediyoruz. Ancak bu nesnel işlevle bile, çeviride daha fazla kelime varsa, ürünün sonucu da olumsuz olacaktır.Bunun için işlev normalleştirilebilir:
Yönlendirilmiş arama kullanılarak seçilen tüm cümleler için normalleştirilmiş logaritmik olasılığı hesaplayın ve ardından en büyük hesaplama sonucuna sahip cümleyi seçin. Paylaşmaya değer bir ayrıntı daha var, kiriş genişliği (B) nasıl belirlenir?
Işın genişliği (B) ne kadar büyükse, sonuç o kadar iyi olur, ancak algoritma hızı o kadar yavaş olur; diğer yandan, daha küçük bir ışın genişliği (B) seçmek algoritmanın daha hızlı çalışmasını sağlar, ancak sonuç doğru değildir. Kiriş genişliği (B) seçiminin katı ve hızlı kuralları yoktur ve uygulamaya göre değiştirilebilir. Farklı değerler deneyebilir ve en iyi sonucu veren değeri seçebilirsiniz.
3.5 Yönlü aramanın hata analizi
Yönlü arama, ışın genişliğine (B) göre ötelemeyi en yüksek olasılıkla çıkaran yaklaşık bir algoritmadır. Ancak, her seferinde doğru çeviri üretilmez. Doğru çeviriyi alamazsanız, nedenini analiz etmelisiniz: Yönlü aramadan mı yoksa RNN modelinden mi kaynaklanan bir sorun? Sorun yönlü aramadan kaynaklanıyorsa, daha iyi sonuçlar elde etmek için ışın genişliğini (B) artırabilirsiniz. Peki, ışın yönlendirmeli aramayı iyileştirmeye mi yoksa RNN modelini iyileştirmeye mi odaklanmalıyız?
Asıl çevirinin:
Jane Eylül'de Afrika'yı ziyaret ediyor (y *)Algoritmadan elde edilen çeviri:
Jane geçen yıl eylül ayında Afrika'yı ziyaret etti (Y (Hat))RNN, P (y * | x) ve P (y (hat) | x) hesaplayacaktır.
İlk durum: P (Y * X) > P (Y (Şapka) X)
Bu, y * olasılığı daha yüksek olmasına rağmen, yönlü arama için y (HAT) seçildiği anlamına gelir. Bu nedenle, hedeflenen arama sonuçları yanlıştır, ışın genişliğini (B) artırmayı düşünebiliriz.
İkinci durum: P (y * | x) < = P (y (şapka) | x)
Bu, y * çevirisinin y'den (HAT) daha iyi olduğu anlamına gelir, ancak RNN'nin öngörüsü tam tersidir. Şu anda sorun RNN'de yatmaktadır ve RNN modeli iyileştirilmelidir.
Bu nedenle, her çeviri için sorunun RNN'de mi yoksa yönlendirilmiş aramada mı olduğuna karar verilmelidir. Son olarak, yönlü arama ve RNN modelinin hata oranını analiz ettik ve bu temelde yönlü arama veya RNN modelini güncelledik. Bu şekilde çeviri optimize edilebilir.
3.6 Dikkat Modeli (Dikkat Modeli)
Şimdiye kadar, bir RNN'nin girişi okuduğu ve diğer RNN'nin bir cümle çıkardığı makine çevirisinin kodlayıcı-kod çözücü mimarisini öğrendik. Fakat çok uzun bir cümle girdiğimizde, modelin cümlenin tamamını hatırlaması zordur.
Dikkat modeli, uzun bir cümleden küçük bir örnek alıp onu tercüme etmektir, ardından tercüme için başka bir örnek almak vb.
Çıktı oluştururken, belirli bir giriş sözcüğüne ne kadar dikkat edilmesi gerektiğini belirlemek için alfa parametresini kullanırız.
< 1,2 > = İlk kelimeyi oluşturmak için ikinci giriş kelimesine ne kadar dikkat edilmelidir?
Bunu anlamak için bir örnek kullanalım:
İlk çıktıyı üretmek için y < 1 > , Her kelimeye ne kadar ağırlık verilmesi gerektiği, bu dikkatin hesaplanma yöntemidir:
Tx girdi sözcükleri ve Ty çıktı sözcükleri varsa, toplam dikkat parametresi Tx * Ty olacaktır.
Dikkat modelinin derin öğrenmedeki en güçlü fikirlerden biri olduğunu fark etmiş olabilirsiniz.
postscriptDizi modeli gerçekten iyi, değil mi? Pek çok pratik uygulamaları var - sadece belirli bir durumda kullanmak için doğru teknolojiyi bilmemiz gerekiyor. Umarım bu becerileri bu kılavuzda öğrenebilirsiniz.
Kelime gömme, kelimeleri temsil etmenin iyi bir yoludur.Bu kelime gömme işlemlerinin nasıl yapılacağını ve kullanılacağını gördük.Aynı zamanda, kelime yerleştirmenin farklı uygulamalarını öğrendik.Son olarak, sıra modellerinin yapımı olan dikkat modelini de tanıttık. En güçlü fikirlerden biri.
Bu makale hakkında herhangi bir sorunuz veya geri bildiriminiz varsa, lütfen aşağıdaki yorumlar bölümünde paylaşmaktan çekinmeyin. Cevabınızı dört gözle bekliyorum!
Bu makaleyi Analytics Vidhya Android uygulamasında da okuyabilirsiniz.
Orjinal başlık:
Sıra Modellemeyi Öğrenmek İçin Okunması Gereken Öğretici (deeplearning.ai Kurs # 5)
Orijinal bağlantı:
https://www.analyticsvidhya.com/blog/2019/01/sequence-models-deeplearning/
Editör: Huang JiyanÇevirmen Profili
Chen Zhiyan, Pekin Jiaotong Üniversitesi'nden iletişim ve kontrol mühendisliği bölümünden mezun oldu ve mühendislik alanında yüksek lisans derecesi aldı. Great Wall Computer Software and System Company'de mühendis ve Datang Microelectronics'te mühendis olarak görev yaptı. Şu anda Beijing Wuyichaoqun Technology Co., Ltd.'nin teknik destekçisidir. Şu anda akıllı çeviri öğretim sistemlerinin işletimi ve bakımı ile uğraşmaktadır ve yapay zeka derin öğrenme ve doğal dil işleme (NLP) konusunda belirli deneyimler edinmiştir. Boş zamanlarımda çeviri oluşturmayı seviyorum. Başlıca çeviri çalışmaları arasında şunlar yer alıyor: IEC-ISO 7816, Irak Petrol Mühendisliği Projesi, Yeni Mali İşler Beyannamesi, vb. Çince-İngilizce çalışması "Yeni Mali Durum Beyannamesi" resmi olarak GLOBAL TIMES'te yayınlandı. Boş zamanımı, sizinle iletişim kurmak, paylaşmak ve birlikte ilerleme kaydetmek umuduyla THU Data Pie platformundaki çeviri gönüllüleri grubuna katılmak için kullanabilirim.
- Bitiş -Tsinghua-Qingdao Veri Bilimi Enstitüsü'nün resmi WeChat kamu platformunu takip edin " THU Veri Pastası "Ve kız kardeş numarası" Veri Pastası THU "Daha fazla ders avantajı ve kaliteli içerik elde edin.