Techblog

Geschichte von Neural Networks und Deep Learning

Von Fabian Hertwig
11. Juli 2018

Deep Learning ist im Prinzip die seit Jahrzehnten eingeführte Technologie der neuronalen Netzwerke, angereichert mit vielen zusätzlichen Tricks, durch die sehr tiefe neuronale Netzwerke möglich werden.

Ich beschäftige mich in diesem Blog damit, warum sich neuronale Netzwerke in den 1960er Jahren und 1980er Jahren noch nicht durchgesetzt haben.

Die Gehirnzelle als Vorbild für elektrische Schaltungen

Die Geschichte der neuronalen Netzwerke beginnt in den 1940ern Jahren. Damals untersuchten Forscher, wie Neuronen im Gehirn funktionieren und versuchten diese mit elektrischen Schaltungen nachzubilden. Den ersten Durchbruch gab es 1957 mit dem Mark I Perceptron, einer Maschine, die mit Hilfe eines einzelnen „Neurons“ Eingabedaten in zwei Klassen aufteilen konnte. Sie lernte, indem sie den Fehler von vorherigen Versuchen minimierte. In den folgenden Jahren versuchten Forscher viele verschiedene Probleme mit künstlicher Intelligenz zu lösen, zum Beispiel das der natürlichen Sprache. Das Programm „STUDENT“ konnte mathematische Aufgaben in natürlicher Sprache verstehen. Allerdings war die Anzahl an Wörtern in dieser Sprache sehr begrenzt und der Algorithmus bestand eher aus einer optimierten Suche in einem Graphen als aus einem lernenden Modell. Ähnlich war es beim Roboter Shakey, der seinen Namen wegen seinen zitternden Bewegungen erhielt. Durch die Forschung an diesem entstand der noch heute häufig verwendete A*-Algorithmus, der den Pfad zwischen einem Startpunkt und einem Zielpunkt effizient berechnen kann. Auch das würde man heute nicht mehr als künstliche Intelligenz bezeichnen; damals half es aber, die Erwartungen an künstliche Intelligenz nach oben zu treiben.

So sah der Roboter Shakey aus

Zwei Mal Winterschlaf und zurück

In den 1970ern Jahren kam es zum „Artificial Intelligence Winter“. Weitere Forschung und Finanzierung an künstlicher Intelligenz wurde gestoppt, nachdem die übertriebenen Erwartungen nicht erreicht werden konnten. So glaubten Forscher bereits in den 1950er Jahren, dass man eine menschenähnliche künstliche Intelligenz in ein paar Jahrzehnten erreichen könnte. Man dachte, wenn man einer Maschine beibringen kann Schach zu spielen, dann kann man ihr auch einfach allgemeinere Aufgaben beibringen.

 

 

Eine TV-Sendung mit Interviews mit einigen der Artificial Intelligence Pionieren

 

In den 1980ern bekamen neuronale Netzwerke mit der Entwicklung des Backpropagation-Algorithmus wieder mehr Aufmerksamkeit: Mit dieser Methode werden mehrschichtige neuronalen Netze trainiert, indem die Fehler des Netzwerkes zurück durch das Netz getragen werden. In den 90ern entwickelte Yann LeCun, einer der Deep-Learning-Väter, die ersten Convolutional Neural Networks, um handgeschriebene Zahlen zu erkennen. Diese neue Form von neuronalen Netzwerken sind besonders dazu geeignet, Dinge auf Bildern zu erkennen. Seine Netze lasen jährlich Hunderttausende Schecks ein. Allerdings kam es zu einem weiteren erzwungenen Winterschlaf für neuronale Netze: Sie konnten nur schwer für größere Probleme trainiert werden; andere Machine-Learning-Methoden, etwa Support-Vektor-Machines, zeigten gute Ergebnisse und übernahmen die Hauptrolle auf der Artificial-Intelligence-Bühne.

Bis 2012 wurden neuronale Netzwerke kaum beachtet, dann gab es erneut einen Durchbruch. Jeffrey Hinton entwickelte ein Modell, das die Fehlerrate in der Large Scale Image Recognition Challenge fast halbierte. Dies war durch gleich mehrere fundamentale Neuerungen in Deep Learning möglich: Unter anderem wurden Algorithmen entwickelt, um die Netze mit Grafikkarten zu trainieren. Grafikkarten sind besonders schnell bei der Berechnung von parallelen Matrixmultiplikationen. Da das Training von neuralen Netzwerken hauptsächlich aus Matrixmultiplikationen besteht, konnte so die Trainingszeit um den Faktor 1000 gesenkt werden; Trainingszeiten verkürzten sich plötzlich auf eine annehmbare Zeit.

Tensorflow und Co: Grafikkarten als Rechenmaschinen

Heute helfen Frameworks wie Tensorflow, Theano oder Pytorch, Code besonders einfach auf Grafikkarten auszuführen. Einfach heißt: Ein Entwickler muss keinen spezialisierten Code schreiben, der auf der Grafikkarte läuft; die Frameworks übersetzen diesen für den Entwickler und führen ihn entweder auf der Grafikkarte aus oder auf normalen CPUs. Auch die Übertragung von Daten zwischen Grafikkarte und CPU übernehmen die Frameworks. Zudem bieten sie eine automatische Berechnung der Ableitung von Funktionen. Dies ist wichtig für den Backpropagation-Algorithmus und nimmt den Entwicklern und Forschern eine sehr aufwändige Aufgabe bei der Entwicklung von Deep-Learning-Modellen ab.

Überzogene Erwartungen?

Deep Learning steht momentan im Gartner Hype Cycle auf dem Gipfel der überzogenen Erwartungen. Der Hypecycle fasst zusammen, dass neue Technologien den Erwartungen des ersten Hypes in der Regel nicht entsprechen können; sie müssen zuerst das Tal der Enttäuschung durchqueren, um letztendlich Anwendung in der Industrie zu finden. Deep Learning steht somit – zumindest nach diesem Modell – kurz vor dem Tal der Enttäuschung.

Die zugrunde liegenden neuronale Netzwerke haben das Tal der Enttäuschung jedoch schon mindestens zweimal hinter sich gelassen: In den 60ern wurde die Finanzierung für Forschung an ihnen und anderen Modellen der künstlichen Intelligenz gestoppt, nachdem die extrem hohen Erwartungen nicht erfüllt werden konnten. Nach ihrer Wiederauferstehung in den 80ern konnten sich neurale Netze nicht gegen andere Methoden durchsetzen und traten in den Hintergrund. Doch einige Forscher gaben die Hoffnung für den Algorithmus mit dem Vorbild aus der Natur nicht auf. Wenn unsere Gehirne zu Intelligenz führen, dann muss es doch möglich sein diese Struktur mit Maschinen nachzubauen, so der Gedanke. Die Hartnäckigkeit der Forscher hat sich gelohnt: Auch wenn bei weitem noch keine menschenähnliche Intelligenz erreicht wurde, zeigen neurale Netzwerke unglaubliche Fortschritte in vielen Bereichen. Sei es Dinge auf Bildern erkennen, natürliche Sprache verstehen oder ausgeben, oder Sprachen übersetzen – das alles ist heute machbar. Erst kürzlich wurde demonstriert, dass man Computer mit Deep-Learning-Algorithmen darauf trainieren kann, menschliche Gegner in komplexen teambasierten Strategiespielen zu schlagen (Artikel bei openai.com. und deepmind.com). Auch verwenden nicht mehr nur die Tech-Giganten die Deep-Learning-Technologie, um komplexe Probleme zu lösen. Schon in vielen anderen Unternehmen wurde die Technologie übernommen.

Ich bin gespannt, ob die Deep-Learning-Technologie noch einmal durch das Tal der Enttäuschung hindurch muss, oder ob die Winterschlaf-Perioden der neuronalen Netze bereits ausreichen.

Neuen Kommentar schreiben

Public Comment form

  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd><p><h1><h2><h3>

Plain text

  • Keine HTML-Tags erlaubt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.

ME Landing Page Question

Erhalten Sie regelmäßig Praxis-Tipps per E-Mail

Praxis-Tipps per E-Mail erhalten