Derin öğrenme alanına yeni başlayanlar için ne tür bir ağ kullanılacağını bilmek zor olabilir. Aralarından seçim yapabileceğiniz çok sayıda ağ türü ve her gün yayınlanan ve tartışılan yeni yöntemler var.
İşleri daha da kötüleştirmek için, çoğu sinir ağı, yanlış türde veri veya tahmin problemi ile kullanıldığında bile çalışacak (bir tahminde bulunabilecek) kadar esnektir.
Bu yazıda, yapay sinir ağlarının üç ana sınıfı için önerilen kullanımı keşfedeceksiniz.
Bu yazıyı okuduktan sonra şunu bileceksiniz:
- Tahmine dayalı bir modelleme problemi üzerinde çalışırken hangi tür sinir ağlarına odaklanılacağı .
- Ne zaman kullanılmalı, kullanılmamalı ve bir projede MLP, CNN ve RNN kullanmayı deneyin.
- Bir model seçmeden önce hibrit modellerin kullanımını düşünmek ve proje hedefleriniz hakkında net bir fikre sahip olmak.
Bu gönderi beş bölüme ayrılmıştır; bunlar:
- Hangi Sinir Ağlarına Odaklanmalı?
- Çok Katmanlı Algılayıcılar Ne Zaman Kullanılır?
- Evrişimsel Sinir Ağları Ne Zaman Kullanılır?
- Tekrarlayan Sinir Ağları Ne Zaman Kullanılır?
- Hibrit Ağ Modelleri
Hangi Sinir Ağlarına Odaklanmalı?
Derin öğrenme , modern donanımlar kullanılarak yapay sinir ağlarının uygulanmasıdır.
Daha önce mümkün olduğu düşünülenden çok daha büyük (daha fazla katman) olan sinir ağlarının geliştirilmesine, eğitilmesine ve kullanılmasına izin verir.
Araştırmacılar tarafından mevcut modellerde değişiklik veya ince ayar olarak önerilen binlerce özel sinir ağı türü vardır. Bazen tamamen yeni yaklaşımlar.
Bir uygulayıcı olarak, genel olarak uygulanabilir bir model ortaya çıkana kadar beklemenizi tavsiye ederim. Günlük veya haftalık olarak yayınlanan çok sayıda yayının gürültüsünden genel olarak neyin iyi çalıştığının sinyalini çıkarmak zordur.
Genel olarak odaklanmanızı önerdiğim yapay sinir ağlarının üç sınıfı var. Bunlar:
- Çok Katmanlı Algılayıcılar (MLP'ler)
- Evrişimli Sinir Ağları (CNN'ler)
- Tekrarlayan Sinir Ağları (RNN'ler)
Bu üç ağ sınıfı çok fazla esneklik sağlar ve onlarca yıl boyunca çok çeşitli problemlerde faydalı ve güvenilir olduklarını kanıtlamıştır. Ayrıca, onları farklı tahmin sorunları çerçevelemelerinin ve farklı veri kümelerinin tuhaflıklarında uzmanlaştırmaya yardımcı olacak birçok alt türü vardır.
Artık hangi ağlara odaklanacağımızı bildiğimize göre, her bir sinir ağı sınıfını ne zaman kullanabileceğimize bakalım.
Çok Katmanlı Algılayıcılar Ne Zaman Kullanılır?
Çok Katmanlı Algılayıcılar veya kısaca MLP'ler, klasik sinir ağı türüdür.
Bir veya daha fazla nöron katmanından oluşurlar. Veriler girdi katmanına beslenir, soyutlama seviyeleri sağlayan bir veya daha fazla gizli katman olabilir ve aynı zamanda görünür katman olarak da adlandırılan çıktı katmanında tahminler yapılır.
MLP'ler, girdilere bir sınıf veya etiket atandığı sınıflandırma tahmin problemleri için uygundur.
Ayrıca, bir dizi girdi verildiğinde gerçek değerli bir miktarın tahmin edildiği regresyon tahmin problemleri için de uygundurlar. Veriler genellikle bir CSV dosyasında veya bir elektronik tabloda göreceğiniz gibi bir tablo biçiminde sağlanır.
MLP'leri Şunlar İçin Kullanın:
- Tablo veri kümeleri
- Sınıflandırma tahmin problemleri
- Regresyon tahmin problemleri
Çok esnektirler ve genellikle girdilerden çıktılara bir eşlemeyi öğrenmek için kullanılabilirler.
Bu esneklik, diğer veri türlerine uygulanmalarına olanak tanır. Örneğin, bir görüntünün pikselleri uzun bir veri satırına indirgenebilir ve bir MLP'ye beslenebilir. Bir belgenin kelimeleri de uzun bir veri satırına indirgenebilir ve bir MLP'ye beslenebilir. Bir zaman serisi tahmin problemi için gecikme gözlemleri bile uzun bir veri satırına indirgenebilir ve bir MLP'ye beslenebilir.
Bu nedenle, verileriniz resim, belge veya zaman serisi gibi tablo veri kümesinden farklı bir biçimdeyse, sorununuz üzerinde en azından bir MLP'yi test etmenizi öneririm. Sonuçlar, daha uygun görünebilecek diğer modellerin katma değer sağladığını doğrulamak için bir temel karşılaştırma noktası olarak kullanılabilir.
Evrişimsel Sinir Ağları Ne Zaman Kullanılır?
Evrişimli Sinir Ağları veya CNN'ler, görüntü verilerini bir çıktı değişkenine eşlemek için tasarlanmıştır.
O kadar etkili olduklarını kanıtladılar ki, girdi olarak görüntü verilerini içeren her türlü tahmin problemi için başvurulan yöntemdir.
CNN'leri kullanmanın yararı, iki boyutlu bir görüntünün dahili bir temsilini geliştirme yetenekleridir. Bu, modelin, görüntülerle çalışırken önemli olan verilerdeki değişken yapılardaki konumu ve ölçeği öğrenmesini sağlar.
CNN'leri Şunlar İçin Kullanın:
- Görüntü verileri
- Sınıflandırma tahmin problemleri
- Regresyon tahmin problemleri
Daha genel olarak, CNN'ler uzamsal bir ilişkisi olan verilerle iyi çalışır.
CNN girişi geleneksel olarak iki boyutludur, bir alan veya matristir, ancak tek boyutlu bir dizinin dahili bir temsilini geliştirmesine izin vererek tek boyutlu olarak da değiştirilebilir.
Bu, CNN'nin daha genel olarak uzamsal bir ilişkisi olan diğer veri türleri üzerinde kullanılmasına izin verir. Örneğin, bir metin belgesinde kelimeler arasında bir sıra ilişkisi vardır. Bir zaman serisinin zaman adımlarında sıralı bir ilişki vardır.
Görüntü olmayan veriler için özel olarak geliştirilmemiş olsa da, CNN'ler duygu analizinde kullanılan belge sınıflandırması ve ilgili problemler gibi problemlerde en gelişmiş sonuçları elde eder.
Tekrarlayan Sinir Ağları Ne Zaman Kullanılır?
Tekrarlayan Sinir Ağları veya RNN'ler, dizi tahmin problemleriyle çalışmak üzere tasarlanmıştır.
Sıra tahmin sorunları birçok biçimde gelir ve en iyi desteklenen girdi ve çıktı türleri tarafından tanımlanır.
Sıralama tahmin problemlerinin bazı örnekleri şunları içerir:
- Bire Çoğa : Çıktı olarak birden çok adımlı bir diziye eşlenen girdi olarak bir gözlem.
- Çoktan Bire : Sınıf veya miktar tahminine eşlenen girdi olarak birden çok adım dizisi.
- Çoktan çoğa : Çıktı olarak birden çok adım içeren bir diziye eşlenen girdi olarak birden çok adım dizisi.
Çoktan Çoğa sorununa genellikle diziden diziye veya kısaca seq2seq denir.
Tekrarlayan sinir ağlarını eğitmek geleneksel olarak zordu.
Uzun Kısa Süreli Bellek veya LSTM ağı, belki de en başarılı RNN'dir çünkü tekrarlayan bir ağın eğitilmesi sorunlarının üstesinden gelir ve buna karşılık çok çeşitli uygulamalarda kullanılır.
Genel olarak RNN'ler ve özellikle LSTM'ler, genellikle doğal dil işleme olarak adlandırılan kelime ve paragraf dizileriyle çalışırken en fazla başarıyı elde ettiler.
Bu, hem metin dizilerini hem de bir zaman dizisi olarak temsil edilen konuşma dili dizilerini içerir. Ayrıca, yalnızca metinle değil, aynı zamanda el yazısı oluşturma gibi uygulamalarda bir dizi çıktısı gerektiren üretken modeller olarak da kullanılırlar.
RNN'leri Şunlar İçin Kullanın:
- Metin verileri
- konuşma verileri
- Sınıflandırma tahmin problemleri
- Regresyon tahmin problemleri
- üretken modeller
Tekrarlayan sinir ağları, bir CSV dosyasında veya elektronik tabloda göreceğiniz gibi, tablo halindeki veri kümeleri için uygun değildir. Ayrıca görüntü veri girişi için uygun değildirler.
RNN'leri Şunlar İçin Kullanmayın:
- tablo verileri
- Görüntü verileri
RNN'ler ve LSTM'ler, zaman serisi tahmin problemleri üzerinde test edilmiştir, ancak sonuçlar en hafif tabirle zayıf olmuştur. Otoregresyon yöntemleri, hatta doğrusal yöntemler bile genellikle çok daha iyi performans gösterir. LSTM'ler genellikle aynı verilere uygulanan basit MLP'lerden daha iyi performans gösterir.
Bununla birlikte, aktif bir alan olmaya devam etmektedir.
Hibrit Ağ Modelleri
Bir CNN veya RNN modeli nadiren tek başına kullanılır.
Bu tür ağlar, bir veya daha fazla MLP katmanına sahip daha geniş bir modelde katmanlar olarak kullanılır. Teknik olarak, bunlar melez bir sinir ağı mimarisi türüdür.
Belki de en ilginç çalışma, farklı ağ türlerinin melez modellerde karıştırılmasından kaynaklanmaktadır.
Örneğin, girişte CNN, ortada LSTM ve çıkışta MLP bulunan bir katman yığını kullanan bir model düşünün. Bunun gibi bir model, video gibi bir dizi görüntü girdisini okuyabilir ve bir tahmin oluşturabilir. Buna CNN LSTM mimarisi denir .
Ağ türleri, yeni bir LSTM modeline eklenebilen ve fotoğraflara alt yazı eklemek için kullanılabilen çok derin CNN ve MLP ağlarını kullanan yeniden kullanılabilir görüntü tanıma modelleri gibi yeni yeteneklerin kilidini açmak için belirli mimarilerde de istiflenebilir. Ayrıca, farklı uzunluklarda giriş ve çıkış dizilerine sahip olmak için kullanılabilen kodlayıcı-kod çözücü LSTM ağları.
Önce sizin ve paydaşlarınızın projeden ne beklediğini net bir şekilde düşünmeniz, ardından özel proje ihtiyaçlarınızı karşılayan bir ağ mimarisi aramanız (veya bir tane geliştirmeniz) önemlidir.