Читать книгу Maschinelles Lernen In Aktion - Alan T. Norman - Страница 3

Kapitel 1. Was ist Maschinelles Lernen?

Оглавление

Im ersten Kapitel geht es darum, einen Rahmen dafür zu schaffen, was Sie in diesem Buch lesen werden. Hier werden die grundlegenden Konzepte definiert, die wir in den folgenden Kapiteln dann genauer untersuchen werden. Die Kapitel dieses Buches bauen aufeinander auf; dieses ist das Grundgerüst.

Der Ausgangspunkt dafür ist logischerweise zu definieren, was maschinelles Lernen eigentlich ist.


Meine einfache Definition lautet wie folgt: Durch maschinelles Lernen kann ein Computer aus Erfahrungen lernen.

Das mag auf den ersten Blick trivial klingen, aber wenn man diese Definition genauer betrachtet, dann hat sie weitreichende Auswirkungen. Bevor es maschinelles Lernen gab, konnten Computer nicht aus Erfahrung lernen, sondern der Computer tat einfach nur genau das, was der ihm der Code vorschrieb.

Bei maschinellem Lernen kann der Computer – einfach gesagt – seine Antworten dadurch verändern, dass eine „Feedback“(Rückkopplungs)-Schleife für gute und schlechte Antworten eingeführt wird. Das bedeutet, dass sich Algorithmen für maschinelles Lernen grundlegend von den bisher verwendeten Computerprogrammen unterscheiden.

Der erste Schritt, um zu erkennen, wie maschinelles Lernen die Informatik grundlegend verändert, ist es zu verstehen, was der Unterschied zwischen expliziter Programmierung und Algorithmus-Training ist.

Explizite Programmierung vs. Algorithmustraining

Mit wenigen Ausnahmen wurde fast jede Software, die Sie bisher in Ihrem Leben verwendet haben, explizit programmiert. Das bedeutet, dass ein Mensch eine Abfolge von Regeln und Anweisungen geschrieben hat, die vom Computer ausgeführt werden soll. Alles, vom Betriebssystem Ihres Computers über das Internet bis hin zu den Apps auf Ihrem Smartphone, besteht aus Code, den ein Mensch geschrieben hat. Ohne Menschen, die einem Computer eine Reihe von Anweisungen zum Ausführen geben, wäre der Computer nicht in der Lage, irgendetwas zu tun.

Explizite Programmierung ist großartig, sie ist das Rückgrat für alles, was wir derzeit mit Computern tun. Explizite Programmierung ist optimal, wenn der Computer Daten verwalten soll, einen Wert berechnen oder Beziehungen für Sie verfolgen soll. Explizite Programmierung ist sehr mächtig, hat aber einen Flaschenhals: den Menschen.

Das wird dann problematisch, wenn der Computer komplexe Dinge erledigen soll, z. B. eine Katze auf einem Foto erkennen. Wenn wir einem Computer mithilfe expliziter Programmierung beibringen wollten, wonach bei einer Katze zu suchen ist, würden wir Jahre damit verbringen, Code für jede erdenkliche Eventualität zu schreiben. Was z. B. wäre, wenn man nicht alle vier Beine der Katze auf dem Foto sehen könnte? Was, wenn die Katze eine andere Farbe hat? Könnte der Computer eine schwarze Katze auf schwarzem Hintergrund oder eine weiße Katze im Schnee erkennen?

Das sind alles Dinge, die wir Menschen für selbstverständlich halten. Unser Gehirn erkennt Dinge in vielen Zusammenhängen schnell und einfach. Computer können das nicht so gut. Es würde Millionen von Zeilen expliziten Codes erfordern, um einem Computer zu sagen, wie er eine Katze identifizieren kann. Tatsächlich ist es vermutlich überhaupt nicht möglich, einen Computer explizit so zu programmieren, dass er Katzen zu 100 % genau identifizieren kann, weil sich der Kontext immer ändern und den Code durcheinanderbringen kann.

Hier kommen Algorithmen ins Spiel. Bei expliziter Programmierung versuchen wir, dem Computer zu sagen, was eine Katze ist, und alle Eventualitäten dafür in unserem Code zu berücksichtigen. Im Gegensatz dazu ermöglichen maschinelle Lernalgorithmen dem Computer, selbst herauszufinden, was eine Katze ist.

Am Anfang enthält der Algorithmus nur ein paar wesentliche Funktionen. Zum Beispiel könnten wir den Computer anweisen, nach vier Beinen und einem Schwanz zu suchen. Dann füttern wir diesen Algorithmus mit ganz vielen Bildern. Einige dieser Bilder sind Katzen, aber andere sind vielleicht Hunde, Bäume oder irgendwelche zufälligen Objekte. Wenn der Algorithmus eine Vermutung darüber anstellt, was er erkennt, dann geben wir positives Feedback für richtige Vermutungen und negatives Feedback für falsche Vermutungen.

Im Laufe der Zeit wird der Computer den Algorithmus dazu verwenden, sich ein eigenes Modell zu erstellen, wonach er suchen muss, um eine Katze korrekt zu identifizieren. Die Bestandteile im Computermodell sind möglicherweise Dinge, an die wir anfangs gar nicht gedacht haben. Mit mehr Feedback und Tausenden von Bildern zum Lernen wird der Algorithmus allmählich immer besser darin, Katzen zu identifizieren. Der Algorithmus wird dabei möglicherweise nie eine 100%ige Trefferquote erreichen, aber er wird präzise genug sein, um einen menschlichen „Katzenerkenner“ zu ersetzen, da der Lernalgorithmus viel schneller und effizienter ist.

Diese Algorithmen sind Richtlinien, aber keine expliziten Regeln. Sie sind eine neue Methode, um einem Computer zu erklären, wie er an eine Aufgabe herangehen soll. Algorithmen beinhalten Feedbackschleifen, die sich im Verlauf von Hunderten oder gar Tausenden von Versuchen selbst korrigieren.

Definition: Künstliche Intelligenz vs. maschinelles lernen vs. neuronale netze

In diesem Buch geht es zwar um maschinelles Lernen, aber dieser Begriff ist in einem größeren Zusammenhang zu sehen. Da maschinelles Lernen immer beliebter wird, wird auch viel darüber berichtet. In solchen Beiträgen verwenden die Journalisten oft die Begriffe künstliche Intelligenz, maschinelles Lernen und neuronale Netze synonym. Es gibt aber Unterschiede zwischen diesen drei Begriffen.


Künstliche Intelligenz ist der älteste und umfassendste dieser drei Begriffe. Er wurde in der Mitte des 20. Jahrhunderts geprägt und bezieht sich auf alles, wo eine Maschine seine Umgebung beobachtet und entsprechend reagiert. Künstliche Intelligenz steht im Gegensatz zu der natürlichen Intelligenz von Menschen und Tieren. Mit der Zeit hat sich der Aufgabenbereich der künstlichen Intelligenz allerdings verändert. Zum Beispiel war die Zeichenerkennung früher eine große Herausforderung. Mittlerweile ist das jedoch schon zum Standard geworden und wird daher heute nicht mehr zur KI gerechnet. Immer wenn wir neue Anwendungsmöglichkeiten für die KI gefunden haben, integrieren wir sie in das, was für uns „normal“ ist, und erweitern die KI auf das, was dann jeweils gerade neu ist.

Maschinelles Lernen ist eine bestimmte Teilmenge der KI. Wir haben uns in diesem Kapitel bereits mit der Definition von maschinellem Lernen beschäftigt, aber es geht darum, einer Maschine eine Feedback-Schleife zu geben, die es ihr ermöglicht, aus Erfahrungen zu lernen. Den Begriff gibt es seit den 1980er Jahren, aber erst in den letzten 10 bis 15 Jahren hatten wir die Rechen- und Speicherkapazitäten, um wirklich mit der Implementierung von maschinellem Lernen in großem Maßstab zu beginnen.


Neuronale Netze sind eine Teilmenge des maschinellen Lernens, sie sind derzeit der heißeste Trend in der Branche. Ein neuronales Netzwerk besteht aus vielen Neuronen (oder auch „Knoten“), die zusammenarbeiten, um gemeinsam eine Antwort zu finden. Jedes der untersten Neuronen hat eine bestimmte Funktion. Beispielsweise können die untersten Neuronen bei der Bilderkennung bestimmte Farben oder Linien erkennen. Darüber liegende Neuronen können dann die Linien in Formen zusammenfassen, Abstände messen oder die Farbdichte untersuchen. Jedes dieser Neuronen wird am Ende in Bezug auf seine Auswirkungen auf die endgültige Antwort gewichtet. Am Anfang wird das neuronale Netz noch viele Fehler machen, aber im Verlauf zahlreicher Versuche wird das neuronale Netz die Gewichtung aller Neuronen immer wieder anpassen, um besser darin zu werden, die korrekte Antwort zu finden.

Wenn Sie einen Artikel über künstliche Intelligenz, maschinelles Lernen und neuronale Netze lesen, dann verstehen Sie jetzt den Unterschied. Entscheidend dabei ist, dass neuronale Netze nur eine Teilmenge des maschinellen Lernens sind und dieses wiederum nur eine Teilmenge der künstlichen Intelligenz.

Grundlegende Konzepte

Maschinelles Lernen lässt sich für viele Aufgabenstellungen einsetzen. Wann immer es eine große Datenmenge zu analysieren gilt, kann der Einsatz von maschinellem Lernen hilfreich sein, um eine sinnvolle Aussage zu erzielen. Jedes Projekt für maschinelles Lernen ist anders, aber es gibt fünf Kernpunkte, die in jeder Anwendung gleich sind:

1. Die Aufgabenstellung

Maschinelles Lernen ist immer dann sinnvoll, wenn es darum geht, Muster zu erkennen und Verhalten vorherzusagen. Mustererkennung kann von Zeichenerkennung über das Vorhersagen von Wartungsarbeiten gehen, bis hin zur Empfehlung von Produkten, die auf den vorherigen Käufen des Kunden basieren.

Allerdings versteht ein Computer die Daten oder die Aufgabenstellung nicht von selbst. Deshalb muss ein Datenspezialist dem Computer durch entsprechendes Feedback beibringen, wonach er suchen soll. Wenn der Datenspezialist die Aufgabenstellung nicht präzise definiert, wird auch der beste und auf die größte Datenmenge trainierte Algorithmus nicht die gewünschten Ergebnisse bringen.


Natürlich ist maschinelles Lernen noch nicht besonders gut darin, auf einer höheren Ebene sinnbildliche Schlussfolgerungen zu ziehen. Ein Algorithmus könnte zum Beispiel in der Lage sein, ein Körbchen, bunte Eier und eine Wiese zu erkennen, nicht aber, dass es sich um eine Ostereier-Suche handelt – was wiederum die meisten Menschen erkennen würden.

Typischerweise haben Maschinenlernen-Projekte eine eher eng gesteckte Aufgabenstellung, für die es eine Antwort zu finden gilt. Unterschiedliche Aufgabenstellungen erfordern unterschiedliche Vorgehensweisen und möglicherweise auch andere Algorithmen.

2. Die Daten

Maschinelles Lernen ist in dieser Größenordnung erst möglich geworden aufgrund der Datenmengen, die wir in den vergangenen Jahren gesammelt haben. Diese „Big Data“-Revolution hat komplexes Algorithmustraining erst ermöglicht. Daten sind der Kern beim Anpassen jedes Maschinenlernen-Algorithmus, um richtige Antworten zu finden.


Weil die Daten von so zentraler Bedeutung für das maschinelle Lernen sind, wirken sich die Eingaben unmittelbar die Resultate aus. Wenn die Daten schon eine Tendenz oder Voreingenommenheit beinhalten, dann wird auch der Lernalgorithmus voreingenommen sein. Zum Beispiel beinhalten Systeme, die Bewerber beurteilen, Gerichtsurteile vorhersagen oder medizinische Diagnosen unterstützen, maschinelles Lernen. Sie alle haben einen gewissen Grad von kulturellen, geschlechtsspezifischen, ethnischen, bildungsbezogenen oder anderen Verzerrungen in die Datensätze eingebaut, durch die sie trainiert werden.

Solche Verzerrungen in den Daten können sich schlimmer auswirken als Vorurteile. Manchmal können Daten die Algorithmen auch ganz anders in die Irre führen. Nehmen wir den Fall eines militärischen maschinellen Lernmodells, das darauf trainiert wurde, getarnte Panzer in einem Wald zu erkennen. Die Datenwissenschaftler trainierten den Algorithmus mit einem Satz von Bildern, von denen die einen Panzer zwischen den Bäumen enthielten und die anderen nur Bäume zeigten. Nach erfolgtem Training konnte der Algorithmus nahezu perfekte Testergebnisse erzielen. Aber als dieses Modell dann in Betrieb genommen wurde, funktionierte das Entdecken von Panzern überhaupt nicht. Es stellte sich heraus, dass die für das Training verwendeten Bilder mit Panzern an einem sonnigen Tag aufgenommen worden waren und die, die nur Bäume zeigten, an einem bewölkten Tag. Der Algorithmus hatte dadurch nur gelernt, sonnige von bewölkten Tagen zu unterscheiden, aber nicht, Panzer zu entdecken!

Maschinelles Lernen In Aktion

Подняться наверх