Heute soll es mal etwas detaillierter darum gehen, was für Fehler maschinelle Lernverfahren, im Speziellen neuronale Netze, typischerweise machen, wie man diese findet und wie man sie behebt — oder eher: warum es so schwer ist, sie zu beheben.
Zusammenfassung: Ganz kurz für Beepo
- Es gibt ganz verschiedene Fehlerursachen, z.B. Bias in den Daten, zu hohe/niedrige Modellkapazität, Konvergenzprobleme, ein falsches Optimierungsziel oder technologiespezifische Probleme wie Adversarial Examples bei neuronalen Netzen.
- Es ist nicht einfach, Fehler zu finden.
- Es ist noch weniger einfach, sie zu beheben. Oft hilft nur ein erneutes Trainieren.
Beispiele von bekannten Fehlertypen
Bias und Reward Hacking
- Korrelation = wechselseitige Beziehung zwischen zwei Merkmalen (z.B. Nacht und Anzahl an Personen, die unterwegs sind), wobei die Beziehung nicht kausal sein muss!
- Bias = systematische Abweichung/Verzerrung eines Zusammenhangs
In der Praxis: Merkmale treten häufig gemeinsam auf, deren Zusammenhang sich aber nicht verallgemeinern lässt
(z.B. eine Auswahl von Bildern in der Nacht auf denen viele Menschen zu sehen sind ließe vermuten; nachts ist aber normalerweise wenig los) - Problem: ML Funktion verlässt sich auf diese (irrelevanten) Merkmale für seine Vorhersage
- Beispiele von unabsichtlichem Bias:
- Fehlerhafte Korrelationen bzw. Clever Hans Effekt (in der Klassifikation) = zur Klassenbestimmung werden einfache Merkmale verwendet, die zwar häufig mit Objekten der Klasse einhergehen, aber in Realität nicht zur Aufgabenlösung geeignet wären; Beispiele:
- Datum in der Bildunterschrift (aus dem SpRay Paper)
- Schnee wird als vorwiegendes Merkmal für Husky verwendet (aus dem LIME Paper)
- Reward Hacking = falsch formuliertes Trainingsziel, welches Abkürzungen zulässt, die die eigentliche Aufgabe umgehen (s. Paper von Google);
Beispiele:- Lösen von Planungsaufgaben: z.B.
- Eigentliche Aufgabe: Aufräumen; Zielformulierung: keine herumliegenden Sachen mehr zu sehen; Gewählte Lösung: einfach die Augen zu halten!
- Eigentliche Aufgabe: Spiel erfolgreich spielen; Zielformulierung: Spiel gewinnen; Gewählte Lösung: Glitches (=Spielfehler) ausnutzen!
- Lösen von Planungsaufgaben: z.B.
- Fehlerhafte Korrelationen bzw. Clever Hans Effekt (in der Klassifikation) = zur Klassenbestimmung werden einfache Merkmale verwendet, die zwar häufig mit Objekten der Klasse einhergehen, aber in Realität nicht zur Aufgabenlösung geeignet wären; Beispiele:
- Daten können auch absichtlich verunreinigt werden!
Beispiele:- Twitter Chatbot Tay von Microsoft: Ein Chatbot basierend auf künstlicher Intelligenz sollte durch freie Interaktion auf Twitter angelernt werden. Trolle haben dem Bot innerhalb kürzester Zeit alle möglichen inakzeptablen Aussagen beigebracht.
- Peniszeichnungen: Google hat einen großen Datensatz aus einfachen Zeichnungen durch ein einfaches Spiel gesammelt. Aus den gesammelten Zeichnungen mussten sicherlich einige absichtlich eingefügte anstößige Zeichnungen aussortiert werden, wie die Initiative „Do Not Draw a Penis“ vermutet.
Konvergenzprobleme
- Underfitting = das Modell hat aus den Trainingsdaten nicht genug gelernt und schafft es nicht einmal, auf den Trainingsdaten gute Ergebnisse zu erbringen;
Mögliche Ursachen:- Zu kurzes Training: Einige maschinelle Lernverfahren (z.B. neuronale Netze) können iterativ trainiert werden. Ein verfrühter Trainingsabbruch bedeutet, dass das Modell noch nicht genug gelernt hat, um gut zu funktionieren.
- Modellkapazität = Vermögen mithilfe des Modells Funktionen anzunähern;
Zu geringe Kapazität heißt, dass das Modell „zu einfach“ ist und die Funktion gar nicht lernen KANN.
Beispiele:- Nicht alle Probleme sind linear!
- Restriction/Language Bias: Modelle werden mit Algorithmen trainiert, die nicht die Hypothesensprache sprechen, die benötigt wird.
- Overfitting = das Modell hat die Trainingsdaten teilweise auswendig gelernt und schafft es nicht mehr, auf andere Daten zu generalisieren;
Mögliche Ursachen: Zu große Modellkapazität +- zu langes Training und / oder
- zu wenige Beispiele, die zu oft gezeigt werden
- Meist leicht zu finden durch Vergleich der Performanz auf Trainings- und Testdatensatz, aber schwer zu beheben!
Unerwünschte Seiteneffekte
- Unerwünschte Seiteneffekte im Reinforcement learning (=Planung) = ursprüngliches Problem wird gelöst, aber auf eine Art und Weise, die zusätzliche unvorhergesehene Probleme schafft (s. Paper „Concrete Problems in AI Safety“ von 2016); Beispiel:
- Beepo soll aufräumen und wird immer belohnt, wenn alle Sachen aus dem Weg geräumt wurden -> Beepo lernt, alle Sachen in den Schredder zu werfen.
Adversarial Examples
- DNNs: Adversarial Examples = sehr kleine, irrelevante Veränderungen in der Eingabe ändern die Ausgabe stark (ähnlich dem Schmetterlingseffekt);
Beispiele: ein wenig Pixelrauschen kann aus Sicht des Netzes …- … einen Bus in einen Vogelstrauß verwandeln (s. DLFuzz Paper)
- … ein Stop-Zeichen in eine Geschwindigkeitsbegrenzung verwandeln (s. „Robust Physical-world Attacks“ Paper)
- Mögliche Ursachen: Forschungsgegenstand!
Vermutungen:- Bias in den Daten bezüglich Rauschmustern in den Daten (s. Paper „Adversarial examples are not bugs, they are features“)
- „Hochfrequente“ Kompressionsartefakte
- Im praktischen Einsatz: Nicht robust gegenüber Veränderungen in der Domäne -> braucht ständige Updates!
- Beispiele bei einem Objekterkenner:
- neue Mode/Fashion (z.B. zu Karneval)
- neue Kameraposition (z.B. von Auto zu LKW)
- neue Beleuchtungsverhältnisse
- Gegenmaßnahmen: Möglichst diverse Beispiele beim Training verwenden, z.B. diverse „… in the wild“-Datensätze (z.B. LFW Datensatz)
- Beispiele bei einem Objekterkenner:
Fehler Finden und Beheben
- Fehler Finden:
- Ausführliches Testen
- Explainable AI
- Fehler Beheben: Meist geht nur erneutes Trainieren 🙁
Denn es muss oft eines von Folgendem angepasst werden:- Daten (z.B. gegen Bias und Adversarial Attacks)
- Netzwerkarchitektur (z.B. gegen Underfitting)
- Optimierungskriterium (z.B. gegen Reward Hacking)
Links und Sonstige schöne Quellen
- Demonstrationen, wie gut Bildgenerierung sein kann, vor allem für Gesichter (aber achtet mal auf die Darstellungsfehler, die häufig bei Haaren oder Brillen auftreten)
- Delphi = Versuch, einem Netzwerk Moral beizubringen (Klassifikation von Sätzen als OK/nicht OK): anfänglich wurden Sätze mit „if“ (=“wenn“) immer als „OK“ klassifiziert, z.B.
„Eine Giraffe stehlen, wenn es eine wirklich tolle Giraffe ist“ -> OK (s. AIWeirdness.com) - Geschichte des Pferds Clever Hans, welches vermeintlich zählen konnte
- Näheres zur Initiative „Do Not Draw a Penis„: Nachdem anstößige Symbole in öffentlichen Datensätze von Zeichnungen fehlen (in diesem Fall: Penisse), diese aber z.B. für effektives automatisches Filtern benötigt werden, will die Initiative einen Datensatz gerade solcher Zeichnungen zur Verfügung stellen.
- Weiteres Beispiel für Adversarial Examples: Eine Schildkröte wird in eine Waffe verwandelt aus Sicht eines DNNs wie in diesem Blog beschrieben.
- Adversarial Examples gibt es auch für Text oder Audio.
- Leichte Unterhaltung bietet euch „Echt Abgefakt“, Kulmbachs Nr. 1 Comedy-Podcast: https://www.echtabgefakt.de/
Neueste Ankündigungen