Son zamanlarda tekrarlayan bir sinir ağının herhangi bir algoritmaya yaklaşabileceğini okudum.
Öyleyse sorum şu: bu tam olarak ne anlama geliyor ve bunun kanıtlandığı yere bir referans verebilir misiniz?
Son zamanlarda tekrarlayan bir sinir ağının herhangi bir algoritmaya yaklaşabileceğini okudum.
Öyleyse sorum şu: bu tam olarak ne anlama geliyor ve bunun kanıtlandığı yere bir referans verebilir misiniz?
Yanıtlar:
Arka fon
İlk önce hesaplama teorisinden bazı kavramları gözden geçirmeliyiz. Bir algoritma , bir fonksiyonu hesaplamak için kullanılan bir prosedürdür. Girdi verildiğinde, algoritma sınırlı sayıda adımda doğru çıktıyı üretmeli ve sonra sonlandırmalıdır. Bir fonksiyonun hesaplanabilir olduğunu söylemek, onu hesaplamak için bir algoritma bulunduğunu gösterir. Sınırsız tüm fonksiyonlar arasında çoğu hesaplanabilir değildir. Turing makineleri , hesaplama kavramını biçimlendiren matematiksel bir modeldir. Diğer eşdeğer modeller mevcuttur, ancak Turing makineleri standart 'referans modelidir. Göre Church-Turing teziherhangi bir algoritma bir Turing makinesi tarafından uygulanabilir ve tüm hesaplanabilir fonksiyonlar bu şekilde hesaplanabilir. Bir Turing makinesinin belirli bir örneği yalnızca belirli bir işlevi hesaplar. Ancak, herhangi bir giriş için başka bir Turing makinesini simüle edebilen evrensel Turing makineleri adı verilen özel bir Turing makinesi sınıfı vardır . Bunu, simüle edilecek makinenin (ve girişinin) kendi girişlerinin bir parçası olarak açıklamasını alarak yaparlar. Bir Universal Turing makinesinin herhangi bir özel örneği bu nedenle herhangi bir hesaplanabilir işlevi hesaplayabilir (yani, herhangi bir algoritmayı uygulayabilir). Bu yeteneği paylaşan herhangi bir sisteme Turing complete denir.. Bir sistemin Turing'in eksiksiz olduğunu kanıtlamanın bir yolu, evrensel bir Turing makinesini taklit edebildiğini göstermektir. Birçok sistemin Turing'in eksiksiz olduğu gösterilmiştir (örneğin çoğu programlama dili, belirli hücresel otomatlar ve kuantum mekaniği ).
Tekrarlayan sinir ağları
Aşağıdaki makale, herhangi bir hesaplanabilir işlev için, onu hesaplayabilen sınırlı bir tekrarlayan sinir ağının (RNN) bulunduğunu göstermektedir. Ayrıca, Turing tamamlandı ve bu nedenle herhangi bir algoritmayı uygulayabilen sonlu RNN'ler var.
Siegelmann ve Sontag (1992) . Sinir ağlarının hesaplama gücü hakkında
Her zaman noktasında harici giriş alan sınırlı sayıda tekrarlayan bağlı ünite içeren ağları kullanırlar. Her bir birimin durumu, doğrusal olmayan bir aktivasyon işlevinden geçen girdilerinin ağırlıklı bir toplamı (artı bir önyargı) ile verilir. Aktivasyon fonksiyonu, bir sigmoidin parçalı bir lineer yaklaşımı olan doymuş bir lineer fonksiyondur. Ağırlıklar ve önyargılar sabittir, dolayısıyla öğrenme gerçekleşmez.
Ağ, ikili giriş dizisinden ikili çıkış dizisine bir eşleme gerçekleştirir. Ağa tüm birimlere beslenen iki harici giriş vardır: bir 'veri satırı' ve 'doğrulama satırı'. Veri satırı sıfırlar ve bunlardan oluşan giriş dizisini içerir, daha sonra giriş dizisi bittikten sonra sıfır. Doğrulama hattı, ağın giriş sırasının ne zaman gerçekleştiğini bilmesini sağlar. Giriş dizisinin süresi için bir tane, ardından bittikten sonra sıfır içerir. Bir birim 'çıktı birimi' olarak kabul edilir. İsteğe bağlı bazı gecikmeler için sıfırlar, ardından sıfırlar ve olanlar çıkış dizileri, çıktı dizisi bittikten sonra sıfırlar. Diğer bir birim, çıktı sırasının ne zaman gerçekleştiğini bize bildiren 'doğrulama birimi' olarak kabul edilir.
Bu RNN'ler ikili giriş dizilerini ikili çıkış dizileriyle eşlesmelerine rağmen, diğer çeşitli matematiksel nesnelerde (diğer sayı tipleri, vektörler, görüntüler, grafikler, vb.) Tanımlanan işlevlerle ilgilenebiliriz. Ancak, herhangi bir hesaplanabilir fonksiyon için, bu diğer nesne tipleri ikili sıralar olarak kodlanabilir (örneğin , sırayla ikili olarak temsil edilebilen, doğal sayıları kullanan diğer nesneleri kodlamanın bir açıklaması için buraya bakınız ).
Sonuç
Her hesaplanabilir fonksiyon için, hesaplayabilen sınırlı bir RNN (yukarıda açıklanan biçimde) olduğunu gösterirler. Bunu, bir itme otomatını iki yığınla açıkça simüle etmek için bir RNN kullanmanın mümkün olduğunu göstererek yaparlar. Bu, Turing makinesine hesaplamalı olarak eşdeğer başka bir modeldir. Herhangi bir hesaplanabilir fonksiyon Turing makinesi tarafından hesaplanabilir. Herhangi bir Turing makinesi, iki istiflemeli bir itme otomatı ile simüle edilebilir. İki istifli herhangi bir aşağı itme otomatı bir RNN ile simüle edilebilir. Bu nedenle, herhangi bir hesaplanabilir fonksiyon bir RNN ile hesaplanabilir. Ayrıca, bazı Turing makineleri evrensel olduğundan, onları simüle eden RNN'ler Turing tamamlandı ve bu nedenle herhangi bir algoritma uygulayabilir. Özellikle, 1058 veya daha az ünite içeren Turing komple RNN'ler bulunduğunu gösterirler.
Diğer sonuçlar
Simülasyon sonuçlarının ilginç bir sonucu, RNN'lerin davranışlarıyla ilgili belirli soruların belirlenemez olmasıdır. Bu, rasgele RNN'ler için kendilerine cevap verebilecek bir algoritma bulunmadığı anlamına gelir (her ne kadar belirli RNN'lerde söz konusu olsalar bile). Örneğin, belirli bir birimin 0 değerini hiç alıp almadığı sorusu kararsız; eğer bu soruyu genel olarak cevaplayabilecek olsaydı , Turing makinelerinin durma problemini çözülemez bir şekilde çözmek mümkün olurdu .
Hesaplamalı güç
Yukarıdaki yazıda, tüm ağ parametreleri ve durumları rasyonel sayılardır. Bu önemlidir, çünkü RNN'lerin gücünü sınırlar ve sonuçta ortaya çıkan ağları daha gerçekçi kılar. Bunun nedeni, rasyonellerin hesaplanabilir sayılar olmasıdır , bu da onları rasgele kesinliğe göre hesaplamak için bir algoritma olduğu anlamına gelir. Gerçek sayıların çoğu hesaplanamaz ve bu nedenle erişilemez - en güçlü Turing makinesi bile onları temsil edemez ve birçok insan fiziksel dünyada temsil edilebileceklerinden şüphelenir. Dijital bilgisayarlarda 'gerçek sayılar' ile uğraştığımızda, daha küçük bir alt kümeye (örneğin, 64 bit kayan nokta sayıları) erişiyoruz . İsteğe bağlı gerçek sayıları temsil etmek, sınırsız bilgi gerektirir.
Belge, ağın gerçek sayılara erişimini sağlamanın, bilgisayar gücünü Turing makinelerinin ötesinde daha da artıracağını söylüyor. Siegelmann, bu 'süper Turing' yeteneğini araştıran birçok başka makale yazdı. Bununla birlikte, bunların matematiksel modeller olduğunu not etmek önemlidir ve sonuçlar böyle bir makinenin fiziksel dünyada var olabileceği anlamına gelmez. Açık bir soru olmasına rağmen, olamayacağını düşünmek için iyi nedenler var.
Sanırım aradığın şey bu. Bu adam, ağın yeterince gizli birime sahip olması şartıyla, çok katmanlı veya tek katmanlı feedforward ağının herhangi bir işlevi yerine getirebileceğini kanıtladı.
Hornik, K. (1991). Çok katmanlı feedforward ağların yaklaşım yetenekleri. Yapay sinir ağları, 4 (2), 251-257.