JavaRush /Java-Blog /Random-DE /Neuronale Netze: die Wiege der zukünftigen KI oder nur ei...

Neuronale Netze: die Wiege der zukünftigen KI oder nur ein weiterer Techno-Trend?

Veröffentlicht in der Gruppe Random-DE
In den Materialien zu JavaRush haben wir das Thema künstliche Intelligenz (KI), maschinelles Lernen und andere Technologien im Zusammenhang mit KI bereits auf die eine oder andere Weise angesprochen. Insbesondere haben wir bereits darüber gesprochen, wie künstliche Intelligenz mit der Programmierung in Java zusammenhängt , Mythen und Horrorgeschichten über KI diskutiert und in einer Reihe von Artikeln Schlüsseltechnologien erwähnt, die in diesem Bereich eingesetzt werden. Neuronale Netze: die Wiege der zukünftigen KI oder nur ein weiterer Techno-Trend?  - 1Deshalb haben wir beschlossen, dass jetzt ein guter Zeitpunkt ist, noch tiefer in das Gebiet der KI einzutauchen und einen genaueren Blick auf die Technologie zu werfen, die tatsächlich der modernen KI und dem maschinellen Lernen zugrunde liegt – neuronale Netze. Nämlich: wie das Konzept der neuronalen Netze ursprünglich entstand und wie diese Technologie in ihren heutigen Zustand überführt wurde, wie sich künstliche neuronale Netze von Neuronen im menschlichen Gehirn unterscheiden, ob sie wirklich lernen können und wozu sie heute wirklich fähig sind. Neuronale Netze: die Wiege der zukünftigen KI oder nur ein weiterer Techno-Trend?  - 2

Künstliche neuronale Netze und das menschliche Gehirn. Dasselbe?

Computer-Neuronale Netze erhielten ursprünglich diesen Namen, weil ihr Aufbauprinzip dem System der Neuronen im menschlichen Gehirn ähnelt. So umfasst das durchschnittliche menschliche Gehirn mehr als 100 Millionen winzige Zellen, sogenannte Neuronen. Tatsächlich weiß niemand genau, wie viele solcher Zellen es tatsächlich im menschlichen Gehirn geben könnte – Schätzungen reichen von 50 bis 500 Milliarden. Jedes Neuron besteht aus einem Zellkörper mit vielen sogenannten Dendriten (Zelleingänge – übermitteln Informationen an die Zelle). ) und ein Axon ( Zellausgang – überträgt Informationen aus der Zelle). Neuronen sind so klein, dass auf einer Fläche von einem Quadratmillimeter etwa hundert dieser Zellen untergebracht werden können. Im Inneren eines Computers sind winzige Schaltgeräte, sogenannte Transistoren, das Äquivalent eines Neurons. Die neuesten modernen Mikroprozessoren (Ein-Chip-Computer) enthalten mehr als 30 Milliarden Transistoren. Schon der erste Pentium-Mikroprozessor, der vor etwa 20 Jahren entwickelt wurde, hatte etwa 50 Millionen Transistoren in einem integrierten Schaltkreis mit einer Fläche von nur 25 mm verpackt. Tatsächlich, sagen Experten, endet hier die Verbindung zwischen Computerprozessoren und Neuronen im menschlichen Gehirn, da sie sich ansonsten stark voneinander unterscheiden und völlig unterschiedlich funktionieren. Computertransistoren sind in relativ einfachen Reihenschaltungen verbunden, von denen jeder mit zwei oder drei anderen verbunden werden kann, während Neuronen im Gehirn auf komplexe parallele Weise eng verbunden sind. So haben Wissenschaftler berechnet, dass jedes Neuron mit mehr als 10.000 seiner Nachbarn verbunden sein kann.

Was ist ein künstliches neuronales Netzwerk?

Der wichtigste strukturelle Unterschied zwischen Computern und Neuronen im Gehirn besteht daher in ihrer Funktionsweise. Die Grundidee neuronaler Netze besteht darin, die Funktionsweise vieler miteinander verbundener Neuronen im Gehirn zu simulieren oder, wenn man so will, vereinfacht zu modellieren. Dies ermöglicht es einem neuronalen Netzwerk, Dinge zu tun, die gewöhnliche Mikroprozessoren nicht können, nämlich zu lernen, Muster zu erkennen und Entscheidungen nach einem ähnlichen Prinzip wie das menschliche Gehirn zu treffen. Es ist jedoch wichtig zu betonen, dass neuronale Netze derzeit eine einfache Software-Emulation der Arbeit von Neuronen im Gehirn sind. Neuronale Netze: die Wiege der zukünftigen KI oder nur ein weiterer Techno-Trend?  - 3Ein typisches neuronales Netzwerk enthält mehrere Dutzend bis Hunderte, Tausende oder sogar Millionen künstlicher Neuronen, sogenannte Einheiten, die in mehreren Schichten angeordnet sind. Einige dieser Einheiten, sogenannte Eingabeeinheiten, sind dafür verantwortlich, verschiedene Formen von Informationen von der Außenwelt zu empfangen, die das neuronale Netzwerk dann zu lernen, sich zu merken und auf andere Weise zu verarbeiten versucht. Andere Einheiten, sogenannte Ausgabeeinheiten, die sich auf der gegenüberliegenden Seite des Netzwerks befinden, sind dafür verantwortlich, wie das Netzwerk mit diesen Informationen interagiert. Zwischen diesen beiden Schichten befinden sich weitere Einheiten, die die Berechnung durchführen und den Großteil des neuronalen Netzwerks ausmachen. Die meisten neuronalen Netze sind miteinander verbunden, das heißt, jede Einheit ist auf beiden Seiten schichtweise mit anderen Einheiten verbunden. Die Verbindungen zwischen Einheiten werden durch eine Zahl namens Gewicht dargestellt. Das Gewicht in einem neuronalen Netzwerk kann positiv (wenn eine Einheit eine andere aktiviert) oder negativ (wenn eine Einheit eine andere unterdrückt oder schwächt) sein. Je höher das Gewicht, desto größer ist der Einfluss einer Einheit auf eine andere. Ein einfaches neuronales Netzwerk zur Lösung einfacher Probleme umfasst möglicherweise nur drei Grundschichten, wie im Bild gezeigt. Zwischen der Eingabe- und der Ausgabeschicht können jedoch mehrere unterschiedliche Schichten liegen, die unterschiedliche Funktionen erfüllen. Neuronale Netze mit komplexeren Strukturen (als in der Abbildung oben) werden als tiefe neuronale Netze bezeichnet und werden üblicherweise zur Lösung komplexer Probleme eingesetzt. Theoretisch ermöglicht die Verwendung einer Tiefenstruktur einem neuronalen Netzwerk, jede Art von Eingabedaten auf jede Art von Ausgabedaten abzubilden, wodurch es in der Lage ist, jedes Problem zu lösen. Dafür benötigt das neuronale Netzwerk jedoch ein ernsthaftes und langwieriges „Training“, das aus der Verarbeitung von Millionen oder sogar Milliarden Beispielen von Informationen besteht, mit denen das Netzwerk arbeiten muss. Neuronale Netze: die Wiege der zukünftigen KI oder nur ein weiterer Techno-Trend?  - 4

Neuronale Netze: eine kleine Geschichte

Nun, wir haben die grundlegenden Erklärungen dafür geklärt, was neuronale Netze im Wesentlichen sind. Jetzt können wir einen kleinen Schritt zurück zur Theorie gehen und über die Geschichte dieser Technologie sprechen und darüber, wann sie überhaupt auf den Markt kam. Das mag viele überraschen, aber neuronale Netze tauchten bereits vor mehr als 70 Jahren in der Wissenschaft auf. Das Konzept wurde erstmals 1944 von Warren McCullough und Walter Pitts vorgeschlagen, zwei Forschern an der University of Chicago, die 1952 an das Massachusetts Institute of Technology wechselten, wo sie die erste kognitionswissenschaftliche Forschungsgruppe gründeten. Neuronale Netze waren bis 1969 tatsächlich ein wichtiges Forschungsgebiet sowohl in den Neurowissenschaften als auch in der Informatik. Das heißt, diese Technologie, die modernen Systemen der künstlichen Intelligenz zugrunde liegt, befindet sich, modern ausgedrückt, bereits seit mehr als einem ganzen Jahrzehnt im Hype – etwa von Mitte der fünfziger bis Ende der sechziger Jahre. Es wird angenommen, dass der „Killer“ dieses Hypes ein Buch der beiden Informatiker Marvin Minsky und Seymour Papert war, die in ihrer Arbeit alle Grenzen neuronaler Netze aufdeckten. Tatsache ist, dass frühe neuronale Netze nur eine oder zwei trainierbare Schichten hatten. Minsky und Papert zeigten, dass solche einfachen Netzwerke mathematisch nicht in der Lage sind, komplexe Phänomene der realen Welt zu modellieren. Infolgedessen ging das Interesse an neuronalen Netzen als Technologie für viele Jahre verloren – in den siebziger Jahren und in der ersten Hälfte der achtziger Jahre wurde ihnen objektiv wenig Beachtung geschenkt. Das Interesse erwachte erst 1986 mit der Veröffentlichung eines Artikels, der das Konzept der Backpropagation vorstellte, einer praktischen Methode zum Training tiefer neuronaler Netze, erneut. Dank der Backpropagation wurden tiefe neuronale Netze rechenfreundlicher, erforderten jedoch immer noch enorme Rechenressourcen für den Betrieb. Und die Forschung in den 1990er und 2000er Jahren zeigte oft, dass komplexe neuronale Netze hinsichtlich der Effizienz nicht die gewünschten Ergebnisse brachten. Infolgedessen blieben neuronale Netze eine Zeit lang von der Hype-Welle verschont und kehrten erst im zweiten Jahrzehnt der 2000er Jahre zurück, was vor allem auf die erhöhte Rechenleistung von Grafikchips zurückzuführen ist, die es tiefen neuronalen Netzen ermöglichen, effizienter als zuvor zu arbeiten. Das Phänomen einer solchen Zyklizität in der gesamten Wissenschaft ist gut erklärtTomaso Poggio, Professor am Massachusetts Institute of Technology: „Es gibt eine Erklärung dafür, dass sich Ideen in der Wissenschaft auf die gleiche Weise verbreiten wie Viren.“ Beispielsweise gibt es fünf oder sechs Hauptstämme des Influenzavirus, und jeder einzelne kommt etwa alle 25 Jahre wieder vor. Menschen infizieren sich, entwickeln eine Immunität und sind für die nächsten 25 Jahre vor einer Infektion geschützt. Und dann kommt eine neue Generation und infiziert sich erneut mit demselben Virusstamm. In der Wissenschaft verlieben sich Menschen in Ideen und arbeiten bis zur Erschöpfung daran, sodass sie Immunität in Form von Ideenmüdigkeit entwickeln. Und dann kommt die Idee mit einer anderen Generation von Wissenschaftlern zurück.“ Angesichts der Tatsache, dass neuronale Netze und Technologien der künstlichen Intelligenz immer noch eine recht neue und unterentwickelte Technologie sind, ist es möglich, dass der Hype um sie bald wieder nachlässt und in ein paar Jahrzehnten wieder zurückkehrt. Neuronale Netze: die Wiege der zukünftigen KI oder nur ein weiterer Techno-Trend?  - 5

Wie lernen neuronale Netze?

Normalerweise durchlaufen Informationen ein neuronales Netzwerk auf zwei Arten. Wenn das Netzwerk gerade lernt oder nach dem Training bereits läuft, gelangen Informationsmuster über Eingabeeinheiten in das Netzwerk, die Schichten versteckter Einheiten starten, die wiederum in Ausgabeeinheiten gelangen. Diese Gesamtstruktur wird als Feedforward-Netzwerk bezeichnet. Nicht alle Einheiten arbeiten gleichzeitig. Jede Einheit empfängt eingehende Daten von den Einheiten auf der linken Seite und multipliziert sie mit der Gewichtung der Verbindungen, die sie durchläuft. Jede Einheit addiert alle auf diese Weise empfangenen Daten und aktiviert im einfachsten Netzwerktyp, wenn die Summe einen bestimmten Schwellenwert überschreitet, die anderen Einheiten, mit denen sie verbunden ist (die auf der rechten Seite). Einer der Schlüsselpunkte, die es jedem neuronalen Netzwerk ermöglichen, zu lernen, ist Feedback. So wie ein Kind von einem Erwachsenen erzogen werden muss, der ihm sagt, was gut und was schlecht ist, brauchen neuronale Netze Feedback und Anleitung. Sie verwenden einen Trainingsansatz namens Backpropagation . Bei dieser Methode vergleicht das Netzwerk die Ausgabe, die es erzeugt, mit der Ausgabe, die es erzeugen sollte, und verwendet die Differenz zwischen diesen beiden Faktoren, um das Gewicht der Verbindungen zwischen Einheiten im Netzwerk zu ändern, von Ausgabeeinheiten über Zwischeneinheiten bis hin zu Eingabeeinheiten – das heißt, umgekehrt. Im Laufe der Zeit zwingt die Backpropagation das Netzwerk dazu, zu lernen, wodurch die Differenz zwischen der tatsächlichen und der geschätzten Ausgabe so weit reduziert wird, dass sie genau übereinstimmen. Neuronale Netze: die Wiege der zukünftigen KI oder nur ein weiterer Techno-Trend?  - 6

Wie funktionieren neuronale Netze und wo werden sie eingesetzt?

Schauen wir uns zum Schluss noch ein Beispiel an, wie ein solches neuronales Netzwerk funktioniert. Sobald das neuronale Netzwerk über genügend Datenbeispiele zum Trainieren verfügt, erreicht es einen Punkt, an dem der Benutzer ihm völlig neue Daten zuführen kann, die das Netzwerk noch nie zuvor verarbeitet hat, und daraus das gewünschte Ergebnis erhält. Angenommen, Sie trainieren Ihr neuronales Netzwerk so, dass es eine Waffe erkennt, wenn sie irgendwo im Sichtfeld einer Überwachungskamera erscheint. Sie trainieren das Netzwerk, indem Sie ihm Hunderte, Tausende und Zehntausende Bilder verschiedener Waffentypen wie Pistolen und Gewehre zeigen. Irgendwann lädst du ein Bild einer neuen Art von Waffe hoch, die ihr vorher noch nicht gezeigt wurde, zum Beispiel einer Waffe. Infolgedessen identifiziert das Netzwerk dieses Objekt anhand einer Reihe grundlegender Kriterien erfolgreich als Waffe, z. B. der allgemeinen Form, dem Vorhandensein eines Griffs und des Kolbens, des Vorhandenseins eines Abzugs usw. Das heißt, das neuronale Netzwerk bestimmt die Waffe im Bild anhand einer Reihe „gelernter“ Muster. Gleichzeitig bedeutet dies natürlich nicht, dass das neuronale Netzwerk neue Daten einsehen und selbstständig eine Entscheidung treffen kann, wie es Menschen tun. Es empfängt alle Informationen in Form eines Binärcodes und jede der Eingabeeinheiten (Informationen in das Netzwerk) kann nur in zwei Positionen sein: ein- oder ausgeschaltet. Wenn Sie also anhand desselben Beispiels ein neuronales Netzwerk trainieren, um Waffen zu finden, werden die Informationen durch eine Reihe von Eingabeeinheiten geleitet, die grundlegende „Ja/Nein“-Fragen beantworten. Zum Beispiel: Hat das Objekt einen Auslöser?; Gibt es einen Maulkorb?; Ist der Artikel aus Metall?; Entspricht seine Form der einer Pistole? Dementsprechend wäre die Antwort des Netzwerks für eine Waffe: „ja, ja, ja, nein“ oder „1110“ im Binärcode. Natürlich würde es in einem realen System noch viel mehr solcher Fragen geben, aber das Wesentliche bleibt dasselbe: Das neuronale Netzwerk empfängt Daten in Form eines Binärcodes und lernt mit seiner Hilfe, die notwendigen von den unnötigen Informationen zu unterscheiden. Wenn man nun den Grundmechanismus des neuronalen Netzwerks kennt, kann man sich leicht vorstellen, wie diese Technologie heute zur Lösung einer Vielzahl von Problemen eingesetzt wird. Ein klassisches Beispiel ist beispielsweise der Einsatz neuronaler Netze zur Verhinderung von Bankbetrug – wenn das System lernt, Überweisungen, die aus dem einen oder anderen Grund verdächtig erscheinen, selbstständig zu finden und sofort zu blockieren. Oder zum Beispiel die Verwendung neuronaler Netze für den grundlegenden Autopiloten von Autos oder Flugzeugen: Wenn Eingabeeinheiten Informationen von verschiedenen Steuerungssystemen erhalten und Ausgabeeinheiten den Pilotmodus entsprechend einem vorgegebenen Kurs anpassen.

Schlussfolgerungen

Nun sehen Sie, dass ein neuronales Netzwerk insgesamt eine relativ unkomplizierte Technologie ist, die Computer und Computersysteme wirklich einen Schritt nach vorne und näher an den Menschen bringt. Andererseits ist es auch offensichtlich, dass neuronale Netze noch lange nicht so komplex und effizient sind wie das menschliche Gehirn. Seien wir also dankbar dafür, dass wir alle mit einem fortschrittlichen neuronalen Netzwerk geboren werden, das direkt in unser Gehirn eingebaut ist, und nutzen wir diesen natürlichen Reichtum häufiger, zum Beispiel zum Lernen und zur Selbstverbesserung.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION