Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Herausforderung: Erstellung Eines Perzeptrons | Neural Network von Grund Auf
Einführung in Neuronale Netze

bookHerausforderung: Erstellung Eines Perzeptrons

Da unser Ziel die Implementierung eines mehrschichtigen Perzeptrons ist, vereinfacht die Erstellung einer Perceptron-Klasse die Initialisierung des Modells. Ihr einziges Attribut, layers, ist im Wesentlichen eine Liste der Layer-Objekte, die die Struktur des Netzwerks definieren:

class Perceptron:
    def __init__(self, layers):
        self.layers = layers

Die Variablen, die zur Initialisierung der Schichten verwendet werden, sind die folgenden:

  • input_size: die Anzahl der Eingabemerkmale;
  • hidden_size: die Anzahl der Neuronen in jeder versteckten Schicht (beide versteckten Schichten haben in diesem Fall die gleiche Anzahl an Neuronen);
  • output_size: die Anzahl der Neuronen in der Ausgabeschicht.

Die Struktur des resultierenden Perzeptrons sollte wie folgt aussehen:

Aufgabe

Swipe to start coding

Ziel ist es, die Grundstruktur des Perzeptrons durch Implementierung seiner Schichten aufzubauen:

  1. Vervollständigen der Schichtinitialisierung (__init__()-Methode):

    • Initialisierung der Gewichtsmatrix (Form: (n_neurons, n_neurons));
    • Initialisierung des Biasvektors (Form: (n_neurons, 1)).

    Beide werden mit Zufallswerten aus einer gleichverteilten Zufallsverteilung im Bereich [1,1)[-1, 1) gefüllt. Verwenden Sie hierfür die Funktion np.random.uniform().

  2. Vervollständigen der Vorwärtsausbreitung der Schicht (forward()-Methode):

    • Berechnung der Roh-Ausgabewerte der Neuronen. Verwenden Sie für das Skalarprodukt die Funktion np.dot();
    • Anwendung der Aktivierungsfunktion auf die Roh-Ausgaben und Rückgabe des Ergebnisses.
  3. Definition von drei Schichten:

    • Zwei versteckte Schichten: Jede Schicht soll hidden_size Neuronen enthalten und die relu-Aktivierungsfunktion verwenden;
    • Eine Ausgabeschicht: Diese soll die sigmoid-Aktivierungsfunktion verwenden.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 4
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

Can you explain how to define the Layer class?

How do I initialize the Perceptron with specific layer sizes?

What is the purpose of having multiple hidden layers in this structure?

close

Awesome!

Completion rate improved to 4

bookHerausforderung: Erstellung Eines Perzeptrons

Swipe um das Menü anzuzeigen

Da unser Ziel die Implementierung eines mehrschichtigen Perzeptrons ist, vereinfacht die Erstellung einer Perceptron-Klasse die Initialisierung des Modells. Ihr einziges Attribut, layers, ist im Wesentlichen eine Liste der Layer-Objekte, die die Struktur des Netzwerks definieren:

class Perceptron:
    def __init__(self, layers):
        self.layers = layers

Die Variablen, die zur Initialisierung der Schichten verwendet werden, sind die folgenden:

  • input_size: die Anzahl der Eingabemerkmale;
  • hidden_size: die Anzahl der Neuronen in jeder versteckten Schicht (beide versteckten Schichten haben in diesem Fall die gleiche Anzahl an Neuronen);
  • output_size: die Anzahl der Neuronen in der Ausgabeschicht.

Die Struktur des resultierenden Perzeptrons sollte wie folgt aussehen:

Aufgabe

Swipe to start coding

Ziel ist es, die Grundstruktur des Perzeptrons durch Implementierung seiner Schichten aufzubauen:

  1. Vervollständigen der Schichtinitialisierung (__init__()-Methode):

    • Initialisierung der Gewichtsmatrix (Form: (n_neurons, n_neurons));
    • Initialisierung des Biasvektors (Form: (n_neurons, 1)).

    Beide werden mit Zufallswerten aus einer gleichverteilten Zufallsverteilung im Bereich [1,1)[-1, 1) gefüllt. Verwenden Sie hierfür die Funktion np.random.uniform().

  2. Vervollständigen der Vorwärtsausbreitung der Schicht (forward()-Methode):

    • Berechnung der Roh-Ausgabewerte der Neuronen. Verwenden Sie für das Skalarprodukt die Funktion np.dot();
    • Anwendung der Aktivierungsfunktion auf die Roh-Ausgaben und Rückgabe des Ergebnisses.
  3. Definition von drei Schichten:

    • Zwei versteckte Schichten: Jede Schicht soll hidden_size Neuronen enthalten und die relu-Aktivierungsfunktion verwenden;
    • Eine Ausgabeschicht: Diese soll die sigmoid-Aktivierungsfunktion verwenden.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 4
single

single

some-alt