Unter künstlicher Intelligenz (KI) – oder Artificial Intelligence (AI) – verstehen wir umgangssprachlich Software, die lernen kann. Lernen im Sinne, dass aus Erfahrung auf unbekannten Input hin neues Wissen generiert wird. In diesem Blog betrachten wir die drei „einfachsten“ Lernstrategien genauer: Überwachtes, unüberwachtes und teilüberwachtes Lernen.
Im ANECON Blog Artikel zum Testen von KI widmet sich Andrea Kling den neuen Qualitätskriterien, die für den Test von künstlicher Intelligenz zukünftig relevant werden. Doch wie lernt eine künstliche Intelligenz eigentlich? Generell lassen sich folgende Haupt-Strategien unterscheiden:
Überwachtes Lernen
Beim überwachten Lernen bekommt die KI eine Input-Variable und eine Output-Variable vorgegeben, z.B. ein Bild mit einem Label. Während des Trainingsdurchgangs vergleicht die KI beide und versucht, Assoziationen herzustellen, also den Zusammenhang zwischen Input- und Output zu erkennen. Ziel ist es, dass die KI anschliessend bei neuem Input automatisch den Output vorhersagen kann.
Zwei gängige Arten werden häufig beim überwachten Lernen unterschieden:
- Regression: der Output ist eine reelle Zahl (z.B. Werte in kg)
- Klassifikation: der Output ist eine Kategorie (z.B. Länder, „Ja“/“Nein“)
Die Klassifizierung ist dabei meistens die einfachere Variante.
Beispiele für verwendete Algorithmen sind:
- Linear Regression
- Linear Classifier
- Random forest
- perceptron algorithm
Unüberwachtes Lernen
Beim unüberwachten Lernen haben die Trainingsdaten kein Label, d.h. keinen zugeordneten Output. Die KI muss selbst Gemeinsamkeiten zwischen den Inputs herausfinden und diese zu clustern.
Unüberwachtes Lernen wird meist noch anhand der Aufgabenstellung unterschieden in:
- Clustern: Hier sollen die den Daten inhärenten Klassen oder Gruppen erkannt und zugeordnet werden
- Assoziationen: Dabei sollen Regeln in den Daten erkannt werden. (z.B. wer Zeitung A liest wählt Politiker 1)
Beispiele für verwendete Algorithmen sind
- k-means
- AIS-Algorithmus
- FPGrowth-Algorithmus
- DPSCAN
Teilüberwachtes Lernen
Beim teilüberwachtem Lernen liegen eine Menge Inputs vor, von denen einige wenige gelabelt, also einem Output zugeordnet sind. Hier gelten die Regeln sowohl des unüberwachten als auch des überwachten Lernens.
Als Beispiel sehen wir uns eine Röntgenpraxis an. Der Eigentümer möchte die rund 10.000 elektronisch vorliegenden Röntgenbilder unter anderem nach Körperteil und nach Krankheiten geordnet haben. Leider besitzen die Bilder derzeit noch keine Labels. Da es zeitunkritisch ist, können als Trainingsdatensatz theoretisch alle Röntgenaufnahmen genommen werden. Wie kann nun die KI dahinter lernen?
Eine Möglichkeit ist, dass die KI in einem ersten Schritt (mit einem ersten Algorithmus) einen Teil der Bilder auf Gemeinsamkeiten hin untersucht. Schnell wird sie feststellen, dass es Aufnahmen von unterschiedlichen Körperteilen sind. Obwohl die KI – noch – nicht weiß, dass die Menschen diesen Körperteil Arm, jenen Hüfte nennen, gruppiert sie diese (unüberwachtes Lernen – Clustern). Ein Arzt sieht sich diese Cluster durch und benennt sie. Nachdem nun für den Teil aus dem ersten Durchlauf Labels vorhanden sind, macht sich die KI daran, alle Bilder zu clustern (teilüberwachtes lernen).
Jetzt sind alle der 10.000 Röntgenbilder mit einem Label – Arm, Bein, Fußknochen, Knie, etc. versehen).
Kleinere Cluster der Körperteile kann der Arzt durchgehen und mit dem jeweiligen Krankheitsbild – als Beispiel Osteodystrophia deformans – versehen. In einem weiteren Durchlauf dieser gelabelten Daten, versucht die KI Gemeinsamkeiten zu finden, z.B. die charakteristischen Knochenverdickungen unabhängig vom Körperteil (teilüberwachtes Lernen – Clustern). Fragen, die sich die KI dabei stellen würde lauten in etwa: „Warum hat dieser komische Typ vorm Bildschirm diese Bilder mit dem Label „Osteodystrophia deformans“ versehen? Was unterscheidet dieses Bild von anderen?“ (überwachtes Lernen – Klassifikation).
Anschließend werden alle Bilder durchlaufen, die KI labelt entsprechende Bilder mit dem Krankheitsbild und clustert die restlichen nach weiteren erkannten Gemeinsamkeiten (teilüberwachtes Lernen – Clustern). Danach kann der Arzt die Cluster durchsehen und bei einigen davon die Krankheitsnamen eintragen, diese werden automatisch auf die weiteren Bilder übernommen.
Auch wenn es relativ leicht und logisch klingt, so hängt die Treffsicherheit von vielen Faktoren wie der Größe der Trainingsdatensätze, der Labels, Over- und Underfitting, verwendeter Algorithmen etc. ab.
Weitere Lernstrategien
Neben den bisher erwähnten Lerntechniken gibt es noch weitere wie etwa das „Bestärkende Lernen“. Beim Bestärkenden Lernen (englisch reinforcement learning) lernt die KI durch „Belohnung“ und „Bestrafung“ den Nutzen in auftretenden Situationen zu maximieren. Die KI muss daher eine Strategie erlernen. Im Unterschied zu den vorangegangenen Lernstrategien gibt es keine Labels und die Performance spielt eine wesentlich höhere Rolle. Idealerweise reagiert eine Maschine dabei in Echtzeit (z.B. selbstfahrende Autos).
Für das bestärkende Lernen werden unterschiedliche Methoden (und damit Algorithmen) wie z.B. die Monte-Carlo-Methode, die Brute-Force Methode oder Temporal Difference Learning verwendet.
Es existieren also viele verschieden Lernmethoden. Und um die Worte von Wilhelm Busch etwas abzuwandeln:
„Also lautet ein Beschluss: Daß nicht nur der Mensch was lernen muss.“
The post Wie künstliche Intelligenz lernt – Strategien für AI appeared first on ANECON Blog.
Jobs of Nagarro Testing Services GmbH
Testautomatisierer (m/w) in DresdenSoftware Test Berater (m/w) in Dresden
Software Test Manager (m/w) in Dresden
Praktikant/Berufspraktikant (m/w) für den Bereich Testautomatisierung in Dresden
Architekt Testautomatisierung (m/w) in Dresden