KI / Maschinelles Lernen

Kein Thema ist derzeit so präsent wie Künstliche Intelligenz – „KI“. Alle größeren Unternehmen haben bereits entsprechende Programme in der Umsetzung und versprechen sich mehr Umsatz, Gewinn oder Einsparungen. Doch was versteckt sich eigentlich hinter dem Begriff und wie ist die Abgrenzung zu Big Data, maschinellem Lernen und neuronalen Netzen? Und wie setzen wir das Thema bei Kinemic um?

Was ist KI?

Künstliche Intelligenz ist der Überbegriff für Softwareanwendungen, bei denen eine Maschine menschenähnliche Fähigkeiten besitzt, wie z. B. Lernen, Urteilen oder auch selbstständiges Problemlösen. Die bekanntesten Beispiele sind sicher die Schach- und Go-Programme DeepBlue bzw. DeepMind, die gegen die besten menschlichen Spieler gewonnen haben.

Aber KI-Anwendungen findet man auch in vielen weiteren Bereichen – nur wissen dies viele Leute oft nicht. Hier sind ein paar Beispiele für solche KI-Anwendungen:

  • Routenplanung mit dem Navigationsgerät unter Berücksichtigung von z.B. Verkehrslage
  • Suchmaschinen benutzen KI, um das Suchverhalten der Benutzer auszuwerten. Durch die Analyse der eingegebenen Suchbegriffe und vermutlich auch weiterer Informationen wie Zeit, Ort, Cookie-Daten, etc. ermittelt das System, welche Ergebnisse besonders sinnvoll sein könnten und versucht uns bessere Resultate vorzuschlagen.
  • Bild- und Spracherkennung, auch Anwendung bestimmter Filter
  • Automatische Übersetzung
  • Die Feeds bei bspw. Facebook oder Youtube sind Ergebnis eines KI-Algorithmus, der probiert uns individuell möglichst interessante Inhalte zu präsentieren
  • Ebenso nutzen Streamingdienste KI um weitere Lieder, Filme oder Serien vorzuschlagen
  • Wenn im Onlineshop weitere Produkte empfohlen werden kommt auch oft eine KI zum Einsatz
  • Bekannt ist KI auch beim autonomen Fahren. Hier wird mittels zahlreicher Sensoren und Kameras die Umgebung und das Auto permanent kontrolliert.

Darüber hinaus gibt es noch viele weitere Anwendungsfälle und man erkennt schon, dass es teilweise nicht leicht zu sagen ist, ob nun KI zum Einsatz kommt oder ein anderes Verfahren genutzt wird. Als Beispiel sei hier der Warenkorb beim Onlineshopping genannt: Werden weitere Produkte vorgeschlagen, weil andere Benutzer sie gemeinsam im Warenkorb hatten oder weil sie in der gleichen Kategorie sind oder weil der Händler hier gerade eine Prämie erhält? Was also ist KI?

Begriffe: KI, maschinelles Lernen, neuronale Netze

Francois Chollet, Autor des Deep Learning-Frameworks „Keras“, definiert KI als „The effort to automate intellectual tasks normally performed by humans“ – frei übersetzt also “Das Bestreben, geistige Aufgaben, welche normalerweise von Menschen durchgeführt werden, zu automatisieren“. Klassische Computerprogramme eignen sich besonders für Aufgaben, die Menschen schwerfallen, wie z.B. Rechnen mit großen Zahlen oder Durchsuchen von Datenbanken. Probleme, deren Lösungsstrategien sich kaum präzise formulieren lassen und eher auf Erfahrung und Kontextwissen basieren, z.B. Erkennen von Objekten auf Fotos, sind hingegen oft schon für Kleinkinder trivial und bringen gleichzeitig Computer an ihre Grenzen.

Über Jahrzehnte wurden immer neue Arten von KIs zum Lösen solcher Aufgaben entwickelt. Z.B. erhält der Computer beim regelbasierten Lösen (sog. „Symbolische KI“) von Aufgaben die zu verarbeitenden Daten sowie die anzuwendenden Regeln und berechnet daraus Lösungen. Die Regeln müssen allerdings vorher aufwändig durch eine Person definiert werden.

Das maschinelle Lernen („Machine Learning“) bezeichnet ein weiteres Teilgebiet der KI, bei der der Computer hingegen nur einige Beispiele der Daten zusammen mit den Lösungen bekommt und daraus die Lösungsregeln selbst berechnet. Dieses Suchen der Lösungsregeln bezeichnet man auch als „Training“. Die berechneten Regeln können dann auf neue Daten angewendet werden.

Bei der Kinemic Gestenerkennung kommt dieses Verfahren auch zum Einsatz: Ein Machine-Learning System lernt aus Bewegungsdaten und der Information, welche Geste sich jeweils dahinter verbirgt. So werden Regeln abgeleitet wie Gesten und Bewegungsdaten zusammenhängen. Anhand der gelernten Regeln können dann aus neuen Bewegungsdaten Gesten erkannt werden.

Um das „Training“ umzusetzen nutzt man oft neuronale Netze – wir auch. Solche Netze haben ihr Vorbild in der Natur, genauer gesagt im Neuron wie es im Nervensystem oder im Gehirn vorkommt. Ein neuronales Netz besteht aus einer Vielzahl einzelner Neuronen, die Informationen empfangen, verarbeiten und an andere Neuronen weiterleiten. Ein einzelnes Neuron ist dabei sehr simpel – aus einer größeren Menge miteinander verbundener Neuronen entstehen allerdings sehr komplexe Effekte!

Ein wesentliches Merkmal neuronaler Netze ist, dass sie im Gegensatz zu klassischen Computerprozessoren parallel arbeiten, also viele Informationen gleichzeitig durch das Netz verarbeitet werden. Aus diesem Grund werden auch Grafikkarten für das maschinelle Lernen genutzt, da deren Architektur viele einfache Kerne vorsieht und so die hohe Parallelität gegeben ist. Dementsprechend betreiben wir auch mehrere Hochleistungsrechner um hier optimale Ergebnisse erzielen zu können – wobei komplexere neuronale Netze schon gerne mehrere Wochen auch auf leistungsfähigen Systemen benötigen können.

Wie lernt ein KI-System?

Es gibt im Prinzip zwei Ansätze, einem KI-System etwas beizubringen.

  1. Überwachtes Lernen: Beim überwachten Lernen (supervised learning) gibt man eine Eingabe sowie das zugehörige Ergebnis vor und das System soll verstehen, wie es von der Eingabe (also zum Beispiel ein Foto einer Katze) zu den Zielwerten („Das ist eine Katze!“) gelangt. Wenn das System den Zusammenhang zwischen Eingabe und Ergebnis „versteht“, hat es eine Verschaltung von Neuronen entwickelt, die regelmäßig zum richtigen Ergebnis führt. Dann ist es möglich mit dem gleichen System Prognosen für andere Eingabedaten zu generieren.
  2. Unüberwachtes Lernen: Was aber, wenn man gar keine Zielwerte zur Verfügung hat? Für diesen Fall benutzt unüberwachtes Lernen (unsupervised learning). Dies wird genutzt um Ähnlichkeiten in den Daten ausfindig zu machen. So werden ungeordnete Daten aufbereitet und es lassen sich Muster und Zusammenhänge finden.

Beide Ansätze nutzen wir, abhängig von der jeweiligen Problemstellung. Unser Kinemic Gestenerkenner zum Beispiel ist ein KI-System, welches auf einer großen Menge von sorgfältig erhobenen Gestendaten trainiert wird. Damit die Gestenerkennung für jede Person zuverlässig funktioniert, wurden die Trainingsdaten auf einer breiten Benutzergruppe und in unterschiedlichsten Kontexten aufgezeichnet. Wir können dem System so also gut beibringen, welche Bewegungsdaten eine Geste sind und wann der Benutzer eine andere Handlung ausführt.

Wer noch mehr zum Thema KI erfahren möchte dem sei auch der exzellente Kurs https://www.elementsofai.de/ der Universität Helsinki empfohlen, der sich explizit auch an Einsteiger in das Thema richtet. Ebenfalls spannend ist die interaktive Seite von Allison George: „Neural networks from scratch„.

Weitere Informationen natürlich auch immer wieder in unserem Blog.

Newsletter

© 2020 Kinemic GmbH. Alle verwendeten Logos und Markenzeichen sind Eigentum ihrer jeweiligen Besitzer.