Pauken ohne Prüfungsphase?!
Algorithmen lernen anders
Von Daniela Gjuraj
Wenn wir Studierenden etwas mit Algorithmen gemeinsam haben, dann ist es die ständige Lernerei: Informationen aufnehmen, wiedergeben, merken, weiterverwenden, erweitern, auf andere Kontexte anwenden. Algorithmen tun nichts anderes als das, was wir für unsere Klausurenphasen tun. Manche von uns lernen besser über visuelle Eindrücke, Grafiken, Schaubilder. Andere brauchen jemanden, der oder die es ihnen erklärt. Wieder andere wechseln ihre Lernmethoden ständig. Doch wie schafft es ein Algorithmus, stets weiter zu lernen ohne müde zu werden? Mit welchen Methoden eignet er sich Wissen und Werkzeuge zur Datenverarbeitung an?
Alte Sprichwörter sagen, dass noch kein Meister vom Himmel gefallen ist und es ohne Fleiß keinen Preis gibt. Alles auf der Welt muss erlernt und erarbeitet werden, denn von alleine wird niemand schlau. Youtube-Videos, Apps, Blogartikel und Computeranwendungen erleichtern uns das Leben ungemein, wenn wir nicht weiterwissen und schnell und unkompliziert etwas Neues lernen wollen. Ein Algorithmus dagegen kann nicht so einfach auf Google und Co. zugreifen, wenn er etwas Neues lernen will –um intelligent zu werden braucht er Training und Untestützung. Ahmt ein Computer Entscheidungsstrukturen des Menschen bei der Lösung von Problemen nach, spricht man von künstlicher Intelligenz. Um wie wir Menschen lernen zu können, müssen sie auch auf Erfahrungen zurückblicken können und diese bei Entscheidungen einfließen lassen um daraus Schlüsse ziehen können.
Maschinelles Lernen bei Algorithmen
Algorithmen sind die Handlungsgebote und -vorschriften eines Computers. Sie bestehen aus einzelnen Schritten, die klar definiert sind und zum Lösen von Problemen eingesetzt werden. Eine gewisse Eingabe führt zu einer gewissen Ausgabe. Der Weg dazwischen besteht aus Berechnungen des Algorithmus. In intelligenten Systemen gibt es aber nicht nur einen einzigen Algorithmus, sondern eine Kette aus verschiedenen zusammenarbeitenden Algorithmen, die komplexe Aufgaben bewältigen können. Solche verketteten Netze werden neuronale Netze genannt. Mit ihrer Hilfe schafft der Computer, für ihn höchst komplexe Aufgaben, wie zum Beispiel Spracherkennung. Die Funktionsweise von künstlichen neuronalen Netzen ist in vielerlei Hinsichten von biologischen neuronalen Netzen in, z. B. dem menschlichen Gehirn inspiriert; im Grundkern funktionieren beide sehr ähnlich: wahrnehmen, nachdenken/ verarbeiten, schlussfolgern. Warum wir komplizierte Berechnungen jedoch lieber künstlichen neuronale Netzwerk überlassen, liegt daran, dass der Algorithmus mithilfe dieses Netzwerks größere Datenmengen in übermenschlicher Geschwindigkeit untersuchen und verarbeiten kann. Maschinelles Lernen (engl.: machine learning) von Algorithmen, basiert darauf, dass Algorithmen ihre Leistungen basierend auf vorangegangen Lernerfahrungen, konstant verbessern. In Lernphasen werden sie so mit riesengroßen Mengen an Beispieldatensätzen so lange trainiert, bis die Lernerfahrungen soweit ausreichen, dass der Algorithmus selbständig neue, unbekannte Daten korrekt einordnen kann.
Das schafft der Algorithmus, indem er eine Aufgabe in seine kleinsten Teilchen aufspaltet und Muster in diesen sucht, die er dann extrahiert und auf neue Sachverhalte anwendet. Kennt man so auch von sich selbst, oder?
Arten von Machine Learning
Überwachtes Lernen
Hier werden bekannte Daten genutzt, aus denen der Algorithmus Muster und Zusammenhänge erkennen lernen soll. Ein von Hand annotiertes Datenset muss zusammengestellt werden, damit aus diesem Input ein bestimmter Output generiert werden kann. Der Zusammenhang zu einer Zielvariable wird erlernt und versucht, korrekt vorherzusagen. Diese Zielvariable kann dabei z. B. eine Klasse oder ein Zahlenwert sein. Läuft dieser Lernprozess erfolgreich ab, können dadurch verlässliche Vorhersagen für zukünftige und unbekannte Daten getroffen werden. In der Praxis wird überwachtes Lernen vor allem bei Kund*innendaten in Unternehmen angewandt, z. B. wenn es um eine Vorhersage des Stromverbrauchs für einen gewissen Zeitraum, bei einer Person/Firma geht, Risikobewertungen an Investitionen vorgenommen werden sollen, Ausfallwahrscheinlichkeiten in Maschinenparks berechnet werden sollen oder Prognosen über Werte allgemein erstellt werden soll.
Nicht überwachtes maschinelles Lernen
Bei dieser Art des maschinellen Lernens bekommt der Algorithmus keine Beispieldaten und muss sich aus einem gegebenen Datensatz selbst Muster und Gruppierungen herausarbeiten. Diese Art des maschinellen Lernens ist nicht darauf ausgelegt, Vorhersagen oder Prognosen zu liefern. Sie dient eher der Erkennung und Sortierung von Kategorien und Mustern und wird vor allem benutzt, um große Datenmengen zu visualisieren, Cluster zu analysieren, Regeln aus Datensätzen zu extrahieren oder Machine Learning Features zu erstellen. Häufig bestehen die Trainingsdatensätze hier aus einer Menge an Daten, die erkannt werden sollen und Daten, die bewusst „falsche“ Inhalte darstellen. Sie sollen dabei helfen, die Trefferquote zu präzisieren und das Aussieben von nicht brauchbaren Daten zu verbessern.
Teilüberwachtes maschinelles Lernen
Beispieldaten mit konkreten Zielvariablen werden in Kombination mit unbekannten Daten zum Training des Algorithmus genutzt – es handelt sich also um einen Mix aus überwachtem und nicht überwachtem Lernen. Die benutzte Menge an Daten ohne Zielvariable ist höher, als die Menge an bekannten Daten. Daraus ergibt sich der Vorteil, dass mit einer kleinen Menge bekannter Daten besser trainiert werden kann, da die Beschaffung von bekannten Beispieldaten extrem kostspielig ist und dazu noch aufwändig. Das Lernsystem kann so, neben vorgegebenen Outputs, auch eigene Outputs errechnen. Diese Art des maschinellen Lernens findet vor allem in der Bild- oder Objekterkennung Anwendung.
Für die Lösung komplexer Aufgaben, ist immer eine Verkettung verschiedener Algorithmen mit verschiedenen Lernmethoden nötig, die dann voneinander und aufeinander aufbauend lernen und funktionieren. Viele verschiedene Schichten von algorithmischen Verarbeitungseinheiten (künstliche Neuronen) machen ein sogenanntes neuronales Netz aus – je mehr Schichten es umfasst, umso komplexere Sachverhalte können dargestellt und verarbeitet werden.
Wie werden Trainingsdaten beschafft?
Daten sind das Fleisch und Blut eines guten KI-Systems. Hat es mehr Daten in der Lernphase eingespeist bekommen, kann es präziser Aufgaben lösen. Die Beschaffung von Daten ist jedoch extrem kostspielig und zeitaufwändig. Bei persönlichen Daten kommen zudem noch Copyrightfragen oder Persönlichkeitsrechte mit ins Spiel, die die Beschaffung erschweren. Viele Firmen greifen deswegen gerne auf Datenbanken zurück, die vorgefertigte Datensets anbieten. Andere Firmen legen kleinere Datensets selbst an oder erweitern Open Source Daten (von anderen frei zur Verfügung gestellte Datensets) um ihre eigenen Daten. Es ist also durchaus nicht einfach, Trainingsdaten zu beschaffen. Die Erhebung, Auswertung und Annotation ist ein immens arbeitsintensiver Prozess. Einzelne Schritte müssen häufig nachjustiert werden. Wenn man nicht gerade ein Daten-Mogul wie Google oder Facebook ist, der Daten wie Sand am Meer zur Verfügung hat, ist das Trainieren von Algorithmen und KI-Systemen enorm schwierig.
Und nun?
Wenn ein Algorithmus lernen soll eine Katze zu erkennen, muss man ihm erst einmal Millionen von Bildern verschiedener Katzen zeigen, damit er das 1,000,001. Bild einer Katze schließlich von selbst als solche erkennt, ohne dass es ihm vorher bekannt war. Hat er diesen Schritt einmal geschafft, erkennt er Dinge noch viel schneller als ein Mensch und auch mit viel höherer Trefferwahrscheinlichkeit. Anders als Menschen haben Algorithmen jedoch keinen Menschenverstand und keine Ahnung davon, wie die Welt außerhalb von Trainingsdatensätzen und vom Menschen eingespeisten Funktionen funktioniert und sind deswegen durchaus fehleranfällig – dazu mehr in den folgenden Artikeln dieser Artikelreihe über Algorithmen.
Quellen:
El Naqa I., Murphy M.J. (2015) What Is Machine Learning?. In: El Naqa I., Li R., Murphy M. (eds) Machine Learning in Radiation Oncology. Springer, Cham. https://doi.org/10.1007/978-3-319-18305-3_1
Heilmann T.A. (2019) Algorithmus. In: Liggieri K., Müller O. (eds) Mensch-Maschine-Interaktion. J.B. Metzler, Stuttgart. https://doi.org/10.1007/978-3-476-05604-7_32
https://www.sueddeutsche.de/digital/algorithmen-so-trainiert-google-kuenstliche-intelligenz-1.375923
blog.bildungsserver.de/wie-fuettert-man-algorithmen/