Lei Feng Net Not: Bu makale, Lei Feng'in altyazı grubu tarafından derlenen teknik bir blogdur, orijinal adı Çince fısıltı oyununu kullanarak RNN'leri Anlamaktır ve yazar Eniola Alese'dir.
Tercüme | Chen Tao Bitti | Wu Xuan
Tekrarlayan Sinir Ağı (RNN), sıralı veri türlerini iyi idare edebilen yapay sinir ağlarının çok popüler bir versiyonudur. Bu veri türü, ilgili veri noktalarının yan yana olması için bir dizi veri noktasının belirli bir sırada düzenlenmesini ifade eder. Spesifik örnekler şunlardır: borsa fiyatları, ses ve video verileri, DNA dizileri, sensör verileri, doğal dil metni ve daha fazlası.
RNN'nin sezgisel olarak nasıl çalıştığını anlamak için, popüler bir çocuk oyunu olan Chinese Spreading oynadığımızı varsayalım. Oyunun amacı, son kişinin cümlede eksik olan kelimeleri doğru bir şekilde tahmin edebilmesidir, örneğin "Kahverengi köpeğin dört _____ vardır".
Çin iletişim oyunu
Oyuncuların bir sıra halinde sıralanması gerekir ve cümledeki kelimelerin dizilişine göre, herkes kelimelerden birini alır.Örneğin, 1. oyuncu "the", 2. oyuncu "brown" kelimesini ve 3. oyuncu "köpek" kelimesini alır. Ve bunun gibi. Öncelikle takımdaki birinci kişi, takımda arkasında duran oyunculara duyduğu sözleri sessizce anlattı. Sonra oyuncu sessizce arkasındaki insanlara bu kelimeyi kendi sözleriyle birlikte söyledi. Daha sonra, tüm takım bu işlemi son oyuncuya kadar tekrarlar. Son oyuncunun eksik kelimeleri tahmin etmesi ve tüm gruba haberi yüksek sesle anlatması gerekir.
Son oyuncunun eksik kelimenin "bacaklar" olduğunu doğru bir şekilde tahmin edebileceği açıktır. Bunun nedeni, önceki oyuncunun ona cümlenin önceki bölümünü söylemesidir: "Kahverengi köpeğin dört tane var", bu nedenle bu kelimeyi bu bağlamdan çıkarabildi.
RNN'nin temel ilkeleri yukarıda açıklanmıştır. Bilgiyi diziden önce çıkararak ve dizinin mevcut girişini birleştirerek, ağ dizinin bir sonraki çıktısını tahmin edebilir.
RNN genişlemesi
Yukarıdan, RNN'nin tüm dizi için aynı işlemi tekrarlayarak tahminler yapabildiği görülebilir. Soldaki şekil, tekrarlayan ağın temel yapısını göstermektedir. Sıralı veri giriş vektörünü (x) ve gizli durum bilgisini (a) eşzamanlı olarak alır ve ardından sıra verisi çıktısını tahmin etmek için her ikisini de kullanır.
Sistemin çalışma yöntemini doğru bir şekilde görselleştirmek için, genellikle RNN'yi dizi verilerinin uzunluğu ile tutarlı bir dizi tekrar eden birime veya zaman adımlarına genişletiriz (sağ üst şekilde gösterildiği gibi). Örneğin, işlememiz gereken sıra üç kelimeli bir cümle olduğunda, üç zaman adımlı bir RNN ağına genişletilecek ve her bir zaman adımı bir kelimeyi işleyecektir.
RNN tasarım mimarisi
Sıra verilerinin girişi ve çıkışı çeşitli biçimlerde ve uzunluklarda gelir. Örneğin, duygu analizi görevlerinde, girdi genellikle bir metin dizesidir ve beklenen çıktı bir tam sayıdır (1-5 puan aralığı) veya tek bir metindir (iyi, kötü, pozitif, negatif, nötr) . Bununla birlikte, konuşma metni görevinde, giriş, ses dalgalarındaki bir ses sinyalleri dizisidir ve çıktı, karşılık gelen metnin bir dizisidir.
Bu farklılıklar nedeniyle, özellikle sıralı görevleri işlememiz gerektiğinde RNN'nin girdi ve çıktı yapısını tasarlayacağız. Bazı yaygın mimari türleri aşağıdaki gibidir:
1. Çoktan çoğa mimari (aynı sıra uzunluğu)
Bu en temel RNN yapısıdır.Giriş dizilerinin sayısı, her zaman adımındaki çıktı dizilerinin sayısı ile aynıdır. Bu mimariyi kullanan bir uygulama örneği, bir metin oluşturucudur: cümledeki önceki kelimelere dayanarak bir sonraki en olası kelimeyi tahmin edin.
Çoktan çoğa RNN mimarisine sahip metin üreteci
Yukarıdaki şekilde gösterildiği gibi, metin oluşturucunun girişi bir kelime dizisidir ve çıktı, tahmin edilen bir sonraki kelimeden oluşan bir kelimeler dizisidir: "kahverengi köpeğin dört bacağı vardır".
2. Çoktan çoğa mimari (farklı sıra uzunluğu)
Girdi ve çıktı dizilerinin sayısı tutarsız olduğunda, çoktan çoğa mimarinin başka bir sürümünü kullanabiliriz. Makine çevirisi görevi böyle bir uygulama örneğidir: girdi, orijinal metindeki (Fransızca gibi) bir sözcük dizisidir ve çıktı, çevirideki (İngilizce gibi) bir sözcük dizisidir. Bu mimarinin iki farklı modülü vardır: kodlayıcı ve kod çözücü. İlki, girdi cümlesini kabul eder, onu bir iç durum temsiline eşler ve ardından çıktı cümlesini oluşturması için ikincisine geçirir.
Çoktan çoğa RNN mimarisiyle makine çevirisi
Bu mimaride, kodlayıcı tüm giriş dizilerini işledikten sonra, kod çözücü çıktı dizisini tahmin etmeye başlar. Bu, daha önce bahsedilen aynı sıra uzunluğu mimarisinden tamamen farklıdır Bu mimaride, bir giriş dizisi nesnesini aldıktan sonra, hemen her çıktı dizisi nesnesini tahmin etmeye başlar.
3. Çoktan bire mimari
Bu mimaride, RNN her zaman adımında bir dizi girişe sahiptir, ancak son zaman adımında yalnızca tek bir değer çıkarır. Duygu analizi görevi bu durumda bir uygulama örneğidir: Görevin amacı girdi cümlesini sınıflandırmak ve olumlu veya olumsuz duyguya sahip olup olmadığına karar vermektir.
Çoktan bire RNN mimarisini kullanan duyarlılık analizi görevi
Yukarıdaki şekildeki duyarlılık analizi görevinde, RNN her adımda çıktı vermez, ancak tüm sözcük dizisini okuduktan sonra, son zaman adımında yalnızca tek bir değer çıkarır: "pozitif".
4. Bire çok mimari
RNN buradaki ilk zaman adımında tek bir değeri kabul eder ve ardından kalan zaman adımlarında bir değer dizisi çıkarır. Bu mimariye dayalı uygulamalar genellikle her bir zaman adımının tahmin edilen çıktısını elde eder ve bir sonraki katmana o katmanın girdi değeri olarak iletir. Bir uygulama örneği, görüntü açıklamadır: RNN, bir görüntüyü girdi olarak kabul eder ve ardından görüntüde ne olduğunu açıklayan bir sözcük dizisi çıkarır.
Birden çoğa mimari kullanarak görüntü açıklama
Yukarıdaki şekil, girdinin bir kadın koşu emojisi olduğunu ve çıktının da tahmin edilen bir sözcük dizesi olduğunu gösterir: "mavi yelek koşan kadın".
sonuç olarak
Bu makalede, karşılık gelen uygulama örnekleri de dahil olmak üzere tekrarlayan ağı ve farklı mimari türlerini kısaca tanıtıyoruz.
Kaynak: https://medium.com/learn-love-ai/introduction-to-recurrent-neural-networks-rnns-43238d037a5c
Lei Feng Ağı Lei Feng Ağı