Unterschiedliche Ergebnisse auf verschiedene Pcs

Sie sind sich nicht sicher, in welches Forum Ihre Frage oder Ihr Anliegen passt?
Möchten Sie ein neues Forum vorschlagen? Möchten Sie Kritik am Forum selbst üben?

Dann posten Sie bitte hier.
Post Reply
Loknar
Posts: 4
Joined: Wed 29. Apr 2009, 11:04

Unterschiedliche Ergebnisse auf verschiedene Pcs

Post by Loknar »

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?
User avatar
Admin
Site Admin
Posts: 438
Joined: Sun 16. Nov 2008, 18:21

Re: Unterschiedliche Ergebnisse auf verschiedene Pcs

Post by Admin »

Dazu fällt mir erst einmal leine schlüssige Erklärung ein, muss ich zugeben.

Ich würde zur näheren Untersuchung zunächst einmal alles herausnehmen, was 'Zufall' nutzt, um vergleichbare Ergebnisse auf allen Rechnern zu erhalten.
Dazu gehört:
- Das Netz auf einem Rechner laden, randomisieren und abspeichern.
- Das Netz aus dieser Datei auf allen Rechnern laden.
- Beim Start des Trainings auf den Rechnern nicht erneut randomisieren (die entsprechende Frage also mit 'Nein' beantworten').
- Die selben Teacher-Einstellungen auf allen Rechnern verwenden
- Die 'Pattern Selection' auf 'Ordered' setzen.
- Die selben Datensätze auf allen Rechnern verwenden.

Ergeben sich jetzt immer noch unterschiedliche Werte?

Wird der Netzfehler (vgl. 'Klassifizierungsfehler' im Beitrag) eigentlich auf Basis eines separaten Validierungsdatensatzes gewonnen oder bezieht er sich auf den Trainingsdatensatz.

Das wäre wie gesagt mein Ansatz, das Phänomen einzukreisen. Eine Performanzabhängigkeit kann ich mir momentan nicht erklären.

Folgende Fragen noch: Wird eigentlich zum Training der Teacher im 'Auto'-Modus gestartet oder wird lediglich ein 'Teach Step' durchgeführt? Das ist nämlich ein wichtiger Unterschied: Im ersten Fall arbeitet der Teacher immer weiter, auch wenn die 100 * 50000 Lesson Repetitions abgearbeitet sind. Im letzteren Fall bricht er nach einem vollständigen Durchlauf automatisch wieder ab.

Gibt es ein Skript, über das das Ganze gesteuert wird oder handelt es sich um manuelle Bedienung von MemBrain?

Grüße
Post Reply