Navigation: 🐟 Teil 1 - 🐟 Teil 2 - 🐟 Teil 3 - 🐟 Teil 4 - 🐟 Zusatzkapitel Loading ⌛Loading ⌛

🐟 Künstliche Intelligenz für echte Fische 4

🎯 In dieser Reihe erfährst du, wie eine künstliche Intelligenz automatisiert Daten auswertet und beurteilt. Dazu begibst du dich auf raue See.


Inhaltsverzeichnis


1. Was bisher geschah...

👩‍🦰 Du hilfst Sigrún beim Bau eines Fischsortierapparats der Hering von Lodde unterscheiden kann. Als Herzstück hast du dafür ein neuronalen Netzes trainiert. Das Neuronale Netz erkennt rund 90% der Fische richtig, jedoch ist das immer noch zu schlecht, um Sigrún die Arbeit abnehmen zu können.

😢 Musst du aufgeben?


Überlappende Klassen1)

2. Das Problem der überlappenden Klassen

🔎 Schauen wir uns den Grund für den verbleibenden Fehler erst einmal genauer an.

Feature Space
Die beiden Messgrössen für unsere Fische „spannen“ eine Fläche auf (siehe Abbildung). Diese Fläche wird als Feature Space bezeichnet. Jeder Punkt im Feature Space stellt ein mögliches Messwertpaar dar. Die Messwertpaare der Fische (d.h. die Positionen der Fische im Feature Space) sind mit Kreuzen und Kreisen gekennzeichnet. Bei drei Messgrössen wäre der Feature Space ein drei-dimensionaler Raum, bei sieben Messgrössen ein kaum mehr vorstellbarer sieben-dimensionaler Raum.
Überlappende Klassen
Wenn es einen Ort im Feature Space gibt, an welchem mehrere Klassen gleichzeitig auftreten können, so wird von überlappenden Klassen gesprochen (oranger Bereich in der Abbildung).

⚡ Es ist nicht möglich, überlappende Klassen fehlerfrei voneinander zu trennen!

🤔 Was tun?

💡 Mit etwas Glück lassen sich vielleicht andere oder zusätzliche Messgrössen finden, bei denen die Klassen nicht oder kaum überlappen.

💡 Eine andere Strategie besteht darin, die Region zu umranden, in welcher die Klassen überlappen. Liegt ein Sample in dieser Region, so wird das Sample „verworfen“ d.h. nicht klassifiziert.


3. Auf der Suche nach der Region überlappender Klassen

💡 Du beschliesst ein neuronales Netz so zu trainieren, dass es die Region überlappender Klassen erkennt und alle Samples darin verwirft.

🤔 Aber wie bringen wir unser neuronales Netz dazu zu erkennen, ob ein Sample in einer Region überlappender Klassen liegt, oder nicht?

Zur Erinnerung, unser Neuronales Netz sollte den Ausgangswert 0 für Heringe (blaue Kreuze) und 1 für Lodde (grüne Kreise) produzieren. Unser Threshold war 0.5. Ein Fisch mit Ausgangswert < 0.5 wurde als Hering, ein Fisch mit Ausgangswert ≥ 0.5 wurde als Lodde klassifiziert.

💡 Neu machst du Folgendes. Du wählst einen anderen Threshold (im Programm 0.3). Wenn nun der Ausgangswert kleiner als dieser Threshold ist (< 0.3), dann landet der Fisch im Hering-Korb. Wenn der Ausgangswert grösser als Eins minus dieser Threshold ist (also > 1 - 0.3, d.h. > 0.7) dann landet der Fisch im Lodde-Korb. Alle anderen Fische (Ausgangswerte 0.3 - 0.7) werden verworfen und landen somit in einem dritten Korb, der entweder von Hand sortiert oder als „gemischter Fisch“ verkauft wird.

✍ Auftrag

⚠️ In der Grafik sind alle Messwertpaare (Punkte im Feature Space) die als Lodde klassifiziert werden grün eingefärbt. Alle als Hering klassifizierten sind blau dargestellt und die verworfenen weiss. Somit zeigt die weisse Farbe die Region der überlappenden Klassen aus Sicht des neuronalen Netzes an.

🚨 Training manuell stoppen: In die Grafik klicken und ESC drücken.

  1. Starte mehrfach das Programm. Das Ziel ist es, möglichst wenige Fische zu verwerfen, aber gleichzeitig die anderen Fische zu 100 % korrekt zu trennen. Der Prozentwert bei 🗑️ gibt dir an, welcher Anteil der Fische verworfen wird. Der Prozentwert bei ✔️ gibt dir an, wie viele der anderen Fische korrekt klassifiziert werden.
  2. Spiele mit den Parametern LERNRATE, ANZAHL_HIDDEN_NEURONS, ANZAHL_EPOCHEN und dem THRESHOLD. Trage dein bestes Ergebnis (%-verworfen bei 100 % korrekt) in das nachfolgende Textfeld ein. Was bedeutet dein Ergebnis für Sigrún? Loading ⌛


4. 👩‍🦰 Jetzt wird gefeiert! 🎉

Bravo! Dein neuester Fischsortierapparat kann Sigrún tatsächlich viel Arbeit abnehmen. Statt alle Fische von Hand sortieren zu müssen, muss Sigrún nur noch den deutlich kleineren Haufen der verworfenen Fische von Hand sortieren. Der Rest wird genügend gut vom neuronalen Netz getrennt. Ihr Dank ist dir auf ewig gewiss 🤩.


5. 🐟 Und wie sieht die Fischklassifikation in der Praxis aus?

💡 Die Klassifikation von Fischen ist nicht nur für den Fischfang von Bedeutung. Immer mehr Regierungen fühlen sich dazu verpflichtet, ein Gleichgewicht zwischen Ökosystem und Fischfang aufrechtzuerhalten. Dazu werden auch Unterwasserroboter eingesetzt, welche Fische und Fischschwärme fotografieren, um Rückschlüsse bezüglich Fischvorkommen und insbesondere gefährdeten Fischarten ziehen zu können. Basierend auf diesen Informationen können Fangkontingente ausgesprochen werden.

🐟 Einen Überblick über die aktuelle Forschung zur Fischklassifizierung gibt z.B. die englischsprachige Publikation A survey on fish classification techniques von Mutasem K. Alsmadi und Ibrahim Almarashdeh2).


6. Fortsetzung möglich...

Im 🐟 Zusatzkapitel vergleichst du das neuronale Netz für die Fische mit modernen KI-Chatbots und überlegst dir, was du daraus für KI im Allgemeinen lernen kannst.


Eigene Notizen

Loading ⌛

1)
eigene Darstellung, CC0 1.0
2)
Mutasem K. Alsmadi, Ibrahim Almarashdeh, „A survey on fish classification techniques“, Journal of King Saud University - Computer and Information Sciences, Volume 24, Issue 5, Pages 1625-1638, May 2022 https://doi.org/10.1016/j.jksuci.2020.07.005 [aufgerufen am 14.12.2023].