Loading ⌛Loading ⌛

🐟 Rückschau: Künstliche Intelligenz für echte Fische

Fischsortieren [NOAA Photo Library, CC BY 2.0]1)

👩‍🦰 Erinnerst du dich an Sigrún, welche vor Island auf einem Hochseeschiff die beiden Fischsorten Hering und Lodde bei Wind und Wetter von Hand sortieren musste (siehe nebenstehende Abbildung)? Du hattest ihr geholfen, mithilfe eines neuronalen Netzes einen Fischsortierapparat zu entwickeln. Diese Seite fasst das Wichtigste noch einmal zusammen.

⚠️ Solltest du dich nicht mehr daran erinnern (oder dieses Abenteuer noch nicht durchlebt haben) so raten wir dir, die ersten 4 Teile der Story 🐟 Künstliche Intelligenz für echte Fische durchzuarbeiten (ca. 45 Minuten) und anschliessend weiter unten mit Kapitel „4. Spezialfälle“ weiterzufahren.

Hering [Citron, Public Domain]2)
Lodde [Fb78, Public Domain]3)
Inhaltsverzeichnis

1. Daten zusammenstellen

Vermessene Fische4)

Der Fischsortierapparat unterscheidet Hering und Lodde aufgrund mehrerer Messgrössen der Fische (z.B. Gewicht, Länge, Lichtreflexivität etc.). Für den Erfolg des Apparats ist die Auswahl dieser Messgrössen entscheidend. Wenn die Messgrössen schlecht gewählt sind, können die Fischsorten nicht oder nur schlecht voneinander getrennt werden und jeder noch so „intelligente“ Apparat wird versagen. Ebenso müssen alle „Varianten“ einer jeden Fischsorte in den Daten berücksichtigt werden (z.B. kleine, mittlere und grosse Fische). Wird der Apparat z.B. nur auf grosse Fische geeicht, so wird dieser bei kleinen Fischen versagen.

📐✏️ Für Sigrún hattest du zwei Messgrössen als Eingangsgrössen verwendet und die Fische gemäss diesen in ein Punktediagramm eingetragen. In der Abbildung rechts entspricht jede Achse einer Eingangsgrösse. Es wurden 12 Heringe und 12 Lodde vermessen und ins Punktediagramm eingetragen - die Heringe als blaue x, die Lodde als grüne ◯.

2. Verfahren konstruieren

✍ Auftrag
  1. Starte, um dich an alles besser erinnern zu können, noch einmal ein neuronales Netz Training, indem du auf den Button ▶Run klickst.


Das von uns verwendete neuronale Netz5)

Decision Boundaries6)

Das von uns verwendete neuronale Netz besitzt zwei Input Neuronen, mehrere Hidden Neuronen und ein Output Neuron. Die beiden Eingangsgrössen der Fische werden links in die beiden Input Neuronen eingegeben, als Resultat wird rechts vom Output Neuron eine Zahl zwischen 0 und 1 ausgegeben.

Bevor das neuronale Netz gebraucht werden kann, muss dieses mit einem Trainingset trainiert werden. Das Trainingset besteht aus mehreren vermessenen Fischen, von welchen wir wissen, zu welcher Fischart sie gehören. Für jede Lodde soll eine 1 vom neuronalen Netz ausgegeben werden, für jeden Hering 0, diese beiden Zahlen werden als „Desired Output“ bezeichnet. Aus der Differenz neuronaler Netz Output und Desired Output wird ein Fehlerwert berechnet. Im Training werden die Gewichte zuerst zufällig gewürfelt. Danach werden sie in mehreren Schritten mithilfe des Trainingssets so eingestellt, dass der Fehlerwert immer kleiner wird. Ein Durchgang des gesamten Trainingsets wird als Epoche bezeichnet. In der Regel umfasst ein Training viele Epochen.

Ist das neuronale Netz trainiert, bleiben die Gewichte fix und das neuronale Netz kann verwendet werden, um unbekannte Fische zu „klassifizieren“. Wir legen dabei fest, dass Output < 0.5 als Hering erkannt wird und ein Output ≥ 0.5 als Lodde. Der Wert 0.5 wird als Threshold (Grenzwert) bezeichnet. Um herauszufinden, wie gut die Klassifikation ist, wird ein zweites Set verwendet, das „Validationset“.

In den vier Abbildungen rechts sind alle Eingangsgrössenpaare, welche den Output 0.5 produzieren, als rote Punkte eingezeichnet. Sie bilden eine Kurve, die sogenannte „Decision Boundary“. Alles oben links davon wird als Lodde, alles unten rechts davon als Hering erkannt. Für die Training- und Validationsets sind jeweils die Anzahl falsch klassifizierter Fische angegeben. In den beiden unteren Abbildungen wird die Decision Boundary von einzelnen Fischen beeinflusst. Sie ist stark gekrümmt und der Fehler für das Validationset ist viel grösser als für das Trainingsset. Dies wird als „Overfitting“ (Auswendiglernen) bezeichnet. In den beiden oberen Abbildungen erfasst die Decision Boundary den groben Unterschied der beiden Fischarten relativ gut, die Fehler für Training- und Validationset sind ähnlich gross, das neuronale Netz „generalisiert“ wie gewünscht.

Je mehr Hidden Neuronen ein neuronales Netz besitzt, desto mehr kann es sich „merken“ und desto anfälliger ist es auf Overfitting.

3. Resultate einordnen

Überlappende Klassen7)

Du hattest mit dem Fischsortierapparat, der zwischen Hering und Lodde unterscheidet, eine Klassifikationsrate von rund 90% erreicht. Das hört sich nach viel an, jedoch sind 10% falsche Fische für Sigrún unbrauchbar.

Ein Grund für die verbleibenden 10% Fehler besteht darin, dass im orangen Bereich der Abbildung beide Fischarten gleichzeitig auftreten können. Existiert solch ein Bereich, wird von überlappenden Klassen gesprochen. ⚡ Es ist nicht möglich, überlappende Klassen fehlerfrei voneinander zu trennen!

Das konntest du jedoch durch folgende Interpretation der neuronalen Netz Output-Werte lösen:

  • Output < 0.3 → Hering
  • Output > 0.7 → Lodde
  • Output zwischen 0.3 und 0.7: Keine Ahnung (d.h. von Hand sortieren oder als gemischten Fisch verkaufen)
✍ Auftrag
  1. Just for fun, klicke auf den Button ▶Run. Der grüne Bereich wird als Lodde erkannt, der blaue als Hering, der weisse Bereich ist der „Keine Ahnung“-Bereich. Das Ziel besteht darin, ausserhalb des „Keine Ahnung“-Bereichs 100% ✔️ Klassifikationsrate zu erreichen und den „Keine Ahnung“-Anteil (die Prozentzahl nach dem 🗑️-Symbol) so klein als möglich zu halten.

4. Spezialfälle

⚠️ Nicht nur überlappende Klassen stellen eine Fehlerquelle dar, sondern auch seltene Ereignisse (z.B. die Vorhersage eines Sturm oder Börsencrashs oder das Erkennen einer seltenen Krankheit etc.).

✍ Auftrag
  1. Für dieses Beispiel wird einfach mal angenommen, der Fang eines Herings wäre ein seltenes Ereignis. Es gibt daher im Training- und im Validationset zwölfmal mehr Lodde-Beispiele als Hering-Beispiele. Kann das neuronale Netz trotzdem den Hering erkennen? (Alles grün Hinterlegte wird als Lodde erkannt, alles blau Hinterlegte als Hering.)
    Klicke auf den Button ▶Run und versuche dein Glück!
  2. Wie sieht das Resultat aus? Loading ⌛

5. Einsichten

Es gibt viele verschiedene Verfahren, welche mithilfe von Daten konfiguriert werden (neuronale Netze, statistische Verfahren, andere Verfahren der künstlichen Intelligenz etc.). Bei der Erstellung dieser Verfahren müssen die meisten der nachfolgenden Herausforderungen überwunden werden. Darüber hinaus sind alle diese Verfahren durch die aufgelisteten Punkte limitiert.

Herausforderungen

Daten

  • Relevante Eingangsgrössen: Welche und wie viele Eingangsgrössen braucht es? Bei unpassenden Eingangsgrössen versagt jedes Verfahren. Z.B. lassen sich mit den Schweizer-Lottozahlen kaum Fische unterscheiden.
  • Umfassende Daten: Es braucht Daten, welche alle möglichen, relevanten Fälle beinhalten. Wenn Fälle im Training fehlen, so produziert das Verfahren anschliessend für diese Fälle unsinnige Antworten. Z.B. versagt eine Fischklassifikation für kleine Fische, wenn diese nur mit grossen trainiert wurde.
  • Genügend viele Daten: Wenn zu wenige Daten vorhanden sind, so besteht die Gefahr eines Auswendiglernens, d.h. die Gefahr von Overfitting.

Verfahren

  • Geeigneter Fehlerwert: Das zu lösende Problem wird nicht direkt vom Verfahren gelöst. Es wird stattdessen ein Fehlerwert minimiert. Wenn der Fehlerwert zum Problem passt, kann eine brauchbare Lösung erzielt werden. Wenn der Fehlerwert weniger zum Problem passt, dann wird vermutlich ein anderes Problem gelöst. Bei der Fischklassifikation wird aus mathematischen Gründen nicht direkt mit dem Klassifikationsfehler trainiert, sondern mit einem Fehlerwert, der auf der Summe der Differenzen zwischen tatsächlichen Output und Desired Output basiert.
  • Sinnvolle Anzahl von Gewichten: Je mehr Gewichte eingestellt werden können, desto mehr kann sich das Verfahren merken. Bei zu wenigen Gewichten kann der Zusammenhang nur schlecht gelernt werden, bei zu vielen Gewichten besteht die Gefahr von Auswendiglernen, d.h. die Gefahr von Overfitting.
  • Blackbox: Die meisten Verfahren der KI speichern ihr Wissen in einer Vielzahl von abstrakten Gewichten ab. Es ist daher kaum möglich, herauszufinden, warum eine KI etwas macht. Die Resultate einer KI sind kaum nachvollziehbar.

Limitationen

Aus den folgenden Gründen werden die genannten Verfahren voraussichtlich (vielleicht selten, aber) immer Fehler produzieren, egal wie viel Rechenpower und wie viele Daten zur Verfügung stehen.

  • Näherungsverfahren: Die genannten Verfahren sind Näherungsverfahren. Sie können Sachverhalte häufig erstaunlich gut annähern, jedoch kaum exakte Lösungen liefern.
  • Überlappende Muster: Besitzen mehrere zu unterscheidende Datenpunkte dieselben oder genügend ähnliche Eingangsgrössen, so können diese nicht verlässlich unterschieden werden. Überlappende Muster treten in praktisch allen nicht künstlich erzeugten Datensätzen auf.
  • Seltene Muster: Seltene Muster (oder seltene Ereignisse) werden tendenziell von den Verfahren ignoriert. Verlässliche Gegenmassnahmen sind bis dato nicht bekannt.

Fazit

✍ Auftrag
  1. Arbeitet zu zweit oder zu dritt.
  2. Haltet im Textfeld fest,
    • welche Möglichkeiten und Grenzen ihr für KI in der Zukunft seht.
    • wo ihr die Verantwortung der Menschen seht für das, was KI-Systeme produzieren.
  3. Vergleicht danach eure Überlegungen mit unserer Einschätzung.

Loading ⌛

Unsere Einschätzung


Eigene Notizen

Loading ⌛

1)
fish0191 by NOAA Photo Library on flickr, CC BY 2.0
2)
Clupea harengus by Citron on wikimedia, Public Domain
3)
Mallotus villosus by Fb78 on wikimedia, Public Domain
4) , 5) , 6) , 7)
eigene Darstellung, CC0 1.0