Data Science und KI in der Agrartechnik

Überblick

  • Anwendungen
  • Wie funktioniert Machine Learning?
  • Qualitätsmetriken von KI Systemen
  • Hypothesen Tests

Satelittengestütztes Monitoring

https://www.agricolus.com

Dronengestütztes Monitoring

  • Bessere Auflösung
  • Unabhängig von Wolken
  • Teurer

https://www.sensefly.com

Automatische Erkennung von Krankheiten

https://plantix.net

Komplexe Erntehelfer: Zitronen

https://www.harvestcroorobotics.com/

Komplexe Erntehelfer: Erdbeeren

https://www.harvestcroorobotics.com/

Spot Spraying

https://www.agrifac.com

Laser Weeding

https://carbonrobotics.com/

Beispiel: Laser Weeder

Wie unterscheiden wir Unkraut und Kraut?


https://commons.wikimedia.org/wiki/File:Bellis_perennis_dsc00906.jpg
https://commons.wikimedia.org/wiki/File:Lactuca_sativa_%27Ashbrook%27.jpg

Maschinelles Lernen

Beeindruckende Fortschritte (z.B. bei Bilderkennung) in den letzten 10 Jahren.

https://commons.wikimedia.org/wiki/File:ImageNet_error_rate_history_(just_systems).svg

Generelle Funktionsweise

Im Vorfeld wird der Algorithmus mit einem großen Datensatz an Bildern "trainiert".

In unserem Beispiel könnten das 2 Gruppen von Bildern sein: Unkräuter und Nicht-Unkräuter.

Im Laufe des Trainings wird der Algorithus besser, die Beispiele korrekt zu klassifizieren.

Neuronale Netzwerke

https://commons.wikimedia.org/wiki/File:Neural_network_example.svg

Neuron

https://commons.wikimedia.org/wiki/File:ArtificialNeuronModel.png

Training

Für Beispiel Input $x_i$ (Bild) berechnen wir den Output unseres Algorithmus $y_i$ (1 = Unkraut) und vergleichen diesen mit der Wahrheit $\bar y_i$

$$L = \sum_i (y_i - \bar y_i)^2$$

Wir wollen die Parameter $w$ unserer Neuronen so einstellen, dass $L$ minimal wird.

$$\min_w L(w)$$

https://commons.wikimedia.org/wiki/File:Tangent_dynamic.gif

Wir folgen der Ableitung, bis $L(w)$ nicht mehr kleiner wird.

https://en.wikipedia.org/wiki/File:Gradient_ascent_(surface).png
https://commons.wikimedia.org/wiki/File:Extrema_example_de.svg

  • Training und Anwendung sind separate Schritte: Der Algorithmus wird nicht schlauer im laufenden Betrieb.
  • Machine Learning Systeme haben immer eine Fehlerrate.
  • Ergebnisse sehr abhängig von den Trainingsdaten.
  • Black Box: Ursachen für Fehler sind schwer zu finden.

Daten mit Bias

Beispiel: Alle Positiv Beispiele haben ein Wasserzeichen / wurden Abends aufgenommen / kommen von einem bestimmten Kameramodell

→ der Algorithmus funktioniert nur, wenn diese Eigenschaft auch im Einsatz da ist.

Qualität eines Klassifizierungsalgorithmus

Die Qualität eines Klassifizierungsalgorithmus wird an neuen Bildern, die nicht im Datensatz waren gemessen.

Confusion Matrix

Vorhergesagt
Positiv Negativ
Wahrheit Positiv Richtig Positiv (RP) Falsch Negativ (FN)
Negativ Falsch Positiv (FP) Richtig Negativ (RN)

Relevante Metriken aus der Confusion Matrix

Genauigkeit (Accuracy): $ \frac{RP + RN}{RP + RN + FP + FN} $

Richtig-positiv-Rate (Sensitivität, Recall): $\frac{RP}{RP+FN}$

Falsch-positiv-Rate (Fall-out): $\frac{FP}{FP+RN}$

Richtig-negativ-Rate (Spezifität, Specificity): $\frac{RP}{FP+RN}$

Vorhergesagt
Positiv Negativ
Wahrheit Positiv Richtig Positiv (RP) Falsch Negativ (FN)
Negativ Falsch Positiv (FP) Richtig Negativ (RN)

Im Beispiel (Positiv = "Ist Unkraut"):

Niedrige Falsch-positiv-Rate: Wir zerstören weniger Nutzpflanzen

Hohe Richtig-positiv-Rate: Wir verbrennen mehr Unkraut

Eine Metrik alleine kann täuschen:

  • Alles als Unkraut zu klassifizieren gibt uns eine 100% Richtig-positiv-Rate.
  • Auf 98 Nutzpflanzen kommen 2 Unkräuter. Nichts als Unkraut zu klassifizieren gibt 98% Genauigkeit (und 0% Falsch-positiv-Rate).

Metriken brauchen Kontext: ELISA HIV Test

Test mit 99,9% Genauigkeit, 99,9% Richtig-positiv und 0,1% Falsch-positiv Rate.

Vorhergesagt
Summe Positiv Negativ
Wahrheit Positiv 67.000 66.933 67
Negativ 81.933.000 81.933 81.851.067

https://de.wikipedia.org/w/index.php?title=Beurteilung_eines_bin%C3%A4ren_Klassifikators&oldid=223284084

Bias aus Trainingsdaten kann auch in Testdaten auftauchen.

Beispiel: US Hersteller hat Algorithmen nur zuhause trainiert und getestet.
→ Nicht heimische Varianten von Unkräutern werden nicht gut erkannt.

Trade-offs bei Klassifikationen

Der Algorithmus gibt uns in Wirklichkeit keine binäre Entscheidung, sondern eine Angabe, wie sicher er sich ist:

Unkraut: 87%

Die Angabe "zu 87% Unkraut" müssen wir in eine Entscheidung übersetzen. Dazu setzen wir einen Grenzwert fest, ab dem wir eine Pflanze als Unkraut annehmen.

Hoher Grenzwert → Bessere Falsch-positiv-Rate

Niedriger Grenzwert → Bessere Richtig-positiv-Rate

Vorhergesagt
Positiv Negativ
Wahrheit Positiv Richtig Positiv (RP) Falsch Negativ (FN)
Negativ Falsch Positiv (FP) Richtig Negativ (RN)

Receiver operating characteristic (ROC)

https://commons.wikimedia.org/wiki/File:Roccurves.png

Hypothesen Tests

Ausgangslage:
Produkt X verspricht uns 10% mehr Ertrag bei 5% Mehrkosten.
Woher wissen wir, ob sich die Investition gelohnt hat?

Ertrag Einnahmen Kosten Gewinn
⌀ Aktuell 100 500 300 200
⌀ Progn. 110 550 315 235

Wir machen 5 Experimente

Ertrag Einnahmen Kosten Gewinn
1 97 485 315 170
2 120 600 315 285
3 112 560 315 245
4 99 495 315 180
5 115 575 315 260
108,6 543 315 228
σ 9,05 45,23 0 45,23

Wie wahrscheinlich ist es, dass wir jetzt wirklich im Erwartungswert mehr Gewinn machen?

Bei wenigen Experimenten (n < 30) können wir das mit dem "t-Test" ermitteln.

Null Hypothese $H_0$: Der Erwartungswert des Gewinns ist gleich geblieben.

Wie wahrscheinlich ist es, dass unser Experiment passiert, falls $H_0$ wahr ist?

Wolfram Alpha

Wichtig: Wir wissen nur, dass wir in ca. 9 / 10 Fällen jetzt mehr Gewinn machen. Wir wissen nicht, ob die Aussage des Herstellers stimmt.

Was, wenn wir unser Experiment auf unterschiedlichen Feldern machen?

Felder sollten ungefähr gleich groß und ertragreich sein.

Werte normieren (Gewinn / ha).

Einsatzmöglichkeiten für Hypothesentests:

  • Produktionsmethoden vergleichen
  • Ertrag von Feldern über die Zeit vergleichen.
  • Testen welches Produkt sich besser verkauft.