KI & Bias

Thomas Camminady

Data Scientist @ Wahoo Fitness

Bevor es los geht…

https://github.com/thomascamminady/scienceforfuture2023/

Ganz kurz zu mir

Studium

Ganz kurz zu mir

Promotion

Ganz kurz zu mir

Job

Wahoo Fitness

Wahoo Fitness

Quiz

Ist das KI?

Ziele

Inhaltlich

Nach diesem Workshop habt ihr ein Verständnis dafür,

  • was KI, Algorithmen und Daten verbindet;
  • dass Zahlen nicht zwingend objektiv sein müssen;
  • was schief geht, wenn man sich keine Gedanken über Algorithmen macht;
  • dass KI nicht nur ein MINT Thema ist.

Ziele

Nicht inhaltlich

Ich hoffe,

  • dass ihr alle Spaß an diesem Workshop und der Thematik habt;
  • dass ich euer Interesse für die Thematik KI wecken / erhöhen kann.

FYI

Ich mache das hier zum ersten Mal, wenn etwas unklar ist oder ihr Fragen habt, ihr seid vermutlich nicht alleine. Fragt :)

Algorithmen

Randall Munroe, xkcd.com/1838, (CC BY-NC 2.5)

Klassische Algorithmen

R Eingabe Eingabe Algorithmus Algorithmus Eingabe->Algorithmus Ausgabe Ausgabe Algorithmus->Ausgabe

Klassische Algorithmen

R Eingabe [5,3,2,1,4] Algorithmus Sortieralgorithmus Eingabe->Algorithmus Ausgabe [1,2,3,4,5] Algorithmus->Ausgabe

Klassische Algorithmen

R Eingabe Start & Ziel Algorithmus Navi Eingabe->Algorithmus Ausgabe Route Algorithmus->Ausgabe

Klassische Algorithmen

R Eingabe Wetter heute Algorithmus Wettersimulation Eingabe->Algorithmus Ausgabe Vorhersage Wetter morgen Algorithmus->Ausgabe

Sortieralgorithmus

R Eingabe [5,3,2,1,4] Algorithmus Sortieralgorithmus Eingabe->Algorithmus Ausgabe [1,2,3,4,5] Algorithmus->Ausgabe
import random


def algorithmus(zahlen):
    while not ist_sortiert(zahlen):
        random.shuffle(zahlen)
    return zahlen


def ist_sortiert(zahlen):
    for i in range(len(zahlen) - 1):
        if zahlen[i] > zahlen[i + 1]:
            return False
    return True


algorithmus([5, 3, 2, 1, 4])
[1, 2, 3, 4, 5]

Und was ist dann KI?

Excalidraw

Was ist KI für euch?

Und was ist dann KI?

Heute beschränken wir uns auf diese Definition:

KI = Datenbasierter Algorithmus

Datenbasierte Algorithmen

R Eingabe Eingabe Algorithmus Algorithmus Eingabe->Algorithmus Ausgabe Ausgabe Algorithmus->Ausgabe Daten Daten Trainingsalgorithmus Trainingsalgorithmus Daten->Trainingsalgorithmus Trainingsalgorithmus->Algorithmus

Datenbasierte Algorithmen

R Eingabe Video von Autofahrt Algorithmus Autopilot Eingabe->Algorithmus Ausgabe Aktionen (bremsen, lenken, …) Algorithmus->Ausgabe Daten Videos von Autofahrten & Aktionen Trainingsalgorithmus Trainingsalgorithmus Daten->Trainingsalgorithmus Trainingsalgorithmus->Algorithmus

Datenbasierte Algorithmen

R Eingabe Prompt Algorithmus ChatGPT Eingabe->Algorithmus Ausgabe Antwort Algorithmus->Ausgabe Daten Textkorpus Trainingsalgorithmus Trainingsalgorithmus Daten->Trainingsalgorithmus Trainingsalgorithmus->Algorithmus

Datenbasierte Algorithmen — Ein Beispiel

Klassifizierung von Pinguinen

Situation: Wissenschaftler_innen möchten den Pinguinbestand überwachen.

Problem

Nur geschultes Personal ist dazu in der Lage.

Klassifizierung von Pinguinen

Ausweg: Muster nutzen und erkennen

Illustrationen: Allison Horst

Daten: Gorman KB, Williams TD, Fraser WR

Klassifizierung von Pinguinen

Idee

Wir entwickeln einen Klassifizierungsalgorithmus der uns bei gegebener Schnabellänge und -tiefe sagen kann, um welchen Pinguin es sich handelt.

Vorteil: Messung ist auch für ungeschultes Personal möglich.

Training

Ausgangssituation

Training

Das Leben einfacher machen…

Training

Aufteilung in Training- und Testdaten

Training

Unsere KI: Support Vector Machine (Stützvektormaschine)

Training

Oberhalb = Adelie. Unterhalb = Gentoo.

Training

def gerade(x):
    m = (22 - 13) / (60 - 30)
    return m * (x - 30) + 13


def algorithmus(laenge, tiefe):
    if laenge > gerade(tiefe):  # Oberhalb
        return "Adelie"
    else:
        return "Gentoo"  # Unterhalb

Der Trainingsprozess liefert einen Algorithmus zur Klassifizierung von Pinguinen.

R Eingabe Eingabe Algorithmus Algorithmus Eingabe->Algorithmus Ausgabe Ausgabe Algorithmus->Ausgabe Daten Daten Trainingsalgorithmus Trainingsalgorithmus Daten->Trainingsalgorithmus Trainingsalgorithmus->Algorithmus

Anwendung des Algorithmus

Anwendung des Algorithmus

Anwendung des Algorithmus

Nur 1 Pinguin ist falsch klassifiziert.

Zusammenfassung

Klassische Algorithmen

R Eingabe Eingabe Algorithmus Algorithmus Eingabe->Algorithmus Ausgabe Ausgabe Algorithmus->Ausgabe

Datenbasierte Algorithmen

R Eingabe Eingabe Algorithmus Algorithmus Eingabe->Algorithmus Ausgabe Ausgabe Algorithmus->Ausgabe Daten Daten Trainingsalgorithmus Trainingsalgorithmus Daten->Trainingsalgorithmus Trainingsalgorithmus->Algorithmus

Datenbasierte Algorithmen

Excalidraw

Könnt ihr die Pinguine klassifizieren?

Datenbasierte Algorithmen

Excalidraw

Was für weitere Beispiele fallen euch noch ein?

Bias

Bias Laundering, @JanelleCShane

Definition

  • Bias ≈ Voreingenommenheit / Verzerrung.
  • “Bias” bezeichnet eine Neigung oder Vorliebe in eine bestimmte Richtung, oft aufgrund von Vorurteilen.
  • Es kann sich auf Vorurteile in Daten, Entscheidungen oder Wahrnehmungen beziehen.
  • Nicht immer absichtlich oder bewusst.
  • Kann zu falschen oder ungerechten Ergebnissen führen.

Bias im Kontext von KI

Vorhersage von Verbrechen

  • ProPublica untersuchte die COMPAS-Software, ein Instrument zur Vorhersage des Rückfallrisikos von Straftätern in den USA.
  • Die Analyse ergab, dass die Software Schwarze Personen ungerechtfertigt als wahrscheinlicher zukünftige Straftäter einstufte, im Vergleich zu weißen Personen mit ähnlichen Vorstrafen.

Bias im Kontext von KI

Amazons Bewerbungsalgorithmus

  • Mehr Männer bei Amazon.
  • Lebensläufe wurden auf Wörter überprüft, die häufig zu Einstellungen geführt haben.
  • Manche Wörter werden häufiger von Männern benutzt.
  • Verstärkender Kreislauf der Männer befürwortet.

Bias im Kontext von KI

Diskussion

Was für weitere Beispiele fallen euch noch ein?

Bias am Beispiel der Herzfrequenzerkennung

Herzfrequenz

  • Herzfrequenz ist eine wichtige Metrik in der Medizin und im Sport.
  • Es existieren verschiedene Arten die Herzfrequenz zu messen.

Optische Herzfrequenzerkennung

  • Messung der Lichtintensität

  • Distanz zwischen Peaks liefert Puls

Die Realität ist etwas komplizierter…

Wir filtern das Signal

Unser Algorithmus

def algorithmus(lichtintensität, filterstärke):
    # Zuerst filtern wir das Signal
    lichtintensität = filter(lichtintensität, filterstärke)

    # Dann bestimmen wir die Abstände zwischen den Peaks
    abstände = finde_abstände_zwischen_peaks(lichtintensität)

    # Der Puls ist 60 / Abstand in Sekunden
    return 60 / abstände

Wie bestimmen wir die Filterstärke? Training!

Trainingsprozess

  • Mit unseren Testdaten können wir für jede Filterstärke einen mittleren Fehler bestimmen.
  • Finde die Filterstärke, die den mittleren Fehler (über mehrere Läufe) minimiert.

Trainingsprozess

  • Fehlerverteilung mit optimalen Parametern
  • Algorithmus ist genauer bei niedrigem Puls und gleichzeitig ungenauer bei hohem Puls

Trainingsprozess

  • Frauen haben tendenziell einen höheren Puls, waren im Training aber unterrepräsentiert.
  • Algorithmus ist also weniger genau bei Frauen.

Bias

  • Trainingsdatensatz war nicht ausbalanciert bzgl. der Geschlechter.
  • Training optimiert daher mit einem Bias für Männer.
  • Bis zu 30% höherer Fehler.

Problematisch bei Anwendungen in der Medizin

Insbesondere bei medizinischen Anwendungen kann ein Bias zu großen Problemen führen.

Nicht immer offensichtlich

Problem scheint hier offensichtlich, ist aber oft schwierig zu erkennen.

Bias am Beispiel der Gesichtserkennung

Von 2D zu 3D zu 784D

Illustrationen: Allison Horst

Daten: Gorman KB, Williams TD, Fraser WR

Von 2D zu 3D zu 784D

  • Hinzufügen von Gewicht resultiert in 3D Klassifizierungsproblem.
  • Statt Geraden, nun Ebenen.

Von 2D zu 3D zu 784D

MNIST Ziffernerkennung

  • Bilder mit 28*28=784 Pixeln.
  • Jeder Pixel ist eine Dimension.
  • Hyperebenen in Hyperräumen.
  • Vorteil: Kein Aufwand, jeder Pixel wird als Dimension interpretiert.

Von 2D zu 3D zu 784D

Gender Shades

Gender Shades

Diskussion

Was glaubt ihr, welche Probleme können sich hier ergeben?

Diskussion

What could go wrong?

Speech2Face

What could go wrong?

Prison Term Prediction

Was glaubt ihr?

Excalidraw

Wo haben Algorithmen Bias?

  • Beispiele für Algorithmen mit konkreten Problemen / Bias?
  • Wie äußert sich Bias in eurem Beispiel?
  • Welche Konsequenzen hat das Ganze für betroffenene Personen?
  • Was ist der mathematische Grund für Bias?
  • Was könnte man anders machen?

Q&A

Zeit für Fragen und Antworten

  • Was möchtet ihr fragen?
  • Was soll ich noch einmal erklären?
  • Was war vielleicht unklar?

Backup

Gender Shades