Verschwindender Gradient und explodierender Gradient
Convolutional Neural Network (CNN)
1D-Faltung
1D-Faltungsexperimente
1D-Pooling
1D-CNN-Experimente
2D-CNN
2D-CNN Experimente
Rekurrentes neuronales Netz (RNN)
Vanille RNN
Seq2seq, Autoencoder, Encoder-Decoder
Erweiterte RNN
RNN-Klassifikationsexperiment
Verarbeitung natürlicher Sprache
Embedding: Symbole in Werte umwandeln
Textkategorisierung 1
Textkategorisierung 2
TextCNN
Entitätserkennung
Wortsegmentierung, Wortart-Tagging und Chunking
Sequenz-Tagging in Aktion
Bidirektionales RNN
BI-LSTM-CRF
Beachtung
Sprachmodelle
n-gram-Modelle: Unigram
n-gram-Modelle: Bigram
n-gram-Modelle: Trigram
RNN-Sprachmodelle
Transformer-Sprachmodelle
Lineare Algebra
Vektor
Matrix
Eintauchen in die Matrixmultiplikation
Tensor
Wie simuliert ein neuronales Netz eine beliebige Funktion
Überblick
Der Grund für die Leistungsfähigkeit des neuronalen Netzes liegt in seiner leistungsstarken Simulationsfähigkeit. Theoretisch kann es beliebige Funktionen mit unendlich kleinen Fehlern simulieren.
Mit anderen Worten, wir können neuronale Netze verwenden, um beliebige Funktionen zu konstruieren und beliebige Algorithmen zu erhalten.
Wir verwenden hier einige visuelle Beispiele, um Ihnen ein intuitives Verständnis zu vermitteln.
Simulation einer unären Funktion
Gerade Linie
Dies ist der einfachste Fall, wir können ihn simulieren, indem wir ein Neuron ohne Aktivierungsfunktion verwenden.
f(x)=wx+b
w1
b0
Durch Anpassen der Parameter w,b kann jede gerade Linie simuliert werden.
Stufenfunktion
Wir verwenden ein Neuron mit der Aktivierungsfunktion sigmoid, um es zu simulieren.
w30
b0
Wenn der Parameter w weiter ansteigt, nähert sich das neuronale Netzwerk allmählich der Funktion.
Rechteckige Pulsfunktion
Wir unterteilen es in mehrere Schritte:
Verwenden Sie ein einzelnes Neuron, um die linke Hälfte der Funktion zu simulieren.
f1(x)=sigmoid(w1x+b1)
w120
b120
Verwenden Sie ein einzelnes Neuron, um die rechte Hälfte der Funktion (auf dem Kopf) zu simulieren.
f2(x)=sigmoid(w2x+b2)
w220
b2-20
Verwenden Sie ein anderes Neuron, um die Bilder der ersten 2 Schritte zu synthetisieren
f3(x,y)=sigmoid(w31x+w32y+b3)
w3110
w32-10
b3-5
Das erhaltene Ergebnis ist eine gute Näherung der Zielfunktion.
Andere unäre Funktionen
Mit der Rechteckimpulsfunktion können wir andere beliebige Funktionen leicht annähern, genau wie das Integrationsprinzip.
n10
Experiment
Schließe die Mission Broken Line ab und beobachte die Funktion jedes Neurons.
Simulation der Binärfunktion
Ebene
Dies ist der einfachste Fall, wir können ihn simulieren, indem wir ein Neuron ohne Aktivierungsfunktion verwenden.
f(x,y)=w1x+w2y+b
w10
w21
b0
Durch Anpassen der Parameter von w1,w2,b kann jede beliebige Ebene simuliert werden.
Binäre Schrittfunktion
Wir verwenden ein Neuron mit der Aktivierungsfunktion sigmoid, um es zu simulieren.
f(x)=sigmoid(w1x+w2y+b)
w10
w230
b0
Binäre Rechteckimpulsfunktion
Ähnlich wie bei unären Funktionen implementieren wir es Schritt für Schritt:
Verwenden Sie ein einzelnes Neuron, um eine Kante der Funktion zu simulieren
f1(x,y)=sigmoid(w11x+w12y+b1)
w110
w1220
b120
Dann erhalten wir die folgende Funktion:
wi10
wj-10
bi-5
Schließlich können die folgenden Funktionen synthetisiert werden
w5110
w52-10
w5310
w54-10
b5-15
Die endgültige Struktur des neuronalen Netzes ist in der folgenden Abbildung dargestellt:
Andere binäre Funktionen
Mit der binären Rechteckimpulsfunktion können wir jede andere binäre Funktion leicht annähern, genau wie das Integrationsprinzip.
Experiment
Schließe die Mission Circle ab und beobachte die Funktion jedes Neurons.
Simulation der n-Element-Funktion
Das Prinzip ist das gleiche, stellen Sie sich selbst vor! 😥
Frage
Wir haben bereits digitale Schaltungen und Softwareprogrammalgorithmen, warum brauchen wir neuronale Netze?
Softwareprogramme, die auf digitalen Schaltkreisen basieren, können auch beliebige Funktionen simulieren, warum also künstliche neuronale Netze erfinden?