2012-07-26 6 views
20

Ich habe gerade mit der Programmierung für neuronale Netzwerke begonnen. Ich arbeite derzeit daran, zu verstehen, wie ein Backpropogation (BP) -Netzwerk funktioniert. Obwohl der Algorithmus zum Trainieren in BP-Netzen ziemlich einfach ist, konnte ich keinen Text darüber finden, warum der Algorithmus funktioniert. Genauer gesagt suche ich nach mathematischen Überlegungen, um die Verwendung von sigmoiden Funktionen in neuronalen Netzen zu rechtfertigen, und was sie dazu bringt, fast jede Datenverteilung nachzuahmen, die auf sie geworfen wird.Warum funktionieren Sigmoid-Funktionen in Neuronalen Netzen?

Danke!

Antwort

23

Die Sigmoidfunktion führt zu Nichtlinearität im Netzwerk. Ohne eine nichtlineare Aktivierungsfunktion kann das Netz nur Funktionen lernen, die lineare Kombinationen seiner Eingaben sind. Das Ergebnis heißt universal approximation theorem oder Cybenko theorem, nach dem Gentleman, der es im Jahr 1989 bewiesen hat. Wikipedia ist ein guter Anfang, und es hat einen Link zum Original-Papier (der Beweis ist allerdings etwas beteiligt). Der Grund, warum Sie ein Sigmoid im Gegensatz zu etwas anderem verwenden würden, ist, dass es kontinuierlich und differenzierbar ist, seine Ableitung ist sehr schnell zu berechnen (im Gegensatz zu der Ableitung von tanh, die ähnliche Eigenschaften hat) und hat eine begrenzte Reichweite (von 0 zu 1, exklusiv)

+1

Schöne Antwort, aber die Annahme "kontinuierlich (und damit differenzierbar)" steht nicht. Beispiel: abs (x), das bei Null stetig, aber nicht differenzierbar ist. – Michael

+0

Stimmt, editiert meine Antwort – mbatchkarov

+1

Der Wikipedia-Artikel sagt dies jedoch: * "Kurt Hornik zeigte 1991, dass es nicht die spezifische Wahl der Aktivierungsfunktion ist, sondern die Multilayer-Feedforward-Architektur selbst, die neuronalen Netzwerken das Potenzial gibt Universal-Approximatoren. Die Ausgabeeinheiten werden immer als linear angenommen. "* Tatsächlich scheint es nichts zu sagen über das Erfordernis einer nichtlinearen Aktivierungsfunktion. Aber die formale Aussage des Theorems sagt "nichtkonstante, beschränkte und monoton wachsende kontinuierliche Funktion" - vielleicht bedeutet der * beschränkte * und monotone Teil Nichtlinearität? – Desty

Verwandte Themen