Bewertung der Zuverlässigkeit von Auswahlmethoden für Tests im Deep Learning
Dieser Artikel untersucht Schwächen bei den Auswahlmethoden von Tests für Deep-Learning-Systeme.
― 10 min Lesedauer
Inhaltsverzeichnis
Das Testen von Systemen, die Deep Learning nutzen, ist echt wichtig, aber es frisst auch viel Zeit und Mühe. Eine grosse Herausforderung ist das Labeln der Daten, die wir sammeln. Um den Aufwand fürs Labeln zu reduzieren, haben Leute verschiedene Testauswahlmethoden entwickelt. Diese Methoden verlangen nur, dass ein kleiner Teil der Testdaten gelabelt wird, während sie dennoch den Testanforderungen gerecht werden. Viele dieser Methoden wurden jedoch nur in einfachen Situationen getestet, wie zum Beispiel mit den gleichen Daten, auf denen sie trainiert wurden. Das wirft die Frage auf: Können wir diesen Methoden immer vertrauen?
In diesem Artikel schauen wir uns an, wann und wie Testauswahlmethoden vielleicht nicht so funktionieren, wie sie sollten. Wir starten, indem wir einige Schwächen in 11 verschiedenen Testauswahlmethoden aufzeigen, die aus angesehenen Quellen stammen. Dann untersuchen wir fünf Datensätze mit zwei Modelltypen für jeden Datensatz, um herauszufinden, ob diese Schwächen in der Praxis tatsächlich existieren. Unser Ziel ist es zu zeigen, wie diese Schwächen die Testauswahlmethoden unzuverlässig machen können. Beispielsweise können Methoden, die nach Fehlern suchen, bei zwei Arten von Testdaten Probleme haben: 1) Daten, die korrekt klassifiziert sind, aber ungewiss, und 2) Daten, die falsch klassifiziert, aber sicher sind. Tatsächlich kann die relative Abdeckung der Testdaten um bis zu 86,85 % sinken. Andererseits sind Methoden zur Leistungsbewertung empfindlich gegenüber dem Teil des Modellausgangs, der ausgewählt wird.
Deep Learning ist zu einem Schlüsselelement vieler alltäglicher Systeme geworden, wie Gesichtserkennung, Chatbots und selbstfahrende Autos. Wie traditionelle Software-Systeme müssen auch diese Deep-Learning-Systeme gründlich getestet werden, um sicherzustellen, dass sie den Nutzererwartungen entsprechen. Der zentrale Bestandteil dieser Systeme ist typischerweise ein tiefes neuronales Netzwerk (DNN). Eine gängige Methode, sie zu testen, ist die Bewertung ihrer vortrainierten Modelle.
DNNs lernen aus den Daten, auf denen sie trainiert wurden, und treffen dann Entscheidungen basierend auf neuen Daten. Es ist entscheidend, hochwertige Trainingsdaten und eine breite Vielfalt von Testdaten mit korrekten Labels zu haben. Doch diese gelabelten Testdaten zu bekommen, ist schwierig wegen des intensiven Labeling-Aufwands, menschlicher Arbeit und spezifischem Wissen, das erforderlich ist. Herauszufinden, wie man DNNs effektiv mit weniger gelabelten Testdaten testet, ist ein heisses Thema für Forscher.
Ein vielversprechender Ansatz für dieses Labeling-Problem ist die Verwendung von Testauswahltechniken für Deep Learning. Das bedeutet, dass nur ein Teil des Datensatzes gelabelt wird. Verschiedene Testauswahlmethoden wurden hauptsächlich im Bereich Software Engineering vorgeschlagen. Diese Methoden lassen sich allgemein in zwei Typen unterteilen: 1) Testauswahl zur schnellen Fehlererkennung und 2) Testauswahl zur Schätzung, wie gut das Modell funktioniert. Zur Vereinfachung nennen wir diese Fehlererkennung und Leistungsbewertungsmethoden. Fehlererkennungsmethoden zielen darauf ab, Daten zu finden, die wahrscheinlich falsch klassifiziert werden. Diese Daten können dann verwendet werden, um die Modellleistung durch erneutes Training zu verbessern. Leistungsbewertungsmethoden wählen einen kleinen Datensatz aus, der den gesamten Testdatensatz repräsentiert, sodass eine Annäherung an die Modellleistung möglich ist.
Wir müssen jedoch wissen, wie robust diese Methoden sind, besonders im Umgang mit ungewöhnlichen oder veränderten Daten. Die Zuverlässigkeit von Testauswahlmethoden erfordert eine sorgfältige Untersuchung, um herauszufinden, wann sie möglicherweise versagen, und noch wichtiger, welche Schäden dies für die Nutzer verursachen könnte. Wenn diese Methoden den Testanforderungen nicht gerecht werden, könnte das zu verschwendeten Ressourcen für Labeling und Testbudgets führen. Zum Beispiel basieren viele Fehlererkennungsmethoden auf der Annahme, dass unsichere Daten eher falsch klassifiziert werden. Sie glauben, dass Daten, über die ihr Modell unsicher ist (das heisst, es ist sich seiner Vorhersage nicht sicher), wahrscheinlich falsch klassifiziert werden. Diese Annahme kann jedoch dazu führen, dass der Auswahlprozess Fehler übersieht, die sicher erscheinen. Wenn man also mit vielen unsicheren Daten konfrontiert ist, funktionieren Fehlererkennungsmethoden möglicherweise nicht gut.
Wir denken, dass viele derzeitige Testauswahlmethoden nicht robust sind. Es ist wichtig, ihre Grenzen zu kennen, damit sie zuverlässig eingesetzt werden können. In diesem Artikel untersuchen wir diese Probleme und konzentrieren uns darauf, wann und wie Testauswahlmethoden versagen. Wir beginnen mit einer Umfrage bestehender Fehlererkennung- und Leistungsbewertungsmethoden. Insgesamt identifizieren wir acht Fehlererkennungsmethoden und drei Leistungsbewertungsmethoden, einschliesslich zufälliger Auswahl. Danach betrachten wir potenzielle Fallstricke in diesen Methoden basierend auf ihrem Design. Anschliessend führen wir eine empirische Studie durch, um zu sehen, ob diese Fallstricke wirklich relevant sind. Wir entwerfen Methoden, um diese Probleme hervorzurufen. Schliesslich bieten wir basierend auf unseren Erkenntnissen Richtlinien an, wie man Testauswahlmethoden robust bewerten kann, wenn neue entwickelt werden. Unsere Studie umfasst fünf bekannte Datensätze, wie Traffic-sign und CIFAR100, mit zwei beliebten Modellarchitekturen für jeden Datensatz.
Zentrale Ergebnisse
- Alle Fehlererkennungsmethoden haben Schwierigkeiten mit zwei Arten von Testdaten: 1) korrekt klassifizierte, aber unsichere Daten, und 2) falsch klassifizierte, aber sichere Daten. Im Durchschnitt sinkt die Effektivität der Testauswahlmethoden um 52,49 % und 39,80 %, wenn sie mit diesen beiden Datentypen konfrontiert werden.
- Die beiden Arten von Testdaten schädigen ernsthaft die Modellreparaturbemühungen. Im Umgang mit ihnen schneidet sogar die zufällige Auswahl besser ab als fortgeschrittenere Methoden wie PRIMA, TestRank und DSA. Konkret zeigen 55 von 80 reparierten Modellen eine verringerte Genauigkeit, wenn sie mit den korrekt klassifizierten, aber unsicheren Daten konfrontiert werden.
- Die Effektivität bestehender Leistungsbewertungsmethoden wird stark davon beeinflusst, welche Ausgabeschichten des Modells gewählt werden. Diese Methoden können schlechter abschneiden als die zufällige Auswahl, wenn eine ungeeignete Schicht ausgewählt wird.
Hintergrund und verwandte Arbeiten
Deep Learning Testing
Das Testen von DNNs zielt darauf ab, ihre Leistung unter verschiedenen Datenverteilungen sicherzustellen, einschliesslich solcher, die den Trainingsdaten ähnlich sind. Es gibt zwei Hauptziele für Tests: 1) natürliche Robustheit sicherzustellen (Leistung gegenüber variierenden Datenverteilungen) und 2) die Überprüfung der adversarialen Robustheit (Widerstand gegen Sicherheitsbedrohungen). Für die natürliche Robustheit sind viele Testdaten erforderlich, um verschiedene Verteilungen abzudecken, während das Testen der adversarialen Robustheit das Erstellen adversarialer Beispiele zur Bewertung der Modellresilienz beinhalten kann.
Testauswahl für DNNs
Testauswahlmethoden helfen, DNNs zu testen, ohne umfangreiches Labeling zu erfordern. Der erste Typ sucht nach Daten, die anfällig für Fehlklassifizierungen sind, und der zweite wählt repräsentative Daten aus, um die Modellleistung zu schätzen. Anstatt neue Methoden vorzuschlagen, hebt dieser Artikel hervor, wann bestehende Methoden möglicherweise versagen.
Empirische Studien zum Deep Learning Testing
Viele Studien haben vorhandene Techniken für das Deep Learning Testing untersucht. Diese Studien untersuchen die Zusammenhänge zwischen verschiedenen Testkriterien und der Modellleistung, den Nutzen von Mutationstests auf DNNs und wie sich die Testauswahl auf die Modellreparaturleistung auswirkt, wenn sich die Datenverteilungen ändern. Im Gegensatz zu früheren Studien konzentrieren wir uns auf zwei Arten von Tests und betrachten komplexere Testszenarien, um Schwächen in den Methoden aufzudecken.
Analyse der Testauswahlmethoden
Dieser Abschnitt fasst wichtige Testauswahlmethoden zusammen.
Fehlererkennungsmethoden
Fehlererkennungsmethoden konzentrieren sich darauf, Testdaten zu identifizieren, die das Modell möglicherweise falsch klassifizieren wird. Diese Methoden helfen, Schwächen im DNN-Modell zu diagnostizieren. Hier sind einige Beispiele:
- Distance-based Surprise Adequacy (DSA): Diese Methode misst die Unterschiede zwischen Aktivierungsspuren in Testmustern und dem Trainingssatz.
- DeepGini: Diese Methode bewertet die Unsicherheit in Vorhersagen.
- Multiple-boundary Clustering and Prioritization (MCP): Clustert die Daten in Verwirrungsbereiche für eine bessere Auswahl.
- Monte Carlo Dropout Uncertainty (MC): Nutzt Dropout-Techniken, um mehrere Vorhersagen zu erhalten, um die Unsicherheit zu beurteilen.
- Maximum Probability (MaxP): Berücksichtigt das Vertrauen des Modells in seine Vorhersagen.
- TestRank: Eine lernbasierte Methode, die Graphinformationen verwendet, um die Auswahl zu verbessern.
- PRIMA: Generiert Mutanten aus Eingabedaten und bewertet Fehler basierend auf Eigenschaften dieser Mutanten.
- Adaptive Test Selection (ATS): Vertraut ausschliesslich auf die Endausgabewahrscheinlichkeit der Daten.
Leistungsbewertungsmethoden
Diese zielen darauf ab, eine Teilmenge von Testdaten auszuwählen, die den gesamten Satz gut repräsentiert. Beispiele hierfür sind:
- Cross Entropy-based Sampling (CES): Wählt Daten mit minimaler Kreuzentropie aus.
- Practical Accuracy Estimation (PACE): Clustert Daten und wählt Proben aus, um die Gruppe gleichmässig zu repräsentieren.
Fallstricke der Testauswahlmethoden
Wir glauben, dass es drei Hauptfallstricke gibt, die den Erfolg von Testauswahlmethoden beeinträchtigen:
- Blindheit gegenüber hoch unsicheren, aber korrekt klassifizierten Daten: Fehlererkennungsmethoden nehmen im Allgemeinen an, dass hohe Unsicherheit eine Wahrscheinlichkeit für Fehlklassifizierungen anzeigt. Dies gilt jedoch nur für gut trainierte Modelle.
- Blindheit gegenüber niedriger Unsicherheit, aber falsch klassifizierten Daten: Fehlererkennungsmethoden übersehen Daten mit niedriger Unsicherheit, die aber falsch klassifiziert sind.
- Anfälligkeit für die Schichtenauswahl: Leistungsbewertungsmethoden hängen stark davon ab, welche Schichtausgaben gewählt werden, was es schwierig macht, die beste Wahl über verschiedene Datensätze hinweg zu bestimmen.
Studienaufbau
Dieser Abschnitt umreisst das Design unserer empirischen Studie zur Bewertung der Testauswahlmethoden. Wir werden versuchen, fünf Forschungsfragen zur Effektivität dieser Methoden und ihrer Fähigkeit, mit verschiedenen Datentypen umzugehen, zu beantworten.
Experimentelle Einrichtung
Für unsere Studie haben wir mehrere Datensätze verwendet, darunter MNIST, SVHN, CIFAR10, CIFAR100 und Traffic-Sign. Jeder Datensatz verwendet zwei beliebte DNN-Architekturen, die aus bekannten Modellen abgeleitet wurden.
Ergebnisse und Diskussionen
RQ1: Leistung der ursprünglichen Testdaten
Unsere Analyse zeigt, dass keine Testauswahlmethode konstant besser abschneidet als die anderen über die Datensätze hinweg. Allerdings schneiden DeepGini und MaxP in vielen Situationen gut ab.
RQ2: Einfluss von Type1-Testdaten
Testauswahlmethoden schneiden in der Regel schlechter ab, wenn sie mit Type1-Testdaten konfrontiert werden, mit durchschnittlichen Effektivitätsreduktionen von über 52 %.
RQ3: Einfluss von Type2-Testdaten
Testauswahlmethoden haben Schwierigkeiten, Type2-Fehler zu identifizieren, was zu einem durchschnittlichen Rückgang der Leistung von 39,80 % führt.
RQ4: Modellreparatur
Wir stellen fest, dass Type1- und Type2-Testdaten die Modellreparaturbemühungen negativ beeinflussen, oft zu einer Genauigkeitsminderung bei neu trainierten Modellen führen.
RQ5: Leistungsbewertung
Unsere Ergebnisse zeigen, dass Leistungsbewertungsmethoden empfindlich gegenüber der Wahl der Zwischenausgaben sind, wobei einige schlechter abschneiden als die zufällige Auswahl.
Richtlinien für die Entwicklung von Testauswahlmethoden
Angesichts der Herausforderungen, die wir in unserer Studie beobachtet haben, geben wir mehrere Richtlinien für die Entwicklung zuverlässigerer Testauswahlmethoden.
- Vermeide es, sich ausschliesslich auf Ausgabewahrscheinlichkeiten zu verlassen: Nutze zusätzlich Datenmerkmale zusammen mit Ausgabewahrscheinlichkeiten.
- Bewerte Lernmodelle: Stelle sicher, dass Lernmodelle verschiedene Arten von Fehlern identifizieren können.
- Überprüfe die Verteilung der Testdaten: Bestätige vor der Modellreparatur, dass die Testdaten der erwarteten Verteilung folgen.
- Entwickle Lösungen zur Schichtenauswahl: Erstelle Methoden, um geeignete Zwischenschichten auszuwählen, wenn du Leistungsbewertungstechniken verwendest.
Bedrohungen der Validität
Es gibt einige externe Bedrohungen basierend auf den verwendeten Testauswahlmethoden, Datensätzen und Modellen. Die interne Bedrohung betrifft, wie diese Methoden und der Testgenerierungsalgorithmus implementiert sind. Schliesslich adressiert die Konstruktbedrohung die Konfigurationen, die in diesen Methoden und Testgenerierungsprozessen angewendet werden.
Fazit
Durch die systematische Identifizierung und Bewertung der Grenzen verschiedener Testauswahlmethoden wollen wir die Zuverlässigkeit des Deep Learning Tests verbessern. Wir haben festgestellt, dass Methoden zur Fehlererkennung viele Fehler übersehen, wenn Modelle sich ihrer Fehlklassifizierung sicher sind, und fälschlicherweise niedriges Vertrauen als Fehler identifizieren können. Darüber hinaus kann die Auswahl der Daten die Modellleistung während der Reparatur verschlechtern. Methoden zur Leistungsbewertung leiden ebenfalls, wenn ungeeignete Ausgaben ausgewählt werden.
Zusammenfassend lässt sich sagen, dass das Bewusstsein für diese Fallstricke helfen kann, bestehende Auswahlmethoden zu verfeinern und die Entwicklung neuer Methoden zu leiten, was letztendlich zu besseren Testpraktiken für Deep-Learning-Systeme führt.
Titel: Evaluating the Robustness of Test Selection Methods for Deep Neural Networks
Zusammenfassung: Testing deep learning-based systems is crucial but challenging due to the required time and labor for labeling collected raw data. To alleviate the labeling effort, multiple test selection methods have been proposed where only a subset of test data needs to be labeled while satisfying testing requirements. However, we observe that such methods with reported promising results are only evaluated under simple scenarios, e.g., testing on original test data. This brings a question to us: are they always reliable? In this paper, we explore when and to what extent test selection methods fail for testing. Specifically, first, we identify potential pitfalls of 11 selection methods from top-tier venues based on their construction. Second, we conduct a study on five datasets with two model architectures per dataset to empirically confirm the existence of these pitfalls. Furthermore, we demonstrate how pitfalls can break the reliability of these methods. Concretely, methods for fault detection suffer from test data that are: 1) correctly classified but uncertain, or 2) misclassified but confident. Remarkably, the test relative coverage achieved by such methods drops by up to 86.85%. On the other hand, methods for performance estimation are sensitive to the choice of intermediate-layer output. The effectiveness of such methods can be even worse than random selection when using an inappropriate layer.
Autoren: Qiang Hu, Yuejun Guo, Xiaofei Xie, Maxime Cordy, Wei Ma, Mike Papadakis, Yves Le Traon
Letzte Aktualisierung: 2023-07-29 00:00:00
Sprache: English
Quell-URL: https://arxiv.org/abs/2308.01314
Quell-PDF: https://arxiv.org/pdf/2308.01314
Lizenz: https://creativecommons.org/licenses/by-nc-sa/4.0/
Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.
Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.