Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utmaning: Skapa en Perceptron | Neuronnätverk Från Grunden
Introduktion till neurala nätverk

bookUtmaning: Skapa en Perceptron

Eftersom vårt mål är att implementera en multilagerperceptron kommer skapandet av en Perceptron-klass att förenkla modellinitieringen. Dess enda attribut, layers, är i huvudsak en lista av Layer-objekt som definierar nätverkets struktur:

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

Variablerna som används för att initiera lagren är följande:

  • input_size: antalet inmatningsfunktioner;
  • hidden_size: antalet neuroner i varje dolt lager (båda dolda lagren kommer i detta fall att ha samma antal neuroner);
  • output_size: antalet neuroner i utgångslagret.

Strukturen för den resulterande perceptronen bör vara enligt följande:

Uppgift

Swipe to start coding

Målet är att skapa den grundläggande strukturen för perceptronen genom att implementera dess lager:

  1. Slutför lagerinitieringen (__init__()-metoden):

    • Initiera viktsmatrisen (formen är (n_neurons, n_neurons));
    • Initiera biasvektorn (formen är (n_neurons, 1)).

    Fyll dessa med slumpmässiga värden från en uniform fördelning inom intervallet [1,1)[-1, 1). Använd funktionen np.random.uniform() för detta.

  2. Slutför lagrets framåtriktade propagationsmetod (forward()):

    • Beräkna råa utgångsvärden för neuronerna. Använd funktionen np.dot() för skalärprodukt;
    • Applicera aktiveringsfunktionen på de råa utgångarna och returnera resultatet.
  3. Definiera tre lager:

    • Två dolda lager: varje lager ska ha hidden_size neuroner och använda aktiveringsfunktionen relu;
    • Ett utgångslager: detta ska använda aktiveringsfunktionen sigmoid.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 4
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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

bookUtmaning: Skapa en Perceptron

Svep för att visa menyn

Eftersom vårt mål är att implementera en multilagerperceptron kommer skapandet av en Perceptron-klass att förenkla modellinitieringen. Dess enda attribut, layers, är i huvudsak en lista av Layer-objekt som definierar nätverkets struktur:

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

Variablerna som används för att initiera lagren är följande:

  • input_size: antalet inmatningsfunktioner;
  • hidden_size: antalet neuroner i varje dolt lager (båda dolda lagren kommer i detta fall att ha samma antal neuroner);
  • output_size: antalet neuroner i utgångslagret.

Strukturen för den resulterande perceptronen bör vara enligt följande:

Uppgift

Swipe to start coding

Målet är att skapa den grundläggande strukturen för perceptronen genom att implementera dess lager:

  1. Slutför lagerinitieringen (__init__()-metoden):

    • Initiera viktsmatrisen (formen är (n_neurons, n_neurons));
    • Initiera biasvektorn (formen är (n_neurons, 1)).

    Fyll dessa med slumpmässiga värden från en uniform fördelning inom intervallet [1,1)[-1, 1). Använd funktionen np.random.uniform() för detta.

  2. Slutför lagrets framåtriktade propagationsmetod (forward()):

    • Beräkna råa utgångsvärden för neuronerna. Använd funktionen np.dot() för skalärprodukt;
    • Applicera aktiveringsfunktionen på de råa utgångarna och returnera resultatet.
  3. Definiera tre lager:

    • Två dolda lager: varje lager ska ha hidden_size neuroner och använda aktiveringsfunktionen relu;
    • Ett utgångslager: detta ska använda aktiveringsfunktionen sigmoid.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 4
single

single

some-alt