Grundbegriffe der künstlichen Intelligenz

the next big thing Golo Roden  –  9 Kommentare

Künstliche Intelligenz (KI) ist eines der wichtigsten Themen der vergangenen Jahre. Ein zumindest grundlegendes Verständnis ist daher hilfreich, um gewisse Themen ins rechte Licht rücken zu können. Welche Grundbegriffe der künstlichen Intelligenz sollte man kennen?

Den Begriff "künstliche Intelligenz" (KI) zu definieren, fällt schwer, da bereits der Begriff "Intelligenz" nur schwer exakt zu definieren ist. Klas ist, dass es sich bei KI um ein Teilgebiet der Informatik handelt, dessen Ziel es ist, intelligentes Verhalten und Lernen auf künstlichem Weg nachzubilden. Computer sollen sich eigenständig weiterentwickeln und an geänderte Situationen anpassen, ohne dafür von Hand programmiert werden zu müssen.

Man unterscheidet dabei zwischen starker und schwacher künstlicher Intelligenz. Während erste dem Menschen ebenbürtig und generisch ist, adressiert schwache KI lediglich Spezialaufgaben. Allerdings hat zumindest die starke KI in den vergangenen Jahren keinerlei nennenswerten Fortschritte gemacht. Bei der schwachen KI begnügt man sich damit, intelligentes Verhalten zu simulieren – es handelt sich also nicht um "echte" Intelligenz, die über ein Bewusstsein oder ein Verständnis der Welt verfügt.

Eine besondere Herausforderung für jegliche KI ist, mit Unschärfe und Unsicherheit umgehen zu müssen, weshalb Wahrscheinlichkeitsrechnung häufig eine große Rolle in der KI spielt. Diese Fähigkeit muss zudem im KI-System von vornherein angelegt und kein nachgelagerter Gedanke sein. Gibt man sich dabei mit schwacher KI zufrieden, ist durchaus beachtlich, welche Entwicklungen das vergangene Jahrzehnt hervorgebracht hat.

Was ist künstliche Intelligenz (KI)?

Supervised, unsupervised & Co.

Spricht man über das Lernen von KIs, gilt es, zwei Arten von Lernen zu unterscheiden. Auf der einen Seite gibt es das Supervised Learning, bei dem die KI Feedback von außen erhält, an dem sie sich orientieren und sich anpassen kann. Dem gegenüber steht das Unsupervised Learning, bei dem die KI sozusagen auf sich allein gestellt ist. Das lässt sich gut an verschiedenen Arten von Problemen veranschaulichen, die typisch für KI sind.

Der erste Problemtyp ist die sogenannte Klassifizierung, bei der es darum geht, eine Zuordnung von Daten zu vorgegebenen Kategorien vorzunehmen. Beispiele hierfür sind das Erkennen von Krebszellen, von Pflanzen oder Ähnlichem. Da eine KI nicht von sich aus wissen kann, welche Zuordnung sinnvoll ist und welche nicht, muss das zunächst von außen vorgegeben werden – der Algorithmus wird "trainiert". Klassifizierung ist also "supervised".

Ein weiterer Problemtyp, der ebenfalls "supervised" ist, ist die Regressionsanalyse. Dabei geht es um die Vorhersage von Werten, beispielsweise dem höchstmöglichen Preis eines zu verkaufenden Hauses. Obwohl das Ziel hierbei ein anderes als bei der Klassifizierung ist, ist das Vorgehen ähnlich: Auch hier wird der Algorithmus mit bekannten Daten und Ergebnissen trainiert, um anschließend Vorhersagen treffen zu können.

Anders verhält es sich mit dem sogenannten Clustering, bei dem Daten ebenfalls in Kategorien einsortiert werden sollen – im Gegensatz zur Klassifizierung sind die Kategorien aber nicht vorgegeben, sondern lediglich ihre Anzahl. Die Kategorien an sich soll die KI dann eigenständig finden. Dass das zwar Aussagen über Daten treffen kann, aber keine Semantik anwenden kann, liegt auf der Hand.

Wichtige Grundbegriffe der künstlichen Intelligenz (KI)

Algorithmen trainieren

Wie bereits erwähnt, müssen KI-Algorithmen "trainiert" werden. Darunter versteht man das Anpassen des Algorithmus an bereits bekannte Daten, wobei diese Anpassung automatisch erfolgt. Man "füttert" den Algorithmus also lediglich mit Daten und hofft, dass der Algorithmus danach auf das Gelernte "geprägt" ist. Um den Algorithmus in die richtige Richtung zu lenken, kann man ein Supervised-Verfahren wählen, das hängt aber von der gegebenen Problemstellung und natürlich auch den Daten ab.

Beim Training unterscheidet man zwischen deterministischem und stochastischem Vorgehen. Während ein deterministisches Training mit der gleichen Ausgangsbasis und den gleichen Daten stets zum gleichen Ergebnis führen wird, kommt beim stochastischen Training der Zufall mit ins Spiel. Stochastisch trainierte Algorithmen sind daher zwar schwieriger zu bewerten, aber häufig auch effizienter.

Damit KI-Algorithmen Daten verarbeiten können, müssen die Daten zunächst in ein passender Format konvertiert werden – was üblicherweise bedeutet, sie in Zahlen umzuwandeln, allen voran Vektoren und Matrizen. Aus dem Grund sind Sprachen, Bibliotheken und Hardware besonders gut geeignet für KI, die mit Vektoren und Matrizen gut umgehen können, beispielsweise Python, NumPy und GPUs.

Algorithmen für künstliche Intelligenz (KI) trainieren

Daten normalisieren

Zudem gilt es aber auch, die Daten auf einen gemeinsamen Nenner zu bringen, um beispielsweise verschiedene Größenordnungen handhaben zu können. Daher gilt es vor dem Training und der Anwendung, die Daten zunächst zu normalisieren. Wie das funktioniert, hängt von der jeweiligen Skala ab. Letztlich geht es aber stets darum, die Daten auf den Bereich zwischen 0 und 1 zu normalisieren (oder, in Abhängigkeit vom Algorithmus, auf den Bereich zwischen -1 und 1).

Dazu muss man sich überlegen, welche Art von Daten überhaupt vorliegt. Nominale Skalen werden beispielsweise anders normalisiert als ordinale Skalen, und auch Intervall- und Verhältnisskalen werden wiederum anders gehandhabt. Nominalskalen lassen sich beispielsweise durch ein One-Hot-Encoding abbilden, ordinale Skalen als Prozentwerte. Werte auf Intervall- und Verhältnisskalen liegen prinzipbedingt bereits als Zahlen vor, sie müssen lediglich auf den gewünschten Bereich abgebildet werden.

Beim Umwandeln von Eingabedaten in Zahlen ist gegebenenfalls zu beachten, dass die Datenmenge nicht zu groß wird. Wer beispielsweise ein 1000 x 1000 Pixel großes Bild konvertieren möchte, erhält drei Millionen Datenpunkte (eine Million Pixel für den Rot-, den Grün- und den Blaukanal). Daher ist es häufig ratsam, Bilder oder andere Eingabedaten zunächst in ihrer Auflösung zu verringern.

Daten für künstliche Intelligenz (KI) normalisieren

Overfitting und Underfitting

Wird ein KI-Algorithmus nun mit den vorbereiteten Daten konfrontiert, gilt es, ihm (zumindest im Fall eines Supervised-Algorithmus) Feedback zu geben. Dazu wird die Differenz zwischen dem tatsächlichen und dem erwarteten Ergebnis berechnet. Diese Abweichung wird als "Fehler" bezeichnet, sie soll im Lauf der Zeit minimiert werden. Dabei muss man allerdings beachten, dass sich positive und negative Fehler nicht gegenseitig ausgleichen, weshalb Fehler in der Regel noch quadriert werden.

Summiert man die quadrierten Fehler anschließend auf, erhält man den Sum of Squares Error (SSE). Dieser ist allerdings nur begrenzt aussagekräftig, da er für große Datenmengen aus naheliegenden Gründen größer ausfallen wird. Daher wird häufig noch der Durchschnitt genommen, was dann als Mean Square Error (MSE) bezeichnet wird. Gelegentlich wird auch noch die Wurzel aus diesem Wert gezogen, was den Root Mean Square (RMS) liefert. In der Praxis wird häufig aber mit MSE gearbeitet.

Anhand dieser Werte lässt sich die Qualität eines Algorithmus nun bewerten, trotzdem gilt es hier aufzupassen: Wählt man am Ende einfach jenen Algorithmus (beziehungsweise die Konfiguration des Algorithmus) mit dem niedrigsten Fehler, ist es sehr wahrscheinlich, dass das keine gute Wahl ist. In dem Fall greift nämlich das sogenannte Overfitting.

Der Algorithmus hat dabei während der Trainings nicht generalisiert, sondern lediglich die exakten Werte gelernt – er kann also nur das reproduzieren, was bereits "gesehen" hat. Das Gegenteil davon ist Underfitting, was bedeutet, dass der Algorithmus nicht gelernt hat, Daten richtig einzuordnen und letztlich mehr oder weniger alles wahllos akzeptiert.

Um diesen Problemen vorzubeugen, zerlegt man die Eingabedaten in drei Untergruppen auf: Mit der ersten Gruppe wird der Algorithmus trainiert, die zweite dient dann dazu zu entscheiden, welche Konfiguration man sich näher anschauen will, und die dritte schließlich zum Testen des Algorithmus. Dabei ist es wichtig, dass diese drei Datenmengen nicht gemischt werden, damit der Algorithmus sozusagen "unvoreingenommen" auf die jeweiligen Daten reagiert.

Overfitting und Underfitting

Fazit

Um die Arbeitsweise von künstlicher Intelligenz und KI-Algorithmen nachvollziehen und verstehen zu können, ist es ratsam, zunächst einige Grundbegriffe zu kennen. Gerade für Einsteiger lauern hier einige Fallen, da noch keine Erfahrung mit der Auswahl der Daten, dem Normalisieren und dem Bewerten von Algorithmen vorliegt.

Trotzdem ist es gut, diese Begriffe zu kennen, denn das ist der erste Schritt zu einem besseren Verständnis von KI. Gerüstet mit diesem Vorwissen kann man nun daran gehen, sich mit ersten Algorithmen zu beschäftigen, beispielsweise k-Means, genetischen Algorithmen oder auch neuronalen Netzen.