Neuronale Netzwerke: Struktur

Um zu sehen, wie neuronale Netzwerke bei nicht linearen Problemen helfen können, indem Sie ein lineares Modell als Graph darstellen:

Drei blaue Kreise hintereinander, die durch Pfeile mit einem grünen Kreis darüber verbunden sind

Abbildung 3: Lineares Modell als Graph.

Jeder blaue Kreis steht für ein Eingabefeature, der grüne Kreis für ein Eingabemerkmal. die gewichtete Summe der Eingaben.

Wie können wir dieses Modell so ändern, dass es besser mit nicht linearen Modellen umgehen kann? Probleme?

Ausgeblendete Ebenen

Im Modell, das durch die folgende Grafik dargestellt wird, haben wir eine „verborgene Ebene“ von Zwischenwerten. Jeder gelbe Knoten in der verborgenen Ebene ist eine gewichtete Summe der Werte des blauen Eingabeknotens. Das Ergebnis ist die gewichtete Summe der Knoten.

Drei blaue Kreise hintereinander, die als Label beschriftet sind

Abbildung 4: Grafik eines zweischichtigen Modells.

Ist dieses Modell linear? Ja. Die Ausgabe ist immer noch eine lineare Kombination ihre Eingaben.

Im Modell, das durch die folgende Grafik dargestellt wird, haben wir eine zweite mit gewichteten Summen.

Drei blaue Kreise hintereinander, die als Label beschriftet sind

Abbildung 5: Grafik eines dreischichtigen Modells.

Ist dieses Modell immer noch linear? Ja. Wenn Sie die Ausgabe als und vereinfachen, erhalten Sie nur eine weitere gewichtete Summe die Eingaben vor. Diese Summe kann das nicht lineare Problem in Abbildung 2 nicht effektiv modellieren.

Aktivierungsfunktionen

Um ein nicht lineares Problem zu modellieren, können wir direkt eine Nichtlinearität einführen. Wir können Verwenden Sie für jeden verborgenen Schichtknoten eine nicht lineare Funktion.

Im Modell, das durch den folgenden Graph dargestellt wird, ist der Wert jedes Knotens in Die ausgeblendete Ebene 1 wird vor der Übergabe durch eine nicht lineare Funktion transformiert. mit den gewichteten Summen der nächsten Schicht kombinieren. Diese nicht lineare Funktion wird als Aktivierungsfunktion.

Entspricht der vorherigen Abbildung, mit dem Unterschied, dass eine Reihe rosafarbener Kreise mit der Beschriftung „Nicht lineare Transformationsebene“ zwischen den beiden ausgeblendeten
Layern eingefügt.

Abbildung 6: Grafik eines dreischichtigen Modells mit Aktivierungsfunktion.

Nachdem wir nun eine Aktivierungsfunktion hinzugefügt haben, hat das Hinzufügen von Ebenen noch mehr Wirkung. Wenn wir Nichtlinearitäten auf Nichtlinearitäten stapeln, können wir sehr komplizierte Modelle Beziehungen zwischen den Eingaben und den vorhergesagten Ausgaben. Kurz gesagt: Jede eine komplexere, übergeordnete Funktion statt der unbearbeiteten Eingaben. Weitere Informationen zur Funktionsweise findest du unter In dem hervorragenden Blogpost von Chris Olah

Gängige Aktivierungsfunktionen

Die folgende sigmoid-Aktivierungsfunktion wandelt die gewichtete Summe in einen Wert zwischen 0 und 1.

$$F(x)=\frac{1} {1+e^{-x}}$$

Hier ist ein Diagramm:

Sigmoidfunktion

Abbildung 7: Sigmoid-Aktivierungsfunktion

Die Aktivierungsfunktion für die rektifizierte lineare Einheit (oder ReLU für funktioniert oft etwas besser als eine glatte Funktion wie Sigmoid, und gleichzeitig wesentlich einfacher zu berechnen.

$$F(x)=max(0,x)$$

Die Überlegenheit von ReLU basiert auf empirischen Ergebnissen, die wahrscheinlich auf ReLU zurückzuführen sind. eine nützlichere Sensibilität. Die Reaktionsfähigkeit eines Sigmoids sinkt auf beiden Seiten relativ schnell ab.

ReLU-Aktivierungsfunktion

Abbildung 8: ReLU-Aktivierungsfunktion

Tatsächlich kann jede mathematische Funktion als Aktivierungsfunktion dienen. Angenommen, \(\sigma\) repräsentiert unsere Aktivierungsfunktion (Relu, Sigmoid usw.). Daher wird der Wert eines Knotens im Netzwerk wie folgt angegeben: Formel:

$$\sigma(\boldsymbol w \cdot \boldsymbol x+b)$$

Zusammenfassung

Unser Modell verfügt jetzt über alle Standardkomponenten wenn sie von „neuronalem Netzwerk“ sprechen:

  • Eine Reihe von Knoten, ähnlich wie Neuronen, in Ebenen organisiert.
  • Eine Reihe von Gewichtungen, die die Verbindungen zwischen den einzelnen neuronalen Netzwerken darstellen Ebene und die Ebene darunter. Die darunterliegende Ebene könnte eine andere neuronale Netzwerkschicht oder eine andere Art von Schicht.
  • Eine Reihe von Verzerrungen, eine für jeden Knoten.
  • Eine Aktivierungsfunktion, die die Ausgabe jedes Knotens in einer Ebene transformiert. Verschiedene Ebenen haben möglicherweise unterschiedliche Aktivierungsfunktionen.

Ein Hinweis: Neuronale Netzwerke sind nicht unbedingt besser als Funktionsverknüpfungen, aber neuronale Netzwerke bieten eine flexible Alternative, in vielen Fällen gut funktioniert.