Höhere Überanpassung durch Datenerweiterung mit Rauschen?

8

Ich trainiere ein neuronales Netzwerk für die Audioklassifizierung.

Ich habe es auf dem UrbanSound8K-Datensatz (Modell 1) trainiert und wollte dann bewerten, wie unterschiedliche Pegel des zusätzlichen Rauschens zu den Eingaben die Vorhersagegenauigkeit beeinflussen. Basisgenauigkeit Modell1 = 65%

Wie erwartet führten höhere Geräuschpegel zu einer geringeren Genauigkeit.

Dann entschied ich mich für eine Datenerweiterung mit Rauschen (Modell 2) . Also nahm ich den Datensatz und duplizierte ihn mit denselben Dateien, fügte ihnen jedoch rosa Rauschen (+0 dB SNR) hinzu.

Wie erwartet (von mir) erhöhte sich die Gesamtgenauigkeit (allerdings um 0,5%) und das Netzwerk wurde robuster gegenüber Rauschverfälschungen der Eingänge.

Jedoch! Eine Sache, die ich nicht erwartet hatte, war, dass das Netzwerk jetzt seine Genauigkeit reduziert hat, wenn nur Eingaben ohne Rauschen (Validierungseingaben) vorhergesagt wurden. Irgendwie hat es sich an die sauberen Eingänge angepasst, wodurch die Vorhersagegenauigkeit dieser Audios verringert wurde.

In Zahlen prognostiziert Model2 eine Genauigkeit von 69% für verrauschte Eingaben (nicht unbedingt das gleiche Rauschen, mit dem trainiert wurde) und eine Genauigkeit von 47% für saubere Eingaben.

Gibt es eine Erklärung oder Intuition für dieses Ergebnis?

Ich hatte erwartet, dass das Netzwerk, das jetzt immer vielfältigere Trainingsdaten hat, aussagekräftigere Funktionen lernen würde. Ich denke, es ist schwieriger, sich an die verrauschten Eingänge anzupassen, aber ich verstehe immer noch nicht, warum es hauptsächlich an die sauberen Eingänge angepasst wurde.

--------------------------------------------- BEARBEITEN 1 --------------------------------------------- ---------------

Eine weitere Information, die hilfreich sein kann:

Selbst wenn Model2 an verrauschten Eingängen mit sehr wenig Rauschen ausgewertet wird, ist das Netzwerk weitaus leistungsfähiger als nur an sauberen Eingängen (die den Eingängen mit wenig Rauschen für unsere Ohren sehr ähnlich sind).

sdiabr
quelle
Wenn Sie sagen, dass die Genauigkeit verringert wurde, wenn nur die ursprünglichen Eingaben vorhergesagt wurden, meinen Sie damit die unverfälschten Trainingsdaten oder die unverfälschten Validierungsdaten? Sie sollten erwarten, dass es bei ersteren schlechter, bei letzteren jedoch besser wird.
Shimao
Ich meinte die unverfälschten Validierungsdaten @shimao
sdiabr
Normalisieren Sie Ihre Eingaben vor oder nach der Datenerweiterung? Wie normalisierst du dich?
Jonny Lomond
Ich habe keine Eingangsnormalisierung durchgeführt ..
sdiabr
Hat Ihr Trainingsset jetzt sowohl "saubere" als auch "verrauschte" Daten oder nur "verrauschte"?
Zhubarb

Antworten:

2

Sie passen ein Modell an fehlerfreie Eingabefunktionen an. Dann haben Sie Ihren Daten einen Fehler (Rauschen) hinzugefügt und das Modell erneut angepasst. Sie haben bei verrauschten Eingängen (fehlerhafte Eingänge) eine schlechtere Vorhersage beobachtet als bei rauschfreien Eingängen (fehlerfreie Eingänge). Sie haben erwartet, dass das Modell bei rauschfreien Eingängen genauso gut ist wie das Vorgängermodell und bei verrauschten Eingängen besser.

Sie haben keine weiteren Trainingsdaten hinzugefügt, sondern lediglich dieselben Daten mit Rauschen dupliziert. Intuitiv wird ein Modell, das auf ALLE rauschfreien Eingaben trainiert wurde, genauere Vorhersagen haben, wenn Eingaben auch rauschfrei sind, als ein Modell, das auf ALLE verrauschten Daten trainiert wurde. In ähnlicher Weise ist meine Intuition, dass ein Modell, das mit allen verrauschten Daten trainiert wurde, bei der Vorhersage von verrauschten Eingaben genauer ist als ein Modell, das mit allen rauschfreien Daten trainiert wurde. Wenn Sie eine Mischung aus rauschfreien und verrauschten Daten haben, haben Sie meiner Meinung nach bessere Vorhersagen für verrauschte Daten als ein Modell, das nur mit rauschfreien Daten trainiert wurde, und bessere Vorhersagen für rauschfreie Daten als ein Modell, das nur mit rauschfreien Daten trainiert wurde. Dies scheint mit dem übereinzustimmen, was Sie beobachtet haben.

BEARBEITEN:

Grundsätzlich tritt eine Überanpassung auf, wenn wir Rauschen in den Daten mit Signal verwechseln. Ich verwende den Begriff Lärm im konzeptuellen Sinne von nutzlosen Informationen oder Informationen, die nur für Trainingsdaten spezifisch sind. In diesem Fall passt das Modell gut zu den Trainingsdaten, lässt sich jedoch nicht gut verallgemeinern. Stellen Sie sich vor, wir haben Punkte und das Modell interpoliert alle Punkte. Wenn die Punkte verrauscht sind, ist dieses Verhalten unerwünscht. Mein rudimentäres Wissen über die Datenerweiterung ist, dass sie die Überanpassung reduziert, da das Modell, das wir anpassen, beim Hinzufügen von Rauschen zu Trainingsdaten dazu neigt, den Fehler zwischen diesen nahe gelegenen Punkten auszugleichen, um den Gesamtfehler zu minimieren. Dieses Modell ist im Durchschnitt besser, da es weniger Fehler bei der Vorhersage von verrauschten und rauschfreien Daten aufweist. Es wird besser auf Daten verallgemeinert, die sich geringfügig von den Trainingsdaten unterscheiden können. Jedoch,

Nat
quelle
Danke für die Antwort @Nat. Ein paar Anmerkungen: Im ersten Absatz sagen Sie: "Dann haben Sie einige hinzugefügt ... und das Modell erneut angepasst". Ich habe das Modell nicht erneut angepasst. Ich habe nur das Modell getestet, das auf saubere Eingaben und verrauschte Eingaben trainiert wurde. Was Sie am Ende sagen, ist wahr, aber das habe ich nicht beobachtet. Was ich beobachtet habe ist, dass das Modell, das auf clean_inputs + noisy_inputs trainiert wurde, verrauschte Eingaben besser vorhersagt als ein Modell, das auf saubere Eingaben trainiert wurde (irgendwie offensichtlich), ABER! es sagt mit weniger Genauigkeit saubere Eingaben voraus.
Sdiabr
Wenn ich das verstehe, denke ich, dass die Wortwahl „wieder zum Modell passen“ problematisch ist. Sie haben zwei Modelle: 1) trainiert für saubere Daten 2) trainiert für saubere und verrauschte Daten. Das wollte ich sagen. Ich verstehe nicht, wie sich das, was Sie in Ihrem Kommentar beschreiben, von dem unterscheidet, was ich in meiner Antwort gesagt habe. "... bessere Vorhersagen für rauschfreie Daten als ein Modell, das nur für verrauschte Daten trainiert wurde." Das Modell, das nur auf verrauschten Daten trainiert wird, ist ein hypothetisches Modell (3).
Nat
Sorry ja, ich glaube ich habe etwas falsch verstanden. Die Frage ist jedoch: Warum, wenn ich das Modell auf Rauschen + saubere Eingaben trainiere, die Genauigkeitsvorhersage für saubere Eingaben in Bezug auf die Genauigkeitsvorhersage sauberer Eingaben abnimmt, wenn sie auf dem Modell ausgewertet wird, das nur mit sauberen Eingaben trainiert wurde ... Ist nicht was Ich habe den ganzen Punkt der Datenerweiterung gemacht? Ich dachte, dass das Einspeisen unterschiedlicher Daten in das Netzwerk das Netzwerk dazu zwingen wird, bessere Funktionen zu erlernen und eine bessere Leistung zu erzielen.
Sdiabr
Ich habe meine Antwort als Antwort auf Ihren Kommentar bearbeitet
Nat
Warum sagen Sie, dass "das Modell nicht zwischen verrauschten und rauschfreien Daten unterscheidet"? Danke für die Antworten, ich weiß das zu schätzen. Trotzdem hatte ich auf eine etwas "wissenschaftlichere" Antwort gehofft, daher werde ich die Antwort vorerst nicht akzeptieren.
Sdiabr