Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Vorwärtsdurchlauf eines neuronalen Netzes

Nach dieser Lektion: Ich kann berechnen, was ein kleines Netz für gegebene Eingaben ausgibt.

Lektion, 55 Min.2 BefehleJupyterLab-Lab für Data Science: pandas, Matplotlib und scikit-learn im Browser

Wie ein Netz aus Zahlen eine Antwort rechnet

Der Vorwärtsdurchlauf ist die Rechnung, mit der ein neuronales Netz aus seinen Eingaben eine Ausgabe berechnet. Sie läuft Schicht für Schicht von vorn nach hinten.

Wer sie von Hand rechnen kann, versteht, was ein trainiertes Netz tut, wenn es eine Vorhersage macht. Hier rechnen wir sie für einen Fahrradverleih.

Am Ende dieser Lektion

Notiz

Ich kann berechnen, was ein kleines Netz für gegebene Eingaben ausgibt.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Vorwärtsdurchlaufdie Rechnung von den Eingaben bis zur Ausgabe
Gewichtsmatrixalle Gewichte einer Schicht, eine Zeile je Neuron
Aktivierungdie Zahl, die ein Neuron nach seiner Funktion ausgibt
Vorhersagedie Ausgabe des Netzes für eine Zeile
Eingabevektordie Liste der Eingaben einer Zeile[2.0, 0.5]

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ausgabe einer Schicht, Eingabe der nächsten

Der Vorwärtsdurchlauf hat feste Schritte. Jedes Neuron einer Schicht bildet seine Summe aus allen Eingaben, seinen Gewichten und seinem Bias. Dann wendet es die Aktivierungsfunktion an.

Die Zahlen aller Neuronen einer Schicht bilden eine Liste. Diese Liste ist die Eingabe der nächsten Schicht. Das wiederholt sich bis zur Ausgabeschicht.

Beispiel: zwei Tage durch ein Netz

SchrittWarmer Tag [2,0 und 0,5]Nasser Tag [0,5 und 2,0]
Neuron 1 (Gewichte 1 und -2), Summe2,0 - 1,0 = 1,00,5 - 4,0 = -3,5
Neuron 1 nach ReLU1,00
Neuron 2 (Gewichte 0,5 und 1, Bias -1), Summe1,0 + 0,5 - 1 = 0,50,25 + 2,0 - 1 = 1,25
Neuron 2 nach ReLU0,51,25
Ausgabe (Gewichte 2 und 1, Bias 0,5)2,0 + 0,5 + 0,5 = 3,00 + 1,25 + 0,5 = 1,75

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Die versteckte Schicht des warmen Tages

Befehl
docker exec jupyter python3 -c "print(max(0, 2 * 1 + 0.5 * -2), max(0, 2 * 0.5 + 0.5 * 1 - 1))"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Ausgabe des warmen Tages

Befehl
docker exec jupyter python3 -c "print(2 * 1.0 + 1 * 0.5 + 0.5)"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Eine Schicht ist eine Schleife in einer Schleife

In Python steht die Gewichtsmatrix einer Schicht als Liste von Listen. Jede innere Liste gehört zu einem Neuron.

Die äußere Schleife geht über die Neuronen, die innere über die Eingaben. Das Ergebnis ist die Liste der Aktivierungen. Der Block darunter rechnet die versteckte Schicht des Beispiels.

Eine Schicht in Python

Code: python
# Eine Schicht mit zwei Neuronen, Eingaben: Temperatur und Regen.
eingaben = [2.0, 0.5]
gewichte = [[1, -2], [0.5, 1]]
biase = [0, -1]
ausgaben = []
for n in range(len(gewichte)):
    summe = biase[n]
    for k in range(len(eingaben)):
        summe = summe + gewichte[n][k] * eingaben[k]
    if summe < 0:
        summe = 0
    ausgaben.append(summe)
print(ausgaben)
# Setzen Sie die Eingaben auf [0.5, 2.0] und starten Sie erneut.

Ein häufiger Fehler

Warnung

Viele rechnen die Aktivierungsfunktion erst am Ende des ganzen Netzes. Sie gehört aber hinter jedes Neuron einer versteckten Schicht. Rechnen Sie darum jede Schicht ganz fertig, bevor Sie die nächste beginnen.

Über dieses Lab und seinen Quellcode: JupyterLab-Lab für Data Science: pandas, Matplotlib und scikit-learn im Browser

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.