Ein neuronales Netz ist ein Programm oder Modell des maschinellen Lernens. Es trifft Entscheidungen auf ähnliche Weise wie das menschliche Gehirn: Seine Prozesse ahmen nach, wie biologische Neuronen zusammenwirken, um Phänomene zu identifizieren, Optionen abzuwägen und Schlussfolgerungen zu ziehen.
Neuronale Netzwerke bestehen aus Schichten von Knoten oder künstlichen Neuronen – eine Eingabeschicht, eine oder mehrere verborgene Schichten und eine Output-Schicht. Jeder Knoten ist mit anderen Knoten verbunden und verfügt über eine bestimmte Gewichtung und einen Schwellenwert. Wenn der Output eines einzelnen Knotens über dem angegebenen Schwellenwert liegt, wird dieser Knoten aktiviert und sendet Daten an die nächste Schicht des Netzes. Andernfalls werden keine Daten an die nächste Schicht des Netzes weitergegeben.
Neuronale Netze sind auf Trainingsdaten angewiesen, um zu lernen und mit der Zeit immer genauer zu werden, also immer mehr korrekte Aussagen zu treffen. Sobald dies der Fall ist, sind sie leistungsstarke Hilfsmittel in der Informatik und künstlichen Intelligenz und helfen uns, Daten mit hoher Geschwindigkeit zu klassifizieren und zu clustern. Für Aufgaben im Bereich Sprach- oder Bilderkennung braucht ein neuronales Netz im Vergleich zur manuellen Identifizierung durch menschliche Experten nur Minuten statt Stunden. Eines der bekanntesten Beispiele für ein neuronales Netz ist der Suchalgorithmus von Google.
Neuronale Netze werden manchmal auch als künstliche neuronale Netze (Artificial Neural Networks, ANNs) oder simulierte neuronale Netze (Simulated Neural Networks, SNNs) bezeichnet. Sie gehören in den größeren Komplex des maschinellen Lernens und bilden ihrerseits das Herzstück von Deep-Learning-Modellen.
Lernen Sie die Bausteine und Best Practices kennen, die Ihren Teams helfen, verantwortungsvolle KI zu beschleunigen.
Registrieren Sie sich für das E-Book zum Thema generative KI
Stellen Sie sich jeden einzelnen Knoten als eigenes lineares Regressionsmodell vor, das aus Eingabedaten, Gewichtungen, einem Bias (oder einem Schwellenwert) und einem Output besteht. Die Formel würde in etwa so aussehen:
∑wixi + Bias = w1x1 + w2x2 + w3x3 + Bias
Output = f(x) = 1 if ∑w1x1 + b>= 0; 0 if ∑w1x1 + b < 0
Sobald eine Eingabeschicht bestimmt ist, werden Gewichtungen zugewiesen. Mit Hilfe dieser Gewichtungen wird die Bedeutung einer bestimmten Variablen bestimmt, wobei größere Variablen im Vergleich zu anderen Inputs einen größeren Beitrag zum Output leisten. Alle Eingaben werden dann mit ihren jeweiligen Gewichtungen multipliziert und anschließend summiert. Anschließend wird der Output durch eine Aktivierungsfunktion geleitet, die den Output bestimmt. Wenn dieser Output einen bestimmten Schwellenwert überschreitet, wird der Knoten „ausgelöst“ (oder aktiviert) und Daten an die nächste Schicht im Netz übergeben. Dies führt dazu, dass der Output eines Knotens zur Eingabe des nächsten Knotens wird. Dieser Prozess der Weitergabe von Daten von einer Schicht zur nächsten Schicht definiert dieses neuronale Netzwerk als Feedforward-Netzwerk.
Lassen Sie uns anhand von Binärwerten aufschlüsseln, wie ein einzelner Knoten aussehen könnte. Wir können dieses Konzept auf ein greifbareres Beispiel anwenden, z. B. ob Sie surfen gehen sollte (Ja: 1, Nein: 0). Die Entscheidung, ob wir gehen oder nicht, ist unser vorhergesagtes Ergebnis oder Y-Hat. Nehmen wir an, dass es drei Faktoren gibt, die Ihre Entscheidungsfindung beeinflussen:
Dann nehmen wir Folgendes an und geben die folgenden Eingaben ein:
Jetzt müssen wir einige Gewichtungen zuweisen, um die Wichtigkeit zu bestimmen. Größere Gewichtungen geben an, dass bestimmte Variablen für die Entscheidung oder das Ergebnis von größerer Bedeutung sind.
Schließlich gehen wir auch von einem Schwellenwert von 3 aus, was einem Bias-Wert von –3 entsprechen würde. Mit all den verschiedenen Eingaben können wir beginnen, Werte in die Formel einzusetzen, um den gewünschte Output zu erhalten.
Y-hat = (1*5) + (0*2) + (1*4) – 3 = 6
Wenn wir die Aktivierungsfunktion vom Anfang dieses Abschnitts verwenden, können wir feststellen, dass die Ausgabe dieses Knotens 1 sein würde, da 6 größer als 0 ist. In diesem Fall würden Sie surfen gehen; aber wenn wir die Gewichtungen oder den Schwellenwert anpassen, können wir andere Ergebnisse mit dem Modell erzielen. Wenn wir eine Entscheidung beobachten, wie im obigen Beispiel, können wir sehen, wie ein neuronales Netz immer komplexere Entscheidungen treffen kann, abhängig vom Output der vorangegangenen Entscheidungen oder Schichten.
Im obigen Beispiel haben wir Perzeptrons verwendet, um einige der mathematischen Zusammenhänge zu veranschaulichen. Neuronale Netze nutzen jedoch sigmoide Neuronen, die sich dadurch auszeichnen, dass sie Werte im Bereich zwischen 0 und 1 haben. Da sich neuronale Netze ähnlich wie Decision Trees verhalten, indem sie Daten von einem Knoten zu einem anderen kaskadieren, werden die Auswirkungen von x-Werten zwischen 0 und 1 auf den Output eines bestimmten Knotens und damit auch auf den Output des neuronalen Netzes reduziert.
Wenn wir anfangen, über praktischere Anwendungsfälle für neuronale Netzwerke nachzudenken, wie Bilderkennung oder Klassifizierung, werden wir überwachtes Lernen oder markierte Datensätze nutzen, um den Algorithmus zu trainieren. Während wir das Modell trainieren, wollen wir seine Genauigkeit anhand einer Kostenfunktion (oder Verlustfunktion) bewerten. Dies wird allgemein auch als mittlerer quadratischer Fehler (Mean Squared Error, MSE) bezeichnet. In der folgenden Gleichung gilt Folgendes:
Kostenfunktion= 𝑀𝑆𝐸=1/2𝑚 ∑129_(𝑖=1)^𝑚▒(𝑦 ̂^((𝑖) )−𝑦^((𝑖) ) )^2
Letztendlich besteht das Ziel darin, unsere Kostenfunktion zu minimieren, um eine korrekte Anpassung für eine bestimmte Beobachtung zu gewährleisten. Während das Modell seine Gewichtungen und den Bias anpasst, verwendet es die Kostenfunktion und das Reinforcement Learning, um den Punkt der Konvergenz oder das lokale Minimum zu erreichen. Der Prozess, bei dem der Algorithmus seine Gewichte anpasst, erfolgt durch Gradientenabstieg. Dadurch kann das Modell die Richtung bestimmen, die es einschlagen muss, um Fehler zu reduzieren (oder die Kostenfunktion zu minimieren). Mit jedem Trainingsbeispiel passen sich die Parameter des Modells an, um sich allmählich dem Minimum anzunähern.
In diesem Artikel von IBM Developer werden die quantitativen Konzepte von neuronalen Netzen näher erläutert.
Die meisten tiefen neuronalen Netzwerke sind Feedforward-Netzwerke, d. h. sie fließen nur in eine Richtung, von der Eingabe zum Output. Sie können Ihr Modell jedoch auch durch Backpropagation trainieren, d. h. in umgekehrter Richtung vom Output zur Eingabe gehen. Die Backpropagation ermöglicht es uns, den mit jedem Neuron verbundenen Fehler zu berechnen und zuzuordnen, sodass wir die Parameter des Modells (bzw. der Modelle) entsprechend anpassen und abstimmen können.
Das völlig neue Enterprise Studio verbindet traditionelles maschinelles Lernen mit neuen, auf Foundation Models basierenden generativen KI-Funktionen.
Neuronale Netzwerke lassen sich in verschiedene Typen einteilen, die für unterschiedliche Zwecke verwendet werden. Dies ist zwar keine umfassende Liste von Typen, aber die folgenden sind repräsentativ für die gängigsten Typen von neuronalen Netzwerken, die Sie für die häufigsten Anwendungsfälle finden:
Das Perzeptron ist das älteste neuronale Netzwerk und wurde 1958 von Frank Rosenblatt entwickelt.
In diesem Artikel geht es überwiegend um neuronale Netze mit Feedforward-Architektur oder mehrschichtige Perzeptrons (MLPs). Sie bestehen aus einer Eingabeebene, einer oder mehreren verborgenen Ebenen und einer Ausgabeebene. Diese neuronalen Netze werden zwar auch als MLPs bezeichnet, zu beachten ist aber, dass sie tatsächlich aus sigmoidalen Neuronen und nicht aus Perzeptrons bestehen, da die meisten realen Probleme nicht linear sind. In der Regel werden Daten in diese Modelle gespeist, um sie zu trainieren. Sie bilden die Grundlage für Computer Vision, die Verarbeitung natürlicher Sprache und andere neuronale Netze.
Convolutional Neural Networks (CNNs) sind ähnlich wie Feedforward-Netzwerke, werden jedoch in der Regel in den Bereichen Bilderkennung, Mustererkennung und/oder Computer Vision verwendet. Diese Netze nutzen Prinzipien der linearen Algebra, insbesondere der Matrixmultiplikation, um Muster innerhalb eines Bildes zu identifizieren.
Recurrent Neural Networks (RNNs ) sind durch ihre Feedback-Schleifen gekennzeichnet. Diese Lernalgorithmen werden in erster Linie bei der Verwendung von Zeitreihendaten eingesetzt, um Vorhersagen über künftige Ergebnisse zu treffen, z. B. bei Börsen- oder Umsatzprognosen.
Deep Learning und neuronale Netzwerke werden in der Regel synonym verwendet, was verwirrend sein kann. Daher ist es erwähnenswert, dass sich das „deep“ in Deep Learning nur auf die Tiefe der Schichten in einem neuronalen Netz bezieht. Ein neuronales Netz, das aus mehr als drei Schichten besteht – einschließlich der Eingaben und des Outputs – kann als Deep-Learning-Algorithmus betrachtet werden. Ein neuronales Netz, das nur zwei oder drei Schichten hat, ist nur ein einfaches neuronales Netz.
Wenn Sie mehr über die Unterschiede zwischen neuronalen Netzen und anderen Formen der künstlichen Intelligenz, wie dem maschinellen Lernen, erfahren möchten, lesen Sie bitte den Blogbeitrag „KI vs. maschinelles Lernen vs. Deep Learning vs. neuronale Netze: Was ist der Unterschied?“
Die Geschichte der neuronalen Netzwerke ist länger, als die meisten Menschen denken. Die Idee einer „denkenden Maschine“ lässt sich bis zu den alten Griechen zurückverfolgen. Wir werden uns jedoch auf die wichtigsten Ereignisse konzentrieren, die zur Weiterentwicklung des Denkens in Bezug auf neuronale Netze geführt haben, die im Laufe der Jahre immer beliebter wurden:
1943: Warren S. McCulloch und Walter Pitts veröffentlichen „A logical calculus of the ideas immanent in nervous activity (Link befindet sich außerhalb von ibm.com)“ Diese Forschung versuchte zu verstehen, wie das menschliche Gehirn durch miteinander verbundene Gehirnzellen, oder Neuronen, komplexe Muster erzeugen kann. Eine der wichtigsten Ideen, die aus dieser Arbeit hervorging, war der Vergleich von Neuronen mit einem binären Schwellenwert mit boolescher Logik (d. h. 0/1 oder wahr/falsch).
1958: Frank Rosenblatt wird die Entwicklung des Perzeptrons zugeschrieben, dokumentiert in seiner Studie „The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain“ (Link befindet sich außerhalb von ibm.com). Er führte die Arbeit von McCulloch und Pitt noch einen Schritt weiter, indem er Gewichtungen in die Gleichung einführt. Mit Hilfe eines IBM 704 brachte Rosenblatt einen Computer dazu, zwischen Karten mit Markierungen auf der linken bzw. rechten Seite zu unterscheiden.
1974: Während zahlreiche Forscher zur Idee der Backpropagation beigetragen haben, war Paul Werbos in den USA der erste, der in seiner PhD-Dissertation (Link befindet sich außerhalb von outside ibm.com) deren Anwendung innerhalb von neuronalen Netzen beschrieb.
1989: Yann LeCun hat eine Publikation veröffentlicht (Link befindet sich außerhalb von ibm.com), die veranschaulicht, wie die Verwendung von Einschränkungen in der Backpropagation und ihre Integration in die Architektur eines neuronalen Netzwerks zum Trainieren von Algorithmen verwendet werden kann. In dieser Studie wurde ein neuronales Netz erfolgreich eingesetzt, um handgeschriebene Postleitzahlen des U.S. Postal Service zu erkennen.
Entwerfen Sie komplexe neuronale Netze. Experimentieren Sie im großen Maßstab, um optimierte Lernmodelle in IBM Watson Studio bereitzustellen.
Erstellen und skalieren Sie vertrauenswürdige KI in jeder Cloud. Automatisieren Sie den KI-Lebenszyklus für ModelOps.
Ergreifen Sie den nächsten Schritt und beginnen Sie mit der Operationalisierung und Skalierung von generativer KI und maschinellem Lernen für Ihr Geschäft.
Registrieren Sie sich für unser E-Book und erhalten Sie Einblicke in die Chancen, Herausforderungen und Lehren, die sich aus der Integration von KI in Unternehmen ergeben.
Diese Begriffe werden oft synonym verwendet, aber welche Unterschiede machen sie zu einer einzigartigen Technologie?
Verschaffen Sie sich ein umfassendes Verständnis von neuronalen Netzen, ihren grundlegenden Funktionen und den Grundlagen für den Aufbau eines solchen Netzes.