Çıkış katmanı için hangi aktivasyon fonksiyonu?


44

Gizli katman için aktivasyon fonksiyonlarının seçimi oldukça açıkken (çoğunlukla sigmoid veya tanh), çıkış katmanının aktivasyon fonksiyonuna nasıl karar vereceğimi merak ediyorum. Yaygın seçimler doğrusal fonksiyonlar, sigmoid fonksiyonlar ve softmax fonksiyonlardır. Ancak hangisini ne zaman kullanmalıyım?


2
Daha yakın bir zamanda ReLU, gizli birimler için aktivasyon işlevi olarak popüler hale gelmiştir.
ijuneja

Yanıtlar:


39
  • Regresyon: linear (değerler sınırsız olduğundan)
  • Sınıflandırma: softmax (basit sigmoid de çalışır ancak softmax daha iyi çalışır)

Basit sigmoid'i yalnızca çıktınız, örneğin bir görüntüdeki çeşitli nesnelerin varlığını denetleyen bir ağ gibi birden çok "doğru" yanıt kabul ederse kullanın. Başka bir deyişle, çıktı bir olasılık dağılımı değildir (1'e toplanması gerekmez).


2
Sınıflandırma için birden fazla grubunuz varsa,
Softmax

15
Softmax'ın sigmoidden "daha iyi" çalıştığını söylemek yanlış olur, ancak softmax'ı sigmoid kullanamadığınız durumlarda kullanabilirsiniz. İkili sınıflandırma için, lojistik fonksiyon (bir sigmoid) ve softmax eşit derecede iyi performans gösterir, ancak lojistik fonksiyon matematiksel olarak daha basittir ve dolayısıyla doğal seçimdir. Ancak ikiden fazla sınıfa sahipseniz, tüm sınıfların olasılıklarını bilmek için birden fazla çıktıya ihtiyaç duyduğunuz için, lojistik işlev gibi bir skaler işlevi kullanamazsınız, dolayısıyla softmax kullanırsınız.
HelloGoodbye

1
Softmax bir aktivasyon olduğunu sanmıyorum. Genel olarak konuşursanız, normalleştirmeden (softmax) önce etkinleştirmeniz gerekir.
Aaron,

23

Partiye geç kalabilirim, ancak anlaşılması gereken bazı şeyler var.

g(x)CzCz

C(y,g(z))=12(yg(z))2g(x)=x

C(y,g(z))z=C(y,g(z))g(z)g(z)z=g(z)(12(yg(z))2)z(z)=(yg(z))1=g(z)y
Cz

Doğrusal aktivasyonların genellikle ikili / çoklu sınıf sınıflandırması için regresyon ve lojistik / softmax aktivasyonlarında kullanılmasının nedeni budur. Ancak, hiçbir şey sizi farklı kombinasyonları denemekten alıkoyamaz. ifadesi olmasına rağmenCz

İkinci olarak, gizli katmanlar için kullanılabilecek birçok aktivasyon işlevi olduğunu eklemek isterim. Sigmoidlerin (lojistik fonksiyon ve hiperbolik teğet gibi) gerçekten iyi çalıştığı kanıtlandı, ancak Jatin tarafından belirtildiği gibi , bunlar ağlarınız çok derinleştiğinde kaybolan gradyanlardan muzdarip. Bu durumda ReLU'lar popüler hale geldi. Yine de vurgulamak istediğim, daha birçok aktivasyon fonksiyonunun mevcut olduğu ve farklı araştırmacıların yenilerini aramaya devam ettikleri (örn. Üstel Doğrusal Birimler (ELU'lar), Gaussian Hata Doğrusal Birimler (GELU'ler), ...) daha iyi özellikler

Sonuç olarak: En iyi aktivasyon fonksiyonlarını ararken sadece yaratıcı olun. Farklı şeyler deneyin ve hangi kombinasyonların en iyi performansa yol açtığını görün.


Zeyilname: Daha fazla sayıda kayıp fonksiyonu ve aktivasyonu için, muhtemelen (kurallı) bağlantı fonksiyonlarını aramak istersiniz.


neden bu en iyi cevap değil? oldukça cesur sezgisel ve tamamen bilimsel
Vikram Murthy

13

Sigmoid ve tanh, gizli katman için aktivasyon işlevi olarak kullanılmamalıdır. Bu, kaybolan gradyan problemi nedeniyle, yani girişiniz daha yüksek bir taraftaysa (sigmoidin düz olduğu yerlerde) gradyan sıfıra yakın olacaktır. Ağırlıklar gerçekten küçük değerlerle güncelleneceğinden, geri yayılma sırasında çok yavaş veya hiç öğrenmeye neden olmaz.

Burada ayrıntılı açıklama: http://cs231n.github.io/neural-networks-1/#actfun

Gizli katmanlar için en iyi işlev bu nedenle ReLu.


11
Soru çıktı katmanı istiyor. -1
Euler_Salter

1
Kabul. İlk soru satırına göre cevap eklendi. Belki bu bir cevap yerine yorum olmalıydı.
Jatin

Peki, o zaman "ölü ReLU nöronları sorunu da olmaz mı?" Ayrıca, vanishijg gradyan problemi, parti normalizasyonuyla "çözülebilir". ReLU aktivasyonlarının yaptığı gibi bazı nöronları hala “devre dışı bırakmak” istiyorsanız, nöronları bırakarak rastgele kapatabilirsiniz. Sonunda sanırım, her şey soruna bağlı ve sadece en iyisini yapan şeyi kullan
Kevvy Kim 23:18

5

2,3,4,5,...

2,3,4,...

p(y=1)1p(y=1)=p(y=0)

Kimlik işlevini çıktı olarak kullanmak çıktılarınız sınırsız olduğunda yararlı olabilir. Bazı firmaların bir çeyrek karı veya zararı her iki tarafta da sınırsız olabilir.

ReLU birimleri veya benzer varyantları, çıkış yukarıda veya altına sınırlandırıldığında yardımcı olabilir. Çıktı sadece negatif olmamakla sınırlıysa, bir ReLU aktivasyonunu çıktı işlevi olarak kullanmak mantıklı olacaktır.

[1,1]

Yapay sinir ağlarının güzel yanı, inanılmaz esnek olmalarıdır.

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.