Ein Podcast über KI
Johannes und Gesina, zwei Freunde aus der Forschung, unterhalten sich über Themen rund um künstliche Intelligenz.

Welche Fehler machen neuronale Netze?

avatar
Johannes Rabold
avatar
Gesina Schwalbe

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!
  • Daten können auch absichtlich verunreinigt werden!
    Beispiele:

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 …
  • Mögliche Ursachen: Forschungsgegenstand!
    Vermutungen:
  • 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)

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/