Künstliche Intelligenz – Neuronales Netzwerk

Inhaltsverzeichnis

1 Neuron

2-MP-Modell

3 Aktivierungsfunktion

      3.1 Aktivierungsfunktion

      3.2 Die Rolle der Aktivierungsfunktion

      3.3 Es gibt viele Aktivierungsfunktionen

4. Neuronales Netzwerkmodell

5. Anwendung eines neuronalen Netzwerks

6. Bestehende Probleme und Lösungen

6.1 Es gibt Probleme

6.2 Lösung – Backpropagation


1 Neuron

       Neuronen bestehen hauptsächlich aus Dendriten, Axonen und Vorsprüngen . Dendriten empfangen viele Signale von oben und werden nach der Verarbeitung durch Axone an Synapsen weitergeleitet , und Synapsen übertragen selektiv Signale an die Dendriten der nächsten Ebene. Für das von der Synapse ausgegebene Signal gibt es nur zwei Möglichkeiten, entweder auszugeben oder nicht auszugeben, d. h. es gibt nur zwei Fälle von 0 und 1.

       In einem biologischen neuronalen Netzwerk ist jedes Neuron mit anderen Neuronen verbunden, und wenn es „erregt“ wird, sendet es Chemikalien an die verbundenen Neuronen und verändert dadurch das Potenzial in diesen Neuronen; wenn das Potenzial eines Neurons einmal einen „Schwellenwert“ überschreitet Wenn es erreicht wird, wird es aktiviert, das heißt „erregt“, und sendet Chemikalien an andere Neuronen.

 Bitte ignorieren Sie den Fehler im Bild unten (behalten Sie es für Ihren eigenen Gebrauch)

2-MP-Modell

       Das von jeder neuronalen Netzwerkeinheit abstrahierte mathematische MP-Modell lautet wie folgt und wird auch als Perzeptron bezeichnet . Es empfängt mehrere Eingaben (x1, x2, x3 ...) und generiert eine Ausgabe, die y = W1X1 + W2X2 + W3X3 + ... + ist WnXn + b.

       Dies ist so, als würden die Nervenenden Veränderungen in verschiedenen äußeren Umgebungen spüren ( äußere Reize wahrnehmen ) und unterschiedliche elektrische Signale erzeugen (d. h. Eingabe: x1, x2, x3...xn ), diese Intensitäten sind unterschiedlich (d. h. Parameter w1 ). , w2 ,w3...wn ) Die elektrischen Signale werden zusammengeführt, was das Potenzial in diesen Neuronen verändert. Wenn das Potenzial des Neurons einen „Schwellenwert“ (Parameter b) überschreitet, wird es aktiviert ( Aktivierungsfunktion ) , das ist „Feuer“ und sendet Chemikalien an andere Neuronen.

        MP-Modell: McCulloch-Pitts-Modell (kurz McCulloch-Pitts-Modell), ein frühes neuronales Netzwerkmodell.

       Es wurde 1943 gemeinsam vom amerikanischen Neurophysiologen McCulloch (McCulloch, W.) und dem Mathematiker Pitts (Pitts, W.) vorgeschlagen. Nehmen Sie an, dass n Neuronen miteinander verbunden sind und der Zustand Si (i = 1, 2, ..., n) jedes Neurons den Wert 0 oder 1 annimmt, was die Hemmung und Erregung des Neurons darstellt Der Zustand jedes Neurons wird durch andere Neuronen eingeschränkt, B ist der Schwellenwert des i-ten Neurons, W ist die Verbindungsstärke zwischen Neuron i und Neuron J.

MP-Modellprozess:

  • Jedes Neuron ist ein Multi-Input
  • Wie x1, x2, x3
  • Jede Eingabe wird mit den Gewichtungen w1,w2,w3 multipliziert
  • plus eine Schwelle b
  • Schließlich erhalten wir y = w1x1 + w2x2 + w3x3 + b
  • Schließlich erhalten wir einen Wert y
  • Ob dieser Wert stromabwärts ausgegeben wird, hängt von der Aktivierungsfunktion f(x) ab.
  • Der Wert des stromabwärts ausgegebenen Ergebnisses Oj ist entweder 0 oder 1.

3 Aktivierungsfunktion

      3.1 Aktivierungsfunktion

        Es handelt sich um die Funktion, die auf den Neuronen des künstlichen neuronalen Netzwerks ausgeführt wird und für die Abbildung der Eingabe des Neurons auf die Ausgabe verantwortlich ist.

      3.2 Die Rolle der Aktivierungsfunktion

       Wenn die Aktivierungsfunktion nicht verwendet wird: Die Ausgabe jeder Schicht ist eine lineare Funktion der Eingabe der oberen Schicht. Unabhängig davon, wie viele Schichten das neuronale Netzwerk hat, ist die Ausgabe eine lineare Kombination der Eingaben. Dies ist die primitivste Perzeptron (Perzeptron).
        Wenn Sie die Aktivierungsfunktion verwenden: Die Aktivierungsfunktion führt nichtlineare Faktoren in die Neuronen ein, sodass das neuronale Netzwerk jede nichtlineare Funktion willkürlich annähern kann , sodass das neuronale Netzwerk auf viele nichtlineare Modelle angewendet werden kann .

      3.3 Es gibt viele Aktivierungsfunktionen

  • Sigmoid-Aktivierungsfunktion

        Die Sigmoidfunktion ist eine häufige S-Typ-Funktion in der Biologie und wird auch als S-Typ-Wachstumskurve bezeichnet. In der Informationswissenschaft wird die Sigmoidfunktion aufgrund ihrer Eigenschaften als Einzelerhöhung und Umkehrfunktion als Einzelerhöhung häufig als Schwellenwertfunktion des neuronalen Netzwerks verwendet, um Variablen zwischen 0 und 1 abzubilden.

  • ReLU-Funktion

       Relu-Aktivierungsfunktion (The Rectified Linear Unit), die für die Ausgabe versteckter Neuronen verwendet wird.

  • Tanh-Funktion

       Tanh ist eine der hyperbolischen Funktionen und Tanh() ist der hyperbolische Tangens. In der Mathematik wird der Tangens hyperbolicus „Tanh“ aus den grundlegenden hyperbolischen Funktionen Sinus hyperbolicus und Cosinus hyperbolicus abgeleitet.

4. Neuronales Netzwerkmodell

       Ein einzelnes Perzeptron (auch einzelnes Perzeptron genannt) stellt ein einfaches Modell (MP-Modell) dar, aber in der realen Welt ist das tatsächliche Entscheidungsmodell viel komplexer und besteht oft aus mehreren Schichten von Perzeptronen. Das Netzwerk, wie in der Abbildung gezeigt Die Abbildung unten ist ebenfalls ein klassisches neuronales Netzwerkmodell (auch Multiperzeptron genannt, auch künstliches neuronales Netzwerk genannt), das aus einer Eingabeschicht, einer verborgenen Schicht und einer Ausgabeschicht besteht.

       Ein künstliches neuronales Netzwerk kann jede komplexe nichtlineare Beziehung abbilden, verfügt über eine starke Robustheit, Gedächtnisfähigkeit, Selbstlernfähigkeit usw. und verfügt über ein breites Anwendungsspektrum in den Bereichen Klassifizierung, Vorhersage, Mustererkennung usw. 

5. Anwendung eines neuronalen Netzwerks

      Wie können uns neuronale Netze dabei helfen, etwas zu tun? Wie erkennt man beispielsweise eine Stimme? Wie erkennt man beispielsweise Bilder?

      Im Wesentlichen kann es in Zahlen umgewandelt werden, und die umgewandelten Zahlen können über neuronale Netze verarbeitet werden.

      Im Bild unten zeigt das Bild beispielsweise den Buchstaben X, bei dem es sich um ein einkanaliges Schwarzweißbild mit 5x5=25 Pixeln handelt (die Pixelwerte sind nur 0 und 255). Es stellt einen Zahlenhaufen dar (x1,x2,...,x25)=(0,255,255,0,...225,0), und dieser Zahlenhaufen stellt den Buchstaben X dar.

      Wir finden durch Training lediglich eine Reihe von Parametern, um zu beurteilen, ob es sich um einen Buchstaben X handelt.

      Derzeit können wir nur anhand einer Neuronenschicht (ein Neuronen-MP-Modell) beurteilen, ob das Bild x ist oder nicht. 

      Um ein einzelnes Neuron in dieser Schicht 1 zu finden, sind natürlich 25 Parameter erforderlich (W1, W2, W3, ..., W25).

      Wenn es sich um ein Farbbild handelt, verfügt es über 3 Kanäle mit 5 * 5 * 3 Pixeln, und die zum Auffinden eines einzelnen Neurons in der ersten Schicht erforderlichen Parameter sind 75 Parameter (W1, W2, W3, ..., W75).

        Im Wesentlichen handelt es sich also, egal um welches Bild es sich handelt, im Wesentlichen um eine Reihe von Zahlen. Wir geben diese Zahlen einfach in die Neuronen ein, um sie als Parameter zu trainieren, bis wir eine Funktion mit dem kleinsten Fehler finden, was ein erfolgreiches Training darstellt.

     In der realen Welt ist das tatsächliche Entscheidungsmodell jedoch viel komplizierter, z. B. das Lesen von Artikeln, die Spracherkennung, die Bilderkennung usw., und es ist schwierig, den Effekt mit nur einer Neuronenschicht zu erzielen. Daher ist es notwendig, mehrschichtige Neuronen zu verwenden, bei denen es sich um ein mehrschichtiges neuronales Netzwerkmodell handelt.

    Zuerst gibt es eine Eingabe, und der Eingabeanschluss ist mit jedem Neuron in der ersten verborgenen Schicht verbunden. Nachdem die erste verborgene Schicht die Daten ausgegeben hat, entscheidet sie sich für die Ausgabe stromabwärts an die zweite verborgene Schicht und die Ausgabe der zweiten verborgenen Schicht wird an die dritte verborgene Ebene ausgegeben. . Dies wird als mehrschichtiges neuronales Netzwerk bezeichnet.
Jede zweischichtige neuronale Netzwerkverbindung verfügt über eine große Anzahl von Parametern. Durch einen bestimmten Algorithmus können viele Parameter optimal angepasst werden, sodass die endgültige Fehlerfunktion minimiert wird. Dies ist ein erfolgreiches Training.

6. Bestehende Probleme und Lösungen

6.1 Es gibt Probleme

      Ich kann sagen, dass bei Verwendung einer Ebene des Einzelneuronentrainings (Einzelkanal) 25 oder (3 Kanäle) 75 Parameter gefunden werden müssen, wobei die vollständige Verbindungsmethode y=W1X1+W2X2+W3X3+...+W25X25+b oder y=W1X1 verwendet wird +W2X2+W3X3+...+W25X75+b , aber das größte Problem bei vollständig verbundenem Netzwerkspeicher ist, dass er zu kompliziert ist.

Beispielsweise gibt es 5x5-Bilder und drei Schichten neuronaler Netzwerke. Jede neuronale Netzwerkschicht verfügt über 25 Neuronen.
        Als Eingabe werden 25 Pixel (x1,x2,...,x25) verwendet,
        die Eingabe in das erste Neuron der ersten Schicht muss 25 Parameter bestimmen,
        die Eingabe in das zweite Neuron der ersten Schicht muss 25 Parameter bestimmen
        ... . Die Eingabe
        in das 25. Neuron der ersten Schicht muss 25 Parameter bestimmen,
        daher (x1, x2, ..., x25) erfordert die Eingabe in die 25 Neuronen der ersten Schicht die Parameter 25 * 25 = 625
        25 Neuronen in der ersten Schicht Die Ausgabe der Einheit ist eine neue Eingabe (x1,x2,...,x25).
        Ebenso erfordert die Eingabe (x1,x2,...,x25) in die 25 Neuronen in der zweiten Schicht die Parameter 25 *25 = 625.
        Ähnlich , (x1, x2, ..., x25) Die Eingabe in 25 Neuronen in der dritten Schicht erfordert Parameter 25 * 25 = 625,
        sodass für das dreischichtige neuronale Netzwerk 625 * 3 = 1875 Parameter angepasst werden müssen.
     
        Dies gilt immer noch für das einfachste 5x5-Bild-Neuronale Netzwerk mit nur 3 Schichten. Was ist, wenn das Bild in Farbe ist? Was passiert, wenn das Bild 1 verglichenes Bild ist (3000 x 1000)? Was ist, wenn es sich um ein großes Farbbild handelt und die Anzahl der Netzwerkschichten eher 10 Schichten beträgt?

        Die Anzahl der Parameter beträgt derzeit 3000 x 1000 x 3000 x 1000 x 10 = 300000000000. Zu diesem Zeitpunkt wird die Erkennung komplizierter und die Berechnung langsamer.

        Dies ist auch der Grund dafür, dass die künstliche Intelligenz in den vergangenen Jahren in eine Talsohle geraten ist. Denn weder die Rechenleistung noch der Algorithmus können mithalten.

6.2 Lösung – Backpropagation

        Aufgrund der oben genannten Probleme wird der von Hinton vorgeschlagene Backpropagation-Algorithmus, also der BP-Algorithmus, übernommen.

       Wenn Sie die Parameter des BP-Algorithmus anpassen, müssen Sie die Parameter nicht wie zuvor anpassen. Sie können zuerst die letzte Ebene anpassen, dann die letzte Ebene nach vorne anpassen und schließlich die vordere Ebene anpassen. Dieser Algorithmus wird Backpropagation genannt. Dieser Algorithmus ist viel weniger komplex als frühere Algorithmen. Der Backpropagation-Algorithmus führt also auch die dritte Welle der künstlichen Intelligenz an.

       Zu diesem Zeitpunkt habe ich ein vorläufiges Verständnis von künstlicher Intelligenz.

7 Backpropagation

   Siehe Backpropagation künstlicher Intelligenz

Supongo que te gusta

Origin blog.csdn.net/qq_41946216/article/details/131714541
Recomendado
Clasificación