Nichtlinearität vor der endgültigen Softmax-Schicht in einem Faltungsnetzwerk


11

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,ixTθixθi
  • 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.xTθi

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?

max(0,xTθi)

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?



Sind die Schichten N-2, N-3, .. 1 linear oder nichtlinear?
Karel Macek

Ebenen von 1 (am nächsten am Eingang) bis N-1 sind nichtlinear. Schicht N ist die letzte (näher an der Ausgabe liegende) verborgene Schicht. Die Softmax-Schicht ist Schicht N + 1.
Rand

1
Was ist mit einer BN-Schicht direkt vor dem Softmax? Ist diese Nichtlinearität in Ordnung? (
Charlie Parker

Antworten:


11

Sie sollten für die letzte Ebene vor der Softmax-Klassifizierung keine Nichtlinearität verwenden. Die ReLU-Nichtlinearität (die jetzt fast ausschließlich verwendet wird) wirft in diesem Fall einfach Informationen weg, ohne zusätzlichen Nutzen hinzuzufügen. Sie können sich die Caffe-Implementierung des bekannten AlexNet ansehen, um zu erfahren, was in der Praxis gemacht wird.


2
Was ist mit einer BN-Schicht direkt vor dem Softmax? Ist diese Nichtlinearität in Ordnung? (
Charlie Parker

6

Möglicherweise möchten Sie einen negativen Wert an die Softmax-Funktion senden, um anzuzeigen, dass ein Ereignis eine geringe Wahrscheinlichkeit hat. Wenn Sie die Eingabewerte an ein Relu übergeben, leitet das Netzwerk keinen Gradienten durch die Einheiten, bei denen die Eingabe in das Relu negativ ist. Während sich die Ausdruckskraft des Softmax nicht ändert, wird es das Lernen wahrscheinlich viel schwieriger machen.


0

Die Antwort lautet nicht Ja oder Nein. Dies hängt stark von Ihren Erwartungen an Ihr Netzwerk ab. Ich gehe davon aus, dass Sie einen guten Klassifikator haben möchten, der möglicherweise auf eine Vielzahl von Problemen anwendbar ist. Daher kann die Nichtlinearität hilfreich sein, um nicht triviale Klassen zu erfassen. Die Nichtlinearität kann entweder in der letzten Schicht vor der Soft-Max-Schicht oder in der vorhergehenden Schicht enthalten sein.


Kannst du dir meine Bearbeitung ansehen?
Rand
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.