Education, study and knowledge

Tiefe neuronale Netze: was sie sind und wie sie funktionieren

Deep Neural Networks sind ein Konzept, das die wichtigste technologische Architektur darstellt, die in Deep-Learning-Modellen verwendet wird. Diese Strukturen können nicht verstanden werden, ohne die allgemeine Idee künstlicher neuronaler Netze zu verstehen, die für die künstliche Intelligenz von grundlegender Bedeutung sind.

Neuronale Netze werden für tausend Dinge verwendet: Nummernschilder, Lieder, Gesichter, Stimmen oder sogar die Früchte in unserer Küche erkennen. Sie sind eine besonders nützliche Technologie, und obwohl sie erst seit Kurzem praktisch sind, werden sie die Zukunft der Menschheit sein.

Nächste Wir werden die Idee künstlicher neuronaler Netze eingehend und tief sehen, zu verstehen, wie sie funktionieren, wie sie trainiert werden und wie die Wechselwirkungen zwischen den verschiedenen Neuronen, aus denen sie bestehen, ablaufen.

  • Verwandter Artikel: „Was ist Kognitionswissenschaft? Seine Grundgedanken und Entwicklungsphasen"

Was sind tiefe neuronale Netze und was zeichnet sie aus?

instagram story viewer

Deep Neural Networks sind eine der wichtigsten technologischen Architekturen, die im Deep Learning oder Deep Learning verwendet werden. Diese speziellen künstlichen Netzwerke haben in den letzten Jahren ein schwindelerregendes Wachstum erlebt, da sie einen grundlegenden Aspekt darstellen, wenn es darum geht, alle Arten von Mustern zu erkennen. Künstliche Intelligenz existiert dank des Betriebs dieser speziellen Netzwerke, die in Im Wesentlichen werden sie zu einer Nachbildung dessen, wie unser Gehirn funktioniert, wenn auch in einem technologischen und Mathematik.

Bevor wir weiter darauf eingehen, was tiefe neuronale Netze sind, müssen wir zunächst verstehen, wie künstliche neuronale Netze im Allgemeinen funktionieren und wozu sie dienen. LNeuronale Netze sind ein Zweig des „Machine Learning“, der in den letzten Jahren einen enormen Einfluss hatte, Programmierern und Informatikern dabei helfen, Dinge wie Chatbots zu bauen, die uns glauben machen, wir sprächen mit echten Menschen, wenn wir mit ihnen sprechen.

Künstliche neuronale Netze wurden auch bei selbstfahrenden Autos eingesetzt, mobile Anwendungen, die unser Gesicht erkennen und es in das verwandeln, was wir wollen, und vieles mehr Funktionen. Seine Anwendbarkeit ist sehr umfangreich, dient als Grundlage der modernen künstlichen Intelligenz und hat endlose Vorteile für unseren Alltag.

künstliche neurale Netzwerke

Stellen wir uns vor, wir sind in unserer Küche und beschließen, nach einer Orange zu suchen, eine sehr einfache Aufgabe.. Wir wissen, wie man eine Orange sehr leicht identifiziert, und wir wissen auch, wie man sie von anderen Früchten unterscheidet, die wir in der Küche finden, wie Bananen, Äpfel und Birnen. Als? Denn in unserem Gehirn haben wir die typischen Eigenschaften einer Orange sehr gut verinnerlicht: ihre seine Größe, seine Form, seine Farbe, wie er riecht... Das sind alles Parameter, die wir verwenden, um einen zu finden orange.

Es ist eine einfache Aufgabe für Menschen, aber... Kann ein Computer das auch? Die Antwort ist ja. Im Prinzip würde es ausreichen, dieselben Parameter zu definieren und einem Knoten oder etwas, das wir gut als „künstliches Neuron“ bezeichnen könnten, einen Wert zuzuweisen. Wir würden diesem Neuron sagen, wie Orangen sind, indem wir ihre Größe, ihr Gewicht, ihre Form, ihre Farbe oder andere Parameter angeben, die wir dieser Frucht zuschreiben. Mit diesen Informationen wird erwartet, dass das Neuron weiß, wie es eine Orange erkennen kann, wenn ihm eine präsentiert wird.

Wenn wir die Parameter gut gewählt haben, wird es Ihnen leicht fallen, Orangen von Dingen zu unterscheiden, die keine Orangen sind, indem Sie einfach diese Merkmale berücksichtigen. Wenn ihm ein Bild einer Frucht präsentiert wird, sucht dieses Neuron nach den Merkmalen mit der Orange assoziiert und entscheiden, ob sie in die Kategorie „Orange“ oder in die Kategorie „Sonstiges“ aufgenommen werden soll Frucht". Statistisch gesehen würde es bedeuten, in einem Parameterdiagramm einen Bereich zu finden, der dem entspricht, was ist Auf der Suche nach einer Region, die alle Fruchtstücke umfasst, die die gleiche Größe, Form, Farbe, das gleiche Gewicht und das gleiche Aroma haben wie die Orangen.

Das klingt zunächst alles sehr einfach zu programmieren, und das ist es auch. Es funktioniert sehr gut, eine Orange von einer Banane oder einem Apfel zu unterscheiden, da sie unterschiedliche Farben und Formen haben. Aber was wäre, wenn wir Ihnen eine Grapefruit schenken würden? und eine sehr große Mandarine? Es sind Früchte, die perfekt mit einer Orange verwechselt werden können. Wird das künstliche Neuron selbst zwischen Orangen und Grapefruits unterscheiden können? Die Antwort ist nein, und tatsächlich wird angenommen, dass sie gleich sind.

Das Problem bei der Verwendung nur einer Schicht künstlicher Neuronen, oder was dasselbe ist, zuerst nur bei der Verwendung einfacher Neuronen, ist folgendes sehr ungenaue Entscheidungsgrenzen erzeugen, wenn Ihnen etwas präsentiert wird, das viele Merkmale mit dem gemein hat, was Sie erkennen können sollten, aber in Wirklichkeit ist es nicht. Wenn wir etwas präsentieren, das wie eine Orange aussieht, wie zum Beispiel eine Grapefruit, wird es als solche identifiziert, auch wenn es nicht diese Frucht ist.

Diese Entscheidungsgrenzen werden, wenn sie in Form eines Graphen dargestellt werden, immer linear sein. Verwenden eines einzelnen künstlichen Neurons, dh eines einzelnen Knotens mit integrierten Parametern konkret ist, aber nicht darüber hinaus lernen kann, ergeben sich sehr enge Entscheidungsgrenzen. diffus. Die Hauptbeschränkung besteht darin, dass zwei statistische Methoden verwendet werden, insbesondere Mehrklassenregression und logistische Regression, was bedeutet, dass es im Zweifelsfall etwas beinhaltet, was nicht das ist, was wir erwartet haben. wird sich identifizieren.

Wenn wir alle Früchte in "Orangen" und "Nicht-Orangen" unterteilen, indem wir nur ein Neuron verwenden, ist klar, dass Bananen, Birnen, Äpfel, Wassermelonen und alle Früchte, die in Größe, Farbe, Form, Aroma usw. nicht mit Orangen übereinstimmen, würde ich in die Kategorie "Nein" einordnen. Orangen". Grapefruits und Mandarinen würden sie jedoch in die Kategorie „Orangen“ einordnen und die Arbeit, für die sie entwickelt wurden, schlecht erledigen.

Und wenn wir über Orangen und Grapefruits sprechen, könnten wir auch über Hunde und Wölfe, Hühner und Hühner, Bücher und Hefte sprechen... Alle Diese Situationen sind Fälle, in denen eine einfache Aneinanderreihung von "ifs..." ("if...") nicht ausreichen würde, um das eine vom anderen klar zu unterscheiden. andere. Es wird ein komplexeres, nichtlineares System benötigt, das präziser ist, wenn es darum geht, zwischen verschiedenen Elementen zu unterscheiden. Etwas, das berücksichtigt, dass es zwischen den Ähnlichkeiten Unterschiede geben kann. Hier kommen neuronale Netze ins Spiel.

Mehr Schichten, ähnlicher dem menschlichen Gehirn

Künstliche neuronale Netze sind, wie der Name schon sagt, rechnerische künstliche Modelle, die von ihnen inspiriert sind in den neuronalen Netzwerken des menschlichen Gehirns, Netzwerke, die tatsächlich die Funktionsweise dieses Organs nachahmen biologisch. Dieses System ist von neuronalen Funktionen inspiriert und seine Hauptanwendung ist die Erkennung von Muster aller Art: Gesichtserkennung, Spracherkennung, Fingerabdruck, Handschrift, Nummernschilder… Die Mustererkennung funktioniert für fast alles..

Da es unterschiedliche Neuronen gibt, werden unterschiedliche Parameter angewendet, und es wird ein höherer Genauigkeitsgrad erreicht. Diese neuronalen Netze sind Systeme, die es uns ermöglichen, Artikel in Kategorien zu unterteilen, wenn die Der Unterschied kann subtil sein und sie auf nichtlineare Weise trennen, was sonst unmöglich wäre Benehmen.

Bei einem einzelnen Knoten, bei einem einzelnen Neuron, ist das, was bei der Handhabung der Informationen getan wird, eine Mehrklassen-Regression. Durch das Hinzufügen weiterer Neuronen, da jedes von ihnen seine eigene nichtlineare Aktivierungsfunktion hat, die, in eine einfachere Sprache übersetzt, dafür sorgt, dass sie Entscheidungsgrenzen haben präziser, grafisch in einer gekrümmten Form dargestellt werden und mehr Merkmale bei der Unterscheidung zwischen "Orangen" und "Nicht-Orangen" berücksichtigen, um mit diesem Beispiel fortzufahren.

Die Krümmung dieser Entscheidungsgrenzen hängt direkt davon ab, wie viele Schichten von Neuronen wir unserem neuronalen Netzwerk hinzufügen. Diese Schichten von Neuronen, die das System komplexer und präziser machen, sind in Wirklichkeit tiefe neuronale Netze. Grundsätzlich gilt: Je mehr Schichten von tiefen neuronalen Netzen wir haben, desto genauer und ähnlicher wird das Programm mit dem menschlichen Gehirn verglichen.

Kurz gesagt, neuronale Netze sind nichts anderes als ein intelligentes System, das präzisere Entscheidungen zulässt, ganz ähnlich wie wir Menschen es tun. Menschen basieren auf Erfahrung und lernen von unserer Umwelt. Um zum Beispiel auf den Fall von Orange und Grapefruit zurückzukommen, wenn wir noch nie eine gesehen haben, werden wir sie perfekt mit einer Orange verwechseln. Wenn wir uns damit vertraut gemacht haben, wissen wir bereits, wie wir sie identifizieren und von Orangen unterscheiden können.

Das erste, was getan wird, ist, den neuronalen Netzwerken einige Parameter zu geben, damit sie wissen, wie es ist, dass es lernen soll, es zu identifizieren. Dann kommt die Lern- oder Trainingsphase, damit es immer genauer wird und immer weniger Fehler aufweist. Dies ist die Zeit, in der wir unser neuronales Netzwerk mit einer Orange und anderen Früchten präsentieren würden. In der Trainingsphase erhalten sie Fälle, in denen sie orange sind, und Fälle, in denen sie nicht orange sind, um zu sehen, ob sie ihre Antwort richtig verstanden haben, und ihnen die richtige Antwort sagen.

Wir werden versuchen, zahlreiche Versuche zu machen und so nah wie möglich an der Realität.. Auf diese Weise helfen wir dem neuronalen Netzwerk, zu funktionieren, wenn echte Fälle eintreffen, und es weiß, wie man richtig unterscheidet, so wie es ein Mensch im wirklichen Leben tun würde. Wenn das Training ausreichend war, gute Erkennungsparameter gewählt wurden und gut klassifiziert haben, wird das neuronale Netzwerk eine sehr hohe Erfolgsrate bei der Mustererkennung haben. hoch.

  • Das könnte Sie interessieren: "Wie funktionieren Neuronen?"

Was sind sie und wie funktionieren sie genau?

Nachdem wir nun die allgemeine Vorstellung davon gesehen haben, was neuronale Netze sind, werden wir besser verstehen, was sie sind und wie diese Emulatoren der Neuronen des menschlichen Gehirns arbeiten und wo malen tiefe neuronale Netze in all dem Verfahren.

Stellen wir uns vor, wir hätten das folgende neuronale Netzwerk: Wir haben drei Schichten künstlicher Neuronen. Nehmen wir an, die erste Schicht hat 4 Neuronen oder Knoten, die zweite 3 und die letzte nur 2. Dies ist alles ein Beispiel für ein künstliches neuronales Netzwerk, ganz einfach zu verstehen.

Die erste Schicht ist diejenige, die die Daten empfängt., das heißt, die Informationen, die durchaus in Form von Tönen, Bildern, Aromen, elektrischen Impulsen kommen können... Dies zuerst Schicht ist die Eingabeschicht und ist dafür verantwortlich, alle Daten zu empfangen, um sie später an die folgenden senden zu können Lagen. Während des Trainings unseres neuronalen Netzes wird dies die Schicht sein, mit der wir zuerst arbeiten werden, indem wir es geben Daten, die wir verwenden, um zu sehen, wie gut Sie Vorhersagen treffen oder die Ihnen gegebenen Informationen identifizieren können gibt.

Die zweite Schicht unseres hypothetischen Modells ist die verborgene Schicht, die sich genau in der Mitte der ersten und letzten Schicht befindet., als ob unser neuronales Netzwerk ein Sandwich wäre. In diesem Beispiel haben wir nur eine verborgene Schicht, aber es könnten so viele sein, wie wir wollen. Wir könnten von 50, 100, 1000 oder sogar 50.000 Schichten sprechen. Im Wesentlichen sind diese verborgenen Schichten der Teil des neuronalen Netzwerks, den wir das tiefe neuronale Netzwerk nennen würden. Je größer die Tiefe, desto komplexer das neuronale Netzwerk.

Schließlich haben wir die dritte Schicht unseres Beispiels, die die Ausgabeschicht ist. Diese Schicht, wie der Name schon sagt, ist dafür verantwortlich, Informationen aus den vorherigen Schichten zu erhalten, eine Entscheidung zu treffen und uns eine Antwort oder ein Ergebnis zu geben.

Im neuronalen Netz ist jedes künstliche Neuron mit allen folgenden verbunden. In unserem Beispiel, wo wir kommentiert haben, dass wir drei Schichten von 4, 3 und 2 Neuronen haben, sind die 4 der Eingabeschicht verbunden mit der 3 der verborgenen Schicht und die 3 der verborgenen Schicht mit der 2 der Ausgabe, was uns insgesamt 18 ergibt Verbindungen.

Alle diese Neuronen sind mit denen der nächsten Schicht verbunden und senden die Informationen in der Richtung Input->Hidden->Output.. Wenn es mehr verborgene Schichten gäbe, würden wir von einer größeren Anzahl von Verbindungen sprechen, die die Informationen von verborgener Schicht zu verborgener Schicht senden, bis sie die Ausgangsschicht erreichen. Sobald die Ausgabeschicht die Informationen erhalten hat, gibt sie uns ein Ergebnis basierend auf den erhaltenen Informationen und ihrer Art der Verarbeitung.

Wenn wir unseren Algorithmus, d. h. unser neuronales Netzwerk, trainieren, wird dieser Prozess, den wir gerade erklärt haben, viele Male durchgeführt. Wir werden einige Daten an das Netzwerk liefern, wir werden sehen, was uns das Ergebnis liefert, und wir werden es analysieren und mit dem vergleichen, was wir vom Ergebnis erwartet haben. Wenn zwischen dem, was erwartet wird, und dem, was erreicht wird, ein großer Unterschied besteht, bedeutet dies, dass eine hohe Fehlerquote besteht und daher einige Änderungen vorgenommen werden müssen.

Wie funktionieren künstliche Neuronen?

Jetzt werden wir die individuelle Funktionsweise der Neuronen verstehen, die in einem neuronalen Netzwerk arbeiten. Das Neuron erhält eine Informationseingabe vom vorherigen Neuron. Nehmen wir an, dieses Neuron erhält drei Informationseingänge, von denen jeder von den drei Neuronen der vorherigen Schicht kommt. Dieses Neuron erzeugt wiederum Ausgaben, in diesem Fall sagen wir, es ist nur mit einem Neuron der nächsten Schicht verbunden.

Jede Verbindung, die dieses Neuron mit den drei Neuronen der vorherigen Schicht hat, bringt einen "x"-Wert, das ist der Wert, den das vorherige Neuron uns sendet.; und es hat auch einen Wert "w", der das Gewicht dieser Verbindung ist. Gewicht ist ein Wert, der uns hilft, einer Verbindung mehr Bedeutung als anderen zu geben. Kurz gesagt, jede Verbindung mit den vorherigen Neuronen hat einen „x“- und einen „w“-Wert, die multipliziert werden (x·w).

Wir werden auch haben ein Wert namens "Bias" oder Bias, der durch "b" dargestellt wird, was die Anzahl der Fehler ist, die bestimmte Neuronen dazu anregt, sich leichter zu aktivieren als andere. Außerdem haben wir innerhalb des Neurons eine Aktivierungsfunktion, was den Grad der Klassifizierung verschiedener Elemente ausmacht (S. B. Orangen) ist nicht linear. Jedes Neuron hat für sich genommen unterschiedliche Parameter zu berücksichtigen, wodurch das gesamte System, also das neuronale Netz, nichtlinear klassifiziert wird.

Woher weiß das Neuron, ob es aktiviert werden muss oder nicht? das heißt, wann wissen Sie, ob Sie Informationen an die nächste Schicht senden müssen? Nun, diese Entscheidung wird durch die folgende Gleichung bestimmt:

neurales Netzwerk

Diese Formel bedeutet, dass die Summe aller Gewichte "w" multipliziert mit allen Werten von "x", die das Neuron von der vorherigen Schicht erhält, gebildet werden muss. Hinzu kommt die Vorspannung "b".

Das Ergebnis dieser Gleichung wird an eine Aktivierungsfunktion gesendet, was einfach eine Funktion ist, die uns sagt, dass, wenn das Ergebnis dieser Gleichung größer als a ist Bei einer bestimmten Zahl sendet das Neuron ein Signal an die nächste Schicht, und wenn es weniger ist, dann nicht es zu senden So entscheidet also ein künstliches Neuron wie folgt, ob es Informationen an die Neuronen sendet oder nicht: Schicht mittels einer Ausgabe, die wir "y" nennen, eine Ausgabe, die wiederum die Eingabe "x" des Folgenden ist Neuron.

Und wie trainiert man ein ganzes Netzwerk?

Das erste, was getan wird, ist, Daten an die erste Schicht zu liefern, wie wir zuvor kommentiert haben. Diese Schicht sendet Informationen an die folgenden Schichten, die die verborgenen Schichten oder das tiefe neuronale Netzwerk sind. Die Neuronen dieser Schichten werden abhängig von den empfangenen Informationen aktiviert oder nicht. Schließlich liefert uns die Ausgabeschicht ein Ergebnis, das wir mit dem Wert vergleichen, auf den wir gewartet haben, um zu sehen, ob das neuronale Netzwerk gelernt hat, was es richtig zu tun hat.

Wenn er nicht gut gelernt hat, führen wir eine weitere Interaktion durch, das heißt, Wir werden Ihnen erneut Informationen präsentieren und sehen, wie sich das neuronale Netzwerk verhält. Abhängig von den erhaltenen Ergebnissen werden die "b"-Werte angepasst, dh die Vorspannung jedes Neurons, und das "w", dies ist das Gewicht jeder Verbindung mit jedem Neuron, um den Fehler zu reduzieren. Um herauszufinden, wie groß dieser Fehler ist, verwenden wir eine andere Gleichung, nämlich die folgende:

neurales Netzwerk

Diese Gleichung ist der mittlere quadratische Fehler. Wir werden die Summe von y (x), das ist der Wert, den unser Netzwerk uns in der Interaktion gegeben hat, minus „a“, das ist der Wert, den wir von ihm erwartet haben, zum Quadrat erheben. Schließlich werden wir diese Summe mit 1/2n multiplizieren, wobei „n“ die Anzahl der Interaktionen ist, die wir gesendet haben, um unser neuronales Netzwerk zu trainieren.

Angenommen, wir haben die folgenden Werte

neurales Netzwerk

Die erste Spalte „y (x)“ stellt dar, was unser Netzwerk uns in jeder der vier Interaktionen gegeben hat, die wir getestet haben. Die Werte, die wir erhalten haben, entsprechen, wie ersichtlich, nicht denen der zweiten Spalte „a“, die die gewünschten Werte für jede der getesteten Interaktionen sind. Die letzte Spalte repräsentiert den Fehler jeder Interaktion.

Wenden Sie die oben genannte Formel an und verwenden Sie diese Daten hier, wobei Sie bedenken, dass in diesem Fall n = 4 (4 Interaktionen) gibt uns einen Wert von 3,87, was der mittlere quadratische Fehler ist, den unser neuronales Netzwerk in diesen hat Momente. Da wir den Fehler kennen, müssen wir jetzt, wie wir bereits kommentiert haben, die Vorspannung und die ändern Gewichte von jedem der Neuronen und ihre Wechselwirkungen mit der Absicht, dass auf diese Weise der Fehler liegt reduzieren.

An dieser Stelle bewerben sich Ingenieure und Informatiker ein Algorithmus namens Gradientenabstieg mit denen sie Werte erhalten können, um die Vorspannung und das Gewicht jedes künstlichen Neurons zu testen und zu modifizieren so dass auf diese Weise ein immer geringerer Fehler erhalten wird, der sich der Vorhersage oder dem Ergebnis annähert gesucht. Es ist eine Frage des Testens und je mehr Interaktionen stattfinden, desto mehr Training wird es geben und desto mehr wird das Netzwerk lernen.

Sobald das neuronale Netzwerk angemessen trainiert ist, wird es uns genaue und zuverlässige Vorhersagen und Identifizierungen liefern. An diesem Punkt werden wir ein Netzwerk haben, das in jedem seiner Neuronen einen Wert von haben wird definiertes Gewicht, mit einer kontrollierten Voreingenommenheit und mit einer Entscheidungskapazität, die das System ausmacht arbeiten.

Bibliographische Referenzen:

  • Puig, A. [AMP Tech] (2017, 28. Juli). Wie funktionieren neuronale Netze? [Videodatei]. Erholt von https://www.youtube.com/watch? v=IQMoglp-fBk&ab_channel=AMPTech
  • Santaolalla, J. [Give yourself a Vlog] (2017, 11. April) CienciaClip Challenge – Was sind neuronale Netze? [Videodatei]. https://www.youtube.com/watch? v=rTpr6DuY4LU&ab_channel=DateunVlog
  • Schmidhuber, J. (2015). "Deep Learning in neuronalen Netzen: Ein Überblick". Neuronale Netze. 61: 85–117. arXiv: 1404.7828. doi: 10.1016/j.neunet.2014.09.003. PMID 25462637. S2CID 11715509

Was ist Kritische Theorie? Ihre Ideen, Ziele und Hauptautoren

Kritische Theorie ist ein breites Forschungsgebiet, das in der ersten Hälfte des 20. Jahrhunderts...

Weiterlesen

Die 20 berühmtesten und anerkanntesten Autoren der Romantik

Die 20 berühmtesten und anerkanntesten Autoren der Romantik

Die Romantik ist eine künstlerische Strömung, die unzählige Autoren hervorgebracht hat und künstl...

Weiterlesen

Kulturanthropologie: was sie ist und wie sie den Menschen erforscht

Kulturanthropologie ist ein Zweig der Anthropologie.weil sie, wie sie selbst, sehr jung ist und s...

Weiterlesen