Ich studiere und versuche, Faltungs-Neuronale Netze zu implementieren, aber ich nehme an, diese Frage gilt für mehrschichtige Perzeptrone im Allgemeinen.
Die Ausgangsneuronen in meinem Netzwerk stellen die Aktivierung jeder Klasse dar: Das aktivste Neuron entspricht der vorhergesagten Klasse für eine bestimmte Eingabe. Um die Cross-Entropie-Kosten für das Training zu berücksichtigen, füge ich am Ende des Netzwerks eine Softmax-Schicht hinzu, sodass der Aktivierungswert jedes Neurons als Wahrscheinlichkeitswert interpretiert wird.
Meine Frage ist: Sollten die Neuronen in der Ausgabeschicht eine nichtlineare Funktion auf die Eingabe anwenden? Meine Intuition ist, dass es nicht notwendig ist:
- Wenn die Eingabe in das te Ausgangsneuron das Punktprodukt zwischen einem Vektor (der aus der vorherigen Schicht stammt) und den Gewichten für dieses Neuron ist,
- und wenn ich eine monotone nichtlineare Funktion wie das Sigmoid oder die ReLU verwende
- dann entspricht der größere Aktivierungsausgang immer noch dem größten , so dass unter diesem Gesichtspunkt die nichtlineare Funktion die Vorhersage nicht ändern würde.
Stimmt etwas mit dieser Interpretation nicht? Gibt es einige Trainingsfaktoren, die ich übersehen habe und die die Nichtlinearität der Ausgabe erforderlich machen?
Und wenn ich recht habe, würde sich etwas ändern, wenn ich anstelle der Sigmoid-Funktion die ReLU -Funktion verwende, die nicht streng monoton ist?
BEARBEITEN
In Bezug auf Karels Antwort, deren Antwort im Grunde "es kommt darauf an" war, hier eine detailliertere Beschreibung meines Netzwerks und Zweifel:
Angenommen, ich habe N versteckte Schichten und meine Ausgabeschicht ist nur eine Softmax-Schicht über einer Reihe von Neuronen, die Klassen darstellen (meine erwartete Ausgabe ist also die Wahrscheinlichkeit, dass die Eingabedaten zu jeder Klasse gehören). Angenommen, die ersten N-1-Schichten haben nichtlineare Neuronen. Was ist der Unterschied zwischen der Verwendung nichtlinearer und linearer Neuronen in der N-ten verborgenen Schicht?