Unterschiedliche Ergebnisse auf verschiedene Pcs
Posted: Mon 26. Apr 2010, 11:37
Hallo,
ich nutze verschieden Rechner um ein ANN zur Klassifizierung von Lebensmitteln anhand von verschiedenster Sensorwerte zu trainieren.
Um abzuschätzen welche Sensordaten mindestens benötigt werden um das Lebensmittel noch richtig zu erkennen, trainiere ich verschiedene Netze mit unterschiedlicher Kombination der Sensordaten (bei 9 verschiednen Sensoren sind das einiges an Kombinationen).
Nun ist es mir per Zufall passiert (bzw. ich habe da wohl nicht aufgepasst), dass ich auf 3 Rechnern das gleiche Netz trainierte. Es kamen aber unterschiedliche Ergebnisse beim Training des Netzes heraus. Also habe ich dasselbe Netz auf 5 verschiedenen Rechnern nochmals Trainiert und habe ein ähnliches Ergebnis festgestellt.
Rechner1 (Dualcore 2,2gHz) 0 Kategorisierungsfehler
Rechner2 (Dualcore 1,8gHz) 1 Kategorisierungsfehler
Rechner3 (Centrino 1,8gHz) 3 Kategorisierungsfehler
Rechner4 (Pentium3m 1,2gHz) 9 Kategorisierungsfehler
Rechner5 (Pentium3m 1,2gHz) 15 Kategorisierungsfehler
Obwohl ich die Netze (meiner Meinung nach) immer gleich trainiere, konnte ich ein Leistungs-Abhänges Fehlerbild feststellen. Sprich je Leistungsstärker der PC war desto besser war das Kategorisierungs-Ergebnis des Netzes. Wenn ich das Training mehrmals auf Rechner 1 wiederhole erhalte ich Netze mit einer ähnlich niedrigen Fehlerrate.
Das Training des Netzes läuft folgendermaßen ab:
Es werden 100 Durchläufe mit „Random Order“ und 50.000 „Repetition per lesseon“ abgearbeitet. Den niedrigsten Net Error der dabei erreicht wurde nehme ich dann zum Endgültigen Training als Stoppbedingung (Wieder Random Order“ und 50.000 „Repetition per lesseon“). Falls der Neterror nicht nach 100-200 Durchläufen erreicht werden konnte erhöhe ich den Neterror zum Stoppen meist ein wenig.
Ist dieses Verhalten irgendwie erklärbar? Ist meine Trainingsmethode doch Leistungsabhängig?
ich nutze verschieden Rechner um ein ANN zur Klassifizierung von Lebensmitteln anhand von verschiedenster Sensorwerte zu trainieren.
Um abzuschätzen welche Sensordaten mindestens benötigt werden um das Lebensmittel noch richtig zu erkennen, trainiere ich verschiedene Netze mit unterschiedlicher Kombination der Sensordaten (bei 9 verschiednen Sensoren sind das einiges an Kombinationen).
Nun ist es mir per Zufall passiert (bzw. ich habe da wohl nicht aufgepasst), dass ich auf 3 Rechnern das gleiche Netz trainierte. Es kamen aber unterschiedliche Ergebnisse beim Training des Netzes heraus. Also habe ich dasselbe Netz auf 5 verschiedenen Rechnern nochmals Trainiert und habe ein ähnliches Ergebnis festgestellt.
Rechner1 (Dualcore 2,2gHz) 0 Kategorisierungsfehler
Rechner2 (Dualcore 1,8gHz) 1 Kategorisierungsfehler
Rechner3 (Centrino 1,8gHz) 3 Kategorisierungsfehler
Rechner4 (Pentium3m 1,2gHz) 9 Kategorisierungsfehler
Rechner5 (Pentium3m 1,2gHz) 15 Kategorisierungsfehler
Obwohl ich die Netze (meiner Meinung nach) immer gleich trainiere, konnte ich ein Leistungs-Abhänges Fehlerbild feststellen. Sprich je Leistungsstärker der PC war desto besser war das Kategorisierungs-Ergebnis des Netzes. Wenn ich das Training mehrmals auf Rechner 1 wiederhole erhalte ich Netze mit einer ähnlich niedrigen Fehlerrate.
Das Training des Netzes läuft folgendermaßen ab:
Es werden 100 Durchläufe mit „Random Order“ und 50.000 „Repetition per lesseon“ abgearbeitet. Den niedrigsten Net Error der dabei erreicht wurde nehme ich dann zum Endgültigen Training als Stoppbedingung (Wieder Random Order“ und 50.000 „Repetition per lesseon“). Falls der Neterror nicht nach 100-200 Durchläufen erreicht werden konnte erhöhe ich den Neterror zum Stoppen meist ein wenig.
Ist dieses Verhalten irgendwie erklärbar? Ist meine Trainingsmethode doch Leistungsabhängig?