görüntü olmayan NLP olmayan görevler için derin öğrenme?


12

Bilgisayar vizyonunda veya doğal dil işlemede derin öğrenme için şimdiye kadar birçok ilginç uygulama var.

Diğer daha geleneksel alanlarda nasıl? Örneğin, geleneksel sosyo-demografik değişkenlere ve belki de çok fazla laboratuvar ölçümüne sahibim ve belirli bir hastalığı tahmin etmek istiyorum. Çok fazla gözlemim varsa, bu derin bir öğrenme uygulaması mı olurdu? Burada nasıl bir ağ kurabilirim, tüm fantezi katmanların (evrişimsel vb.) Gerçekten gerekli olmadığını düşünüyorum ?! Sadece derinleştirin mi?

Özel veri setimde, rasgele ormanlar, gbm gibi bazı yaygın makine öğrenimi algoritmalarını, doğrulukla ilgili karışık sonuçlar ile denedim. Görüntü tanıma ile sınırlı derin öğrenme deneyimim var.


1
"Çok fazla gözlem" in ne kadar olduğuna bağlı olarak farklı bir yaklaşıma, örneğin XGBoost'a bakmaktan daha iyi olabilirsiniz. Hedefinizin özellikle derin öğrenme yaklaşımlarını denemek mi yoksa en iyi doğruluğu elde etmek mi olduğunu açıklayabilir misiniz?
Neil Slater

@NeilSlater hedefim xgboost gibi yerleşik yöntemlerden daha yüksek doğruluk elde etmek olacaktır, eğer böyle bir durumda mümkünse
spore234

1
Mümkün, ama benim deneyimime göre çok fazla veriye sahip olmadığınız sürece büyük olasılıkla .
Neil Slater

Matlab "Derin Öğrenme İpuçları ve Püf Noktaları" hakkında dokümantasyon sağlar. Aynı soruyu sordum ve sayfa iyi örnekler boyunca çok yararlı bir rehber sağladı. örneğin derin öğrenme kullanarak dizi / zaman serisi sınıflandırması / regresyonu için sıralamaya ihtiyacınız olabilir.
Sami Navesi

Yanıtlar:


10

Evet, görüntü olmayan verileri işlemek için derin öğrenme tekniklerini kullanabilirsiniz. Bununla birlikte, diğer model sınıfları sinyal işleme ve ilgili görevler dışındaki sinir ağları ile hala çok rekabetçidir.

Sinyal olmayan / sekans olmayan veriler üzerinde derin öğrenme yaklaşımları kullanmak için, genellikle basit bir ileri beslemeli çok katmanlı ağ kullanırsınız. Evrişimli katmanlara veya havuzlama katmanlarına gerek yoktur. Bunun dışındaki en iyi mimarinin çapraz doğrulama ile araştırılması gerekir ve derin NN'ler eğitmek için çok fazla hesaplama gerektirdiğinden keşfetmek zaman alıcı olabilir.

Kaggle yarışmalarında derin (-ish, tipik olarak ~ 5 katman) sinir ağlarını kullanmaya çalıştığım deneyimlerime göre:

  • Bırakma, düzenlileştirme ve doğruluğu artırmak için hala oldukça etkilidir

  • Giriş normalizasyonu - genellikle 0, standart sapma 1 anlamına gelir,

  • Gizli katman etkinleştirme işlevleri bir fark yaratabilir. ReLU, yok olan gradyanlarla ilgili bazı sorunları azaltmasına rağmen, tecrübelerime göre sinyal olmayan verilerle daha az sağlamdır ve başka bir form isteyeceksiniz. Sadece birkaç katınız varsa, sigmoid veya tanh hala iyi çalışır. Aksi takdirde, problemlerini "ölü" nöronlarla düzeltmeye çalışan sızıntılı ReLU, PReLU, ELU ve diğer ReLU varyantlarına bakın.

  • Adam, Adagrad veya RMSProp gibi derin öğrenme için tasarlanmış optimizerlerden yararlanın

  • Glorot gibi derin öğrenme ile çalışan bir ağırlık başlatma yaklaşımı kullanın.

  • Toplu Normalleştirme katmanlarını kullanmayı düşünün. Çok deneyimlediğim bir şey değil, ama diğer insanların bu yaklaşımla iyi performans gösterdiğini gördüm.

Tüm bunlara rağmen, XGBoost rutin olarak ve derin NN'leri minimum ayarlama ve eğitim çabasıyla kıyaslayabilir (elbette probleme ve sahip olduğunuz verilere bağlı olarak). Doğruluk sizin için her şeyse, garantili olmasa da, derin NN'lerin ve XGBoost gibi diğer modellerin tek teklerden daha iyi performans göstermesi mümkündür.


1

Bir ağ sınıflandırma amaçları için uygun olabilir. Bunun için, ağın üretimde sınıflandırması istenecek verileri gösteren bir eğitim seti ve verilerinizin bir test seti tanımlayabilmeniz gerekir. Bu, kötü, makul veya iyi çalışan bir ağ elde edip edemeyeceğinizi belirler.

Terimleri "derin öğrenme" olarak yanıltıcı olarak görüyorum: bir ağ öğrenmiyor, sadece eğitebilirsiniz.

Bir eğitim ve test seti oluşturabileceğinizi varsayarsak, yüksek düzeyde bir

  • Çok katmanlı: verilerinizde düzen yoksa ve yapıların sabit bir konumu varsa.

  • Özyinelemeli ağlar: verilerin sırası sınıflandırma için önemliyse

  • Evrişim: verileriniz resimlerdeki gibi yapılara sahipse, ancak sabit bir konum yoksa.

Katman sayısı gibi iyi bir kurulum için deneme yanılma gerekir; bu bir tür kara büyü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.