Deep Learning

Deep Learning bedeutet, dass ein neuronales Netz mit relativ vielen Zwischenschichten als Machine Learning Algorithmus einsetzt wird. Deep, also tief, bezieht sich eben auf die Anzahl Zwischenschichten. Eine gewisse Anzahl Schichten, ab wann ein neuronales Netz tief ist, gibt es aber nicht.

Ein neuronales Netz besteht aus einer Eingangsschicht (input layer), einer oder mehreren Zwischenschichten (hidden layers) und einer Ausgangsschicht (output layer).

  • Die Knoten der Eingangsschicht werden mit einer Beobachtung gefüttert. Handelt es sich dabei um ein Bild der Größe 128×128 Pixel, bestehend aus den Helligkeitswerten 0-255 der drei Farben Rot, Grün, Blau (RGB), dann brauchen wir also 128x128x3 = 49.152 Knoten in der Eingangsschicht, also für jede Farbinformation eines Pixels einen Knoten.
  • Je nach Typ des neuronalen Netzes (CNN, RNN, LSTM, …) können die Zwischenschichten und deren Verbindungen ganz unterschiedlich aussehen.
  • Die Ausgangsschicht hat zum Beispiel bei Kategorisierungsproblemen für jede Kategorie ein Knoten. Also bei der Bilderkennung der Ziffern 0 bis 9 besteht die Ausgangsschicht zum Beispiel aus 10 Knoten. Wird in das neuronale Netz ein Bild eingekippt, dann kommt am Ende für jede Ziffern eine Wahrscheinlichkeit heraus. Andere Problemstellungen wie kontinuierliche Zahlen haben vielleicht nur einen Knoten, in dem dann das Ergebnis steht.

Man kann mathematisch zeigen, dass eine Zwischenschicht für einen universellen Klassifizierer genügt, jedoch mit theoretisch unendlich vielen Knoten. In der Praxis haben aber neuronale Netze mit vielen Zwischenschichten in den letzten Jahren viele Erfolge gefeiert. Daher ist aktuell auch der Begriff Deep Learning in aller Munde.

AlphaGo Zero: Mit Deep Learning zum Go-Großmeister

In Zusammenhang mit Deep Learning fällt immer wieder Googles Go-Software AlphaGo Zero bzw. dessen Nachfolger AlphaZero, welche neben Go auch Schach und Shogi meisterlich beherrscht. AlphaGo, der Vorgänger von AlphaGo Zero schlug den menschlichen Großmeister Lee Sedol in 2016. Während AlphaGo noch jede Menge menschliches Wissen einprogrammiert wurde, ist die Besonderheit an AlphaGo Zero, dass nur die Regeln einprogrammiert wurden und es das perfekte Go-Spielen durch Spiele gegen sich selbst lernte.

Das neuronale Netz von AlphaGo Zero besitzt 40 Convolution-Zwischenblöcke, welche jeweils aus 2 Filtern bestehen. Man kann also sagen, dass dieses neuronale Netz 80 Zwischenschichten besitzt.

OpenAI Five: Deep Learning Teamwork im Computerspiel

Ein anderes Beispiel für eine Deep Learning Architektur sind die neuronalen Netzwerke von OpenAI Five. Ziel war es, dass eine Software im komplexen Fünf-gegen-Fünf Modus des Computerspiel Dota2 mit menschlichen Teams mithalten kann. 2019 gelang es dann auch, dass OpenAI Five das menschliche Weltmeisterteam OG besiegt hat.

Auch bei OpenAI Five wurden kein menschliches Wissen einprogrammiert, sondern der Algorithmus lernt durch das Spielen gegen sich selbst. Jeder der 5 Spielfiguren wird durch ein eigenes neuronales Netz kontrolliert. Jedes dieser fünf Netze besteht aus 1024 LSTM-Einheiten. LSTM steht für long short-term memory (langes Kurzzeitgedächtnis) und wie der Name sagt, haben sie eine Art Gedächtnis, da der letzte Wert mit in die Berechnung des nächsten Werts einfließt.

LSTMs haben sich als sehr nützlich herausgestellt und wurden zum Beispiel für Google Translate und Amazons Alexa verwendet.

Data Science mit Python

 

Leider ist der Kurs noch nicht fertig, ich arbeite aber daran. Melde dich jetzt unverbindlich an und erhalte 25% Frühbucherrabatt auf meinen Onlinekurs Data Science mit Python. Du erfährst außerdem als Erste/r sobald ich den Kurs fertiggestellt habe.

Du hast Dich erfolgreich angemeldet!