Bir aktivasyon fonksiyonu nasıl seçilir?


13

Çıktı katmanı için aktivasyon fonksiyonunu ihtiyacım olan çıktıya ve bildiğim aktivasyon fonksiyonunun özelliklerine bağlı olarak seçiyorum. Örneğin, olasılıklarla uğraşırken sigmoid işlevini, pozitif değerlerle uğraşırken ReLU'yu ve genel değerlerle uğraşırken doğrusal bir işlevi seçerim.

Gizli katmanlarda, ReLU yerine ölü nöronları ve sigmoid yerine tanh'ı önlemek için sızdıran bir ReLU kullanıyorum. Tabii ki, gizli birimlerde doğrusal bir işlev kullanmıyorum.

Ancak, gizli katmandaki onlar için seçim çoğunlukla deneme yanılma nedeniyledir.

Bazı durumlarda hangi aktivasyon fonksiyonunun iyi işleyebileceğine dair bir kural var mı? Durumları mümkün olduğunca genel olarak ele alın : katmanın derinliğine, NN'nin derinliğine, o katmanın nöron sayısına, seçtiğimiz optimize ediciye, giriş özelliklerinin sayısına atıfta bulunabilir. bu katmanı, bu NN'nin uygulanmasına vb.

In onun / onu cevap , cantordust ben ELU ve Selu gibi, söz etmedi bu diğer aktivasyon fonksiyonları ifade eder. Bu bilgiler memnuniyetle karşılanmaktadır. Bununla birlikte, daha fazla etkinleştirme işlevi keşfettiğimde, gizli katmanlarda kullanılacak işlev seçiminde daha fazla kafam karışıyor. Bir bozuk parayı çevirmenin bir aktivasyon işlevi seçmenin iyi bir yolu olduğunu düşünmüyorum.

Yanıtlar:


10

Bana öyle geliyor ki ReLU ve sigmoidlerin eksikliklerini zaten anlıyorsunuz (düz ReLU durumunda ölü nöronlar gibi). Ben bakarak öneririm ELU (üstel doğrusal birimleri) ve Selu (ELU öz normale versiyonu). Bazı hafif varsayımlar altında, ikincisi, kendi kendini normalleştirme özelliğine sahiptir, bu da degradeleri yok etme ve patlatma problemini azaltır. Buna ek olarak, onlar yaymak normalleştirme - yani, bir sonraki katmana girdi sıfır ortalama ve birim farkına sahip olacağını garanti.

Düzenle:


Tüm kullanım durumları için çalışan bir etkinleştirme işlevi önermek inanılmaz derecede zor olurdu (SELU'nun hemen hemen her girdiyle doğru şeyi yapacak şekilde tasarlandığına inanıyorum). Birçok hususlar vardır - (! Hepsi noktasında türevli ise) o türevini hesaplamak için ne kadar zor, seçtiğiniz AF yakınsak olan bir ağ, ne kadar pürüzsüz öyle, ne kadar hızlı olmadığını da tatmin koşulları evrensel yaklaşım teoremi , ister normalleşmeyi korur, vb. Bunlardan bazılarını veya herhangi birini umursabilir veya umursamazsınız.

Sonuç olarak, gizli katmanlar için bir etkinleştirme işlevi seçmek için evrensel bir kural yoktur. Şahsen, sigmoidleri (özellikle tanh) kullanmayı seviyorum çünkü güzel sınırlılar ve hesaplaması çok hızlı, ama en önemlisi kullanım durumlarım için çalıştıkları için . Diğerleri, ağınız öğrenemezse, giriş ve gizli katmanlar için sızan ReLU'yu bir go-to işlevi olarak önerir . Fantezi uygulamalar için sinir ağlarını geliştirmek için aktivasyon fonksiyonlarını bile karıştırabilir ve eşleştirebilirsiniz .

Günün sonunda, muhtemelen etkinleştirme işlevinin doğru seçimi hakkında insanlar olduğu kadar çok fikir alacaksınız, bu nedenle kısa cevap muhtemelen şöyle olmalıdır: günün AF'si ile başlayın (sızan ReLU / SELU?) ve ağınız herhangi bir şey öğrenmek için mücadele ederse popülerliği azaltmak amacıyla diğer AF'lerde de çalışabilirsiniz.


1
Doğru, normalleşmenin yayılmasını unuttum. Bana hatırlattığın için teşekkürler. Ancak, soru hala cevaplanmamıştır. Gizli katmanlara hangi etkinleştirme işlevlerini koymam gerektiğini seçecek bir kural veya başka bir şey var mı? Basitlik için sadece tamamen bağlı katmanlardan bahsediyorum. Konuyu kıvrım, havuz vb.
İle

@gvgramazio Cevabı düzenledim, umarım şimdi biraz daha faydalıdır.
cantordust

Düzenleme ile benim soruya yanı sıra ilgilenen bağlantılar (özellikle mix ve maç hakkında bir ) sağlanan düşünüyorum . Ne yazık ki duymak istediğim cevap değil. Sorumu biraz daha açık tutacağım. Kimse daha iyi bir cevap bulamazsa, sizinkini kabul edilmiş olarak işaretleyeceğim.
gvgramazio

-1

Ne tür sinir ağları üzerinde çalıştığınızı bilmiyorum. Ancak, tekrarlayan sinir ağı ile uğraşırken tan aktivasyon fonksiyonlarını da düşünmek gerekir. Tanh işlevi örneğin RELU işlevinin farkıyla sınırlandığından, degrade sorunlarının patlamamasının nedeni budur.


Soruda sadece ReLU değil tanh ve sigmoid kullandığımı ifade ettim. Ayrıca, basit tutmak için genel olarak klasik gizli tam bağlantılı katmanlara atıfta bulunuyorum. Tekrarlayan bir sinir ağı ile uğraştığımızın aktivasyon fonksiyonunun seçimi için önemli olduğunu düşünüyorsanız, lütfen bunun nedenini belirtin. Patlayan / yok olan fenomen tekrarlayan sinir ağında da olabilir.
gvgramazio
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.