Wie lernen Maschinen?

Machine learning
© Knssr /stock.adobe.com

Maschinelles Lernen und Künstliche Intelligenz lassen sich aus unserer heutigen Welt nicht mehr wegdenken. Als Technologie findet sie für uns wichtige Inhalte im Internet, navigiert uns durch den Straßenverkehr, erkennt uns auf Bildern, und versteht unsere gesprochenen Befehle. In unserem Blog wollen wir neben Forschungsprojekten und Anwendungsfällen auch die Grundlagen dieser neuartigen Technologie erläutern. Lasst uns also zunächst herausfinden, wie Maschinen überhaupt lernen können.

Der Begriff des Lernens ist uns Menschen bereits bekannt: Ein Mensch lernt von Geburt an, und die Fähigkeit des Lernens hat es der Menschheit ermöglicht, ihren heutigen Stand von Wissen, Technologie und gemeinschaftlichen Werten zu entwickeln. Lernen stellt eine der Grundbedingungen dar, um sich seiner Umwelt anpassen zu können: Beim Lernen verändern wir unser Verhalten oder Denken auf der Basis von Erfahrung oder neuen Einsichten. Lernen ist insofern auch Kernvoraussetzung für intelligentes Leben. Wie aber kann man die Fähigkeit zu Lernen auf eine Maschine, ein künstliches System, übertragen? Wie lässt sich also eine Künstliche Intelligenz schaffen?

Mit “künstliches System” ist hier ein Computer gemeint, also eine Maschine, welche Daten speichert und verarbeitet, indem zum Beispiel Berechnungen durchgeführt werden. Computer sind inzwischen ein wichtiger Bestandteil unseres Lebens: Unser Smartphone dient als Kommunikationsweg, Bildschirme sind aus Büros nicht mehr wegzudenken, und die globale Logistik und Industrie sind flächendeckend digitalisiert. Die Rechen- und Speicherkraft moderner Computer ist immens: Um Millionen verschiedener Zahlen zu verrechnen, bräuchte ein Mensch wohl einige Wochen – ein Smartphone schafft dies im Bruchteil einer Sekunde.

Lange Zeit führten Computer lediglich von Menschen vorgegebene Anweisungen durch und besaßen nicht die Fähigkeit, zu abstrahieren oder gar autonom zu lernen. Computer konnten deswegen nur Aufgaben lösen, die durch einfache Anweisungen, wie zum Beispiel Rechenschritte, beschrieben werden konnten. Die Forschung zum Maschinellen Lernen beschäftigt sich deswegen mit der Frage, wie Computer das Bewältigen von komplexen Aufgaben erlernen können. Hier gab es viele Durchbrüche in den letzten Jahren, sodass einige augenscheinlich komplexe Aufgaben, zum Beispiel Gesichts-  oder Spracherkennung, nun fast verlässlich durch Computer gelöst werden. Wie aber kann ein Computer lernen?

Daten als Grundlage des Lernens

Auch Maschinen lernen durch Erfahrung. Die Schwierigkeit ist also zunächst, diese Erfahrung in Form von Daten für Computer zu repräsentieren. Angelehnt an uns Menschen finden die meisten maschinellen Lernprozesse deswegen anhand von konkreten Beispielen statt. Diese sollen jedoch nicht nur vom Computer auswendig gelernt werden, er muss vielmehr komplexe Muster und Zusammenhänge in den Daten erkennen und verstehen. In der Regel gibt es in den Daten eine konkrete, gemessene Größe oder Eigenschaft, die durch das System vorhergesagt werden soll, das sogenannte Label. Es wurden jedoch auch Spezialformen des Maschinellen Lernens entwickelt, um verschieden ausgestalteten Datenlagen zu begegnen. Diese ermöglichen zum Beispiel das Lernen aus Daten ohne Labels, oder das aktive Abfragen der Daten im Verlauf des Lernprozesses.

Ein einfaches Beispiel: Es soll ein System entworfen werden, welches anhand einiger Eigenschaften ein Tier entweder als Hund oder als Katze identifiziert (rechte Spalte). Es liegen einige Beispiele vor, aber natürlich müssen auch Tiere unterschieden werden können, die von diesen Beispielen abweichen.

Tabelle Wie lernen Maschinen - Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)
© ML2R

Für die Vorhersage werden die vorhandenen Informationen im Computer mathematisch und statistisch verarbeitet. Im Maschinellen Lernen werden diese Rechenabläufe flexibel entworfen, damit sich das System an die vorhandenen Daten anpassen kann. Die Stellschrauben dieser Systemabläufe bezeichnet man als Parameter. Unter Training versteht man dann die schrittweise Veränderung der Parameter mit dem Ziel, dass das System die Aufgabe immer besser lösen kann. Für das Training werden Algorithmen, also bestimmte Folgen von Rechenschritten, genutzt. Die Gesamtheit der Parameter und ihrer Zusammenhänge wird oft als Modell bezeichnet, da es gewissermaßen die Trainingsdaten modelliert. Es gibt viele unterschiedliche Klassen von Modellen, die jeweils auch eigene Algorithmen zum Training mit sich bringen. Zu den bekanntesten Methoden zählen Regressionen, Entscheidungsbäume, Random Forests, Support Vector Machines, künstliche neuronale Netze, und Probabilistische Graphische Modelle, insbesondere auch weil sie verhältnismäßig einfach zu benutzen sind.

In unserem angebrachten Beispiel könnte beispielsweise ein Parameter steuern, dass Tiere mit einem Gewicht über 10 Kilogramm als Hunde klassifiziert werden, da kein gegenteiliger Fall in den Daten zu finden ist. Zu Beginn des Trainings würde dieser Parameter zufällig gewählt werden, und sich dann im Verlauf des Lernprozesses zunehmend einem sinnvollen Wert annähern. Mithilfe von mehr Parametern lassen sich hier die Daten noch besser unterscheiden.

Optimierung und Validierung

Um das Modell schrittweise zu verbessern, muss man seine Güte bestimmen. Dafür kann man zum Beispiel die Aufgabe für die vorliegenden Trainingsdaten durch das Modell lösen lassen, und untersuchen, ob die vorhergesagten Labels mit den echten Labels übereinstimmen. Die mathematische Definition dieser Idee bezeichnet man in der Regel als Zielfunktion, die abhängig ist von den Parametern und beobachteten Daten. Mithilfe von mathematischer Optimierung lassen sich dann die Parameter basierend auf der Zielfunktion schrittweise verbessern.

Ein fertig trainiertes Modell kann man nun nutzen, um Vorhersagen für Daten zu machen, bei denen das Label unbekannt ist. Wie kann man jedoch die Güte für unbekannte Daten bestimmen, oder gar zwei trainierte Modelle miteinander vergleichen? Diese Fragen sind der Grund, warum die vorliegenden Daten mit Label in der Regel in Trainings- und Testdaten unterteilt werden. Die Trainingsdaten werden lediglich genutzt, um das Modell zu trainieren. Anschließend wird das Modell auf die Testdaten angewendet, für die ebenfalls Labels vorhanden sind. Diese Daten wurden im Training nicht verwendet und geben deshalb Hinweis auf die Güte des Modells für unbekannte Daten. Man bezeichnet diesen Prozess als Validierung. In der unten stehenden Grafik sind die Teilschritte im Maschinellen Lernen noch einmal überschaubar zusammengefasst.

Pipeline - Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)
© ML2R

Damit sind nun einige wichtige, grundlegende Aspekte des Maschinellen Lernens erläutert. Ihr Interesse für Fragen rund um Technologien und Themen des Maschinellen Lernens und der Künstlichen Intelligenz wurde geweckt? Verfolgen Sie auch weiterhin den Blog des Kompetenzzentrums Maschinelles Lernen Rhein-Ruhr (ML2R). Ob Anwender oder Experte, die Forscher*innen des Kompetenzzentrums geben ihre Expertise weiter. Lesen Sie zum Beispiel Beiträge mit der Kennzeichnung “Grundlagen”, um Wissen im Bereich maschineller Lernverfahren systematisch aufzubauen. Haben Sie Fragen oder Anmerkungen? Nehmen Sie gern Kontakt mit dem ML2R-Team auf!

Sascha Mücke,

13. Januar 2021

Themen

Sascha Mücke

Sascha Mücke ist wisschenschaftlicher Mitarbeiter am Lamarr-Standort derTechnischen Universität Dortmund. Schwerpunkte seiner Forschung sindunter anderem Hardware-Beschleunigung für Lern- und Optimierverfahren,insbesondere Evolutionäre Optimierung, sowie Quantencomputing.

Weitere Blogartikel