Bei all der Hysterie um ChatGPT, Bard und wie sie alle heißen, lohnt es sich, einen Schritt zurückzutreten, um sich die ganze Bandbreite der KI-Algorithmen und ihre Anwendungsfälle zu verdeutlichen. Schließlich lösen viele "traditionelle" Machine-Learning-Algorithmen schon seit Jahrzehnten diverse, bedeutende Probleme - und zwar erfolgreich. Warum sollten also lediglich die Large Language Models (LLMs) im Rampenlicht stehen?
Machine Learning (ML) ist eine Klasse von Methoden, um automatisiert Prognosemodelle aus Daten zu erstellen. ML-Algorithmen sind dabei der Motor: Sie "verwandeln" einen Datensatz in ein Modell. Welche Art von Algorithmus sich dabei am besten eignet, hängt davon ab,
welches Problem Sie lösen möchten,
wie viele Rechenressourcen zur Verfügung stehen und
welche Art von Daten vorliegt.
Nachfolgend stellen wir Ihnen 14 der häufigsten verwendeten Algorithmen für Machine- und Deep Learning vor - und erklären Ihnen, wie diese jeweils unter anderem mit Vorhersagemodellen, Klassifikation, Bild- und Sprachverarbeitung sowie Generative AI zusammenhängen. Die folgende Zusammenstellung erhebt keinen Anspruch auf Vollständigkeit - die Algorithmen sind (grob) aufsteigend nach Komplexität geordnet.
Beliebte Machine-Learning-Algorithmen
Die lineare Regression ist der simpelste (supervised) Algorithmus für maschinelles Lernen, um numerische Werte vorherzusagen. In einigen Fällen ist für die lineare Regression nicht einmal ein Optimizer erforderlich, da sie in geschlossener Form lösbar ist. Anderenfalls lässt sie sich einfach durch Gradientenabstieg (dazu später mehr) optimieren. Der Ausgangspunkt bei der linearen Regression: Die Zielfunktion korreliert linear mit den unabhängigen Variablen. Das kann für Ihre Daten zutreffen, muss es aber nicht.
Zur Verzweiflung von Datenwissenschaftlern wenden Business-Analysten lineare Regression oft unbedarft auf Prediction-Probleme an und hören dann auf, ohne Streudiagramme zu erstellen oder Korrelationen zu berechnen. Somit überprüfen sie nicht, ob die zugrundeliegende Annahme überhaupt vernünftig ist. Tappen Sie nicht in diese Falle. Es ist gar nicht so schwer, eine explorative Datenanalyse durchzuführen und dann den Computer alle sinnvollen Machine-Learning-Algorithmen ausprobieren zu lassen, um zu sehen, welche am besten funktionieren. Versuchen Sie es auf jeden Fall mit einer linearen Regression, aber betrachten Sie das Ergebnis eher als Grundlage, denn als abschließende Antwort.
Optimierungsmethoden für maschinelles Lernen - einschließlich neuronaler Netze - verwenden in der Regel eine Form von Gradientenabstiegs-Algorithmus, um die Back Propagation zu steuern.
Dabei kommt oft ein Mechanismus zum Einsatz, der verhindert, dass man in lokalen Minima stecken bleibt, etwa der Optimierung zufällig ausgewählter Mini-Batches und die Anwendung von Impulskorrekturen auf den Gradienten. Einige Optimierungsalgorithmen passen auch die Lernraten der Modellparameter an, indem sie den Verlauf des Gradienten betrachten (AdaGrad, RMSProp oder Adam).
Klassifizierungsalgorithmen können Lösungen für Probleme im Bereich Supervised Learning finden, bei denen eine Auswahl (oder Wahrscheinlichkeitsbestimmung) zwischen zwei oder mehr Klassen erforderlich ist.
Die logistische Regression ist eine Methode, um kategorische Klassifizierungsprobleme zu lösen, bei denen eine lineare Regression innerhalb einer Sigmoid- oder Logit-Funktion verwendet wird. Das komprimiert die Werte auf einen Bereich von 0 bis 1 und gibt eine Wahrscheinlichkeit aus. Ähnlich wie die lineare Regression für numerische Vorhersagen bildet die logistische Regression einen guten Startpunkt für kategorische Vorhersagen.
Support vector machines (SVMs) sind eine Art parametrisches Klassifizierungsmodell - eine geometrische Methode, um zwei Label-Klassen zu trennen und zu klassifizieren. Im einfachsten Fall (gut getrennten Klassen mit zwei Variablen) finden SVMs die gerade Linie, die die beiden Gruppen auf einer Ebene am besten trennt. In komplizierteren Fällen können die Punkte in einen höherdimensionalen Raum projiziert werden, und die SVM findet die Ebene oder Hyperebene, die die Klassen am besten voneinander trennt. Die Projektion wird als Kernel bezeichnet - der Prozess als Kernel-Trick. Nach der Umkehrung der Projektion ist die resultierende Grenze oft nichtlinear.
Wenn es mehr als zwei Klassen gibt, werden SVMs paarweise auf die Klassen angewendet. Wenn sich die Klassen überschneiden, können Sie einen Penalty Factor für falsch klassifizierte Punkte hinzufügen ("soft margin").
Decision trees (DTs) oder Entscheidungsbäume sind eine nichtparametrische, überwachte Lernmethode, die sowohl für Klassifizierung als auch für Regression geeignet ist. Das Ziel: Ein Modell zu erstellen, das den Wert einer Zielvariablen vorhersagt, indem es einfache Entscheidungsregeln erlernt, die aus den Datenmerkmalen abgeleitet werden. Ein DT kann als eine stückweise konstante Annäherung betrachtet werden.
Entscheidungsbäume sind einfach zu interpretieren und kostengünstig in der Anwendung. Sie ziehen allerdings rechenintensive Trainingsprozesse nach sich und sind anfällig für Overfitting.
Das Random-Forest-Modell erzeugt ein Ensemble von zufälligen DTs und wird ebenfalls sowohl für Klassifizierungs- als auch für Regressionszwecke verwendet. Das aggregierte Ensemble kombiniert die Votes entweder modal oder mittelt die Wahrscheinlichkeiten der Entscheidungsbäume. Random Forest ist eine Art von Bagging-Ensemble.
eXtreme Gradient Boosting ist ein skalierbares, durchgängiges Tree-Boosting-System, das bereits bei diversen ML-Herausforderungen hervorragende Ergebnisse erzielt hat.
Bagging und Boosting werden oft in einem Atemzug genannt. Der Unterschied besteht darin, dass Gradient Tree Boosting mit einem einzigen Entscheidungs- oder Regressionsbaum beginnt, diesen optimiert und dann den nächsten Baum aus den Überresten des ersten DT erstellt, statt ein Ensemble von randomisierten Trees zu erzeugen.
K-means clustering versucht, n Beobachtungen unter Verwendung der euklidischen Abstandsmetrik in k Cluster zu unterteilen. Das Ziel ist es, die Varianz (Summe der Quadrate) innerhalb jedes Clusters zu minimieren. Es handelt sich um eine nicht überwachte Methode der Vektorquantisierung, die nützlich ist um Merkmale zu lernen und sich gut als Ausgangspunkt für andere Algorithmen eignet.
Lloyds Algorithm ist die am häufigsten verwendete Heuristik zur Lösung des Problems. Er ist relativ effizient, bietet aber keine Garantie für globale Konvergenz. Um das zu optimieren, wird der Algorithmus oft mehrmals mit zufälligen anfänglichen Clusterschwerpunkten ausgeführt, die mit der Forgy- oder anderen zufälligen Partitionierungsmethoden erzeugt werden.
K-means geht von kugelförmigen Clustern aus, die trennbar sind, so dass der Mittelwert gegen das Clusterzentrum konvergiert. Zudem geht der Algorithmus davon aus, dass die Reihenfolge der Datenpunkte keine Rolle spielt. Der Hintergrund: Es wird davon ausgegangen, dass die Cluster eine ähnliche Größe haben, so dass die Zuordnung zum nächstgelegenen Clusterzentrum korrekt ist.
Die Principal component analysis (PCA, auch Hauptkomponentenanalyse) ist ein statistisches Verfahren, das orthogonale Transformation verwendet, um eine Reihe von Beobachtungen möglicherweise korrelierter numerischer Variablen in eine Reihe von Werten linear unkorrelierter Variablen umzuwandeln.
Die PCA kann durch Eigenwertzerlegung einer Datenkovarianzmatrix (oder Korrelationsmatrix) oder durch Singulärwertzerlegung (SVD) einer Datenmatrix durchgeführt werden - in der Regel nach einem auf die Ausgangsdaten angewandten Normalisierungsschritt.
Beliebte Deep-Learning-Algorithmen
Convolutional Neural Networks (CNNs) kommen häufig für Machine Vision zum Einsatz und bringen die erstrebenswerte Eigenschaft mit, positionsunabhängig zu sein.
Wenn ein Convolutional Layer auf Bilder angewendet wird, "gleitet" dieser (verständlich zusammengefasst) über das Bild und berechnet Dot Products (Skalarprodukte). Dabei teilt sich jede Unit im Layer ein Set von Weights. Ein CNN verwendet in der Regel mehrere Convolutional Layer, die mit Aktivierungsfunktionen durchsetzt sind. CNNs können auch Layer aufweisen, die verknüpft oder in Pools zusammengefasst sind.
Rekurrente neuronale Netze (RNNs) eignen sich zwar gut für die Bildanalyse, verfügen aber nicht wirklich über einen Mechanismus, der Zeitreihen und Sequenzen berücksichtigt, da es sich um reine Feed-Forward-Netze handelt. RNNs enthalten explizite Feedback-Loops, die ihnen ein "Gedächtnis" verleihen und zeitlich dynamisches Handeln ermöglichen.
Das heißt nicht, dass CNNs für Natural Language Processing nutzlos sind, sondern vielmehr, dass RNNs zeitbasierte Informationen modellieren können, die CNNs entgehen. Und es bedeutet auch nicht, dass RNNs nur Sequenzen verarbeiten können: RNNs und ihre Derivate haben eine Vielzahl von Anwendungsgebieten, darunter:
Übersetzungen,
Spracherkennung und -synthese,
Bot-Steuerung,
Time Series Prediction,
Anomalieerkennung oder
Handschrifterkennung.
Ein gewöhnliches RNN kann theoretisch Informationen über eine unbestimmte Anzahl von Schritten übertragen. In der Praxis ist das im Allgemeinen nicht möglich, ohne dabei den Kontext zu verlieren. Eine Ursache für dieses Problem: Der Gradient des Netzes neigt dazu, über viele Schritte zu verschwinden, was die Konvergenz eines gradientenbasierten Optimizers wie dem stochastischen Gradientenabstieg (SGD) beeinträchtigt.
Long-short-term-memory (LSTM)-Netze wurden entwickelt, um das Problem des verschwindenden Gradienten zu umgehen und langfristige Abhängigkeiten zu berücksichtigen. Das Design eines LSTM ist im Vergleich zum Zelldesign eines RNN etwas komplexer, funktioniert aber bei langen Sequenzen deutlich besser.
Bei LSTMs kann das Netz sowohl frühere Informationen vergessen (Gating) als auch erinnern - in beiden Fällen funktioniert das, indem die Weights verändert werden. Dadurch erhält ein LSTM sowohl ein Langzeit- als auch ein Kurzzeitgedächtnis und löst das Problem des verschwindenden Gradienten. LSTMs können mit Sequenzen von Hunderten historischer Eingaben umgehen.
Transformers sind neuronale Netze, die ausschließlich Attention-Mechanismen verwenden und auf Rekurrenz und Faltung völlig verzichten. Erfunden wurden sie bei Google.
Attention Units (und Transformatoren) sind Teil von Googles BERT- (.pdf) und OpenAIs GPT-2-Algorithmus (Transformatormodell mit unbeaufsichtigtem Pre-Training) für die Verarbeitung natürlicher Sprache. Transformatoren sind weiterhin integraler Bestandteil der neuronalen Architektur der neuesten großen Sprachmodelle wie ChatGPT/Bing Chat (basierend auf GPT-3.5 oder GPT-4) und Bard (basierend auf LaMDA).
Attention Units reagieren im Gegensatz zu RNNs nicht sehr empfindlich darauf, wie nahe zwei Wörter in einem Satz beieinander liegen. Deswegen eignen sie sich gut für Tasks, die RNNs weniger gut erledigen - etwa, Antezedenten von Pronomen zu identifizieren, die von den Referentenpronomen durch mehrere Sätze getrennt sein können. Anders ausgedrückt: Attention Units sind gut darin, einen größeren Kontext zu betrachten - statt nur die letzten paar Wörter, die dem aktuellen Wort vorausgehen.
Q-learning ist ein modellfreier, Value-basierter Algorithmus für Reinforcement Learning, der die beste Aktionsfolge gemessen am aktuellen Zustand findet. Das "Q" in der Nomenklatur steht für Qualität. Die gibt an, wie wertvoll die Aktion für die Maximierung zukünftiger Belohnungen ist. Q-Learning ist also im Wesentlichen Lernen durch Erfahrung.
Q-Learning wird häufig mit neuronalen Netzen kombiniert. Es wird zum Beispiel mit Convolutional Neural Networks verwendet, um bestimmte Features aus Videoeinzelbildern zu extrahieren. In der Praxis kann das zum Beispiel dazu beitragen, einem Rechner Videospiele oder die Steuerung von Robotern beizubringen. AlphaGo und AlphaZero sind berühmte erfolgreiche Programme von Google DeepMind, die mit Reinforcement Learning und neuronalen Netzen trainiert wurden. (fm)
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.