Für Machine- und Deep Learning

14 KI-Algorithmen, die Sie kennen sollten

Martin Heller schreibt als freier Autor für die Schwesterpublikation InfoWorld.

Beliebte Deep-Learning-Algorithmen

Convolutional neural networks

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.

Recurrent neural networks

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

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

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

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.

Zur Startseite