Ich programmiere ein neuronales Netzwerk, um eine Idee zu testen, die ich habe. Das Problem ist, dass ich nicht einmal in der Lage war zu testen, wie gut das Netzwerk funktioniert, weil es immer die exakt gleiche Ausgabe liefert, unabhängig von der Eingabe.Gleicher Ausgang mit verschiedenen Eingängen (neuronales Netzwerk)
Das Netzwerk wird mit dem MNIST-Datensatz trainiert und verfügt über 10 Ausgangsknoten.
Einfach dadurch, wie neuronale Netze Mathematik berechnen, selbst wenn das neuronale Netz nicht konvergiert, würde es immer noch keinen mathematischen Sinn ergeben, dass es die exakt gleiche Ausgabe bis auf die Millionstel Dezimalstelle ausgeben würde.
Immer wenn ich das Netzwerk neu trainiere, hat es natürlich eine neue Ausgabe, wahrscheinlich aufgrund der neuen Menge berechneter Gewichte. Aber diese Ausgabe bleibt dann gleich, unabhängig von der Eingabe.
Hat jemand eine Idee, was das Problem sein könnte?
Edit:
Ich bin eine Sigmoid-Funktion.
Nachdem ich es trainiere und abfrage, sieht meine Ausgabe in etwa so aus.
`array([[ 0.10651613],
[ 0.11501053],
[ 0.11034159],
[ 0.11213908],
[ 0.10754446],
[ 0.09952921],
[ 0.10827382],
[ 0.11763775],
[ 0.10538466],
[ 0.10562691]])
Dann werde ich es mit einem anderen Eingang abfragen, und wird die gleiche genaue Ausgabe erhalten.
Es kommt darauf an. Sie haben keine Informationen über die Struktur Ihres Netzwerks, die Aktivierung oder die Ausgabe angegeben. Außerdem werde ich eine Aufnahme im Dunkeln machen, aber du wirst wahrscheinlich einen explodierenden Gradienten sehen. –
Ich verwende eine Sigmoid-Funktion. Nachdem ich es trainiere und abfrage, sieht meine Ausgabe in etwa so aus. Array ([[0,10651613], [0,11501053], [0,11034159], [0,11213908], [0,10754446], [0,09952921], [0,10827382], [0,11763775], [0,10538466], [0.10562691]]) Dann werde ich es mit einem anderen Eingang abfragen, und bekomme die gleiche genaue Ausgabe. –
Ich habe ein paar Ideen bezüglich des Problems und der möglichen Lösung. Aber es ist unmöglich, ohne Code sicher zu sagen. :) –