Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Sfida: Creazione di un Percettrone | Rete Neurale da Zero
Introduzione alle Reti Neurali

bookSfida: Creazione di un Percettrone

Poiché il nostro obiettivo è implementare un percettrone multistrato, la creazione di una classe Perceptron semplificherà l'inizializzazione del modello. Il suo unico attributo, layers, è fondamentalmente una lista di oggetti Layer che definiscono la struttura della rete:

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

Le variabili utilizzate per inizializzare i layer sono le seguenti:

  • input_size: il numero di caratteristiche di input;
  • hidden_size: il numero di neuroni in ciascun layer nascosto (entrambi i layer nascosti avranno lo stesso numero di neuroni in questo caso);
  • output_size: il numero di neuroni nel layer di output.

La struttura del percettrone risultante dovrebbe essere la seguente:

Compito

Swipe to start coding

L'obiettivo è impostare la struttura di base del percettrone implementando i suoi strati:

  1. Completa l'inizializzazione dello strato (metodo __init__()):

    • Inizializza la matrice dei pesi (forma (n_neurons, n_neurons));
    • Inizializza il vettore dei bias (forma (n_neurons, 1)).

    Riempili con valori casuali da una distribuzione uniforme nell'intervallo [1,1)[-1, 1). Utilizza la funzione np.random.uniform() per farlo.

  2. Completa la propagazione in avanti dello strato (metodo forward()):

    • Calcola i valori di output grezzi dei neuroni. Usa la funzione np.dot() per il prodotto scalare;
    • Applica la funzione di attivazione agli output grezzi e restituisci il risultato.
  3. Definisci tre strati:

    • Due strati nascosti: ciascuno deve avere hidden_size neuroni e utilizzare la funzione di attivazione relu;
    • Uno strato di output: deve utilizzare la funzione di attivazione sigmoid.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 4
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

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

bookSfida: Creazione di un Percettrone

Scorri per mostrare il menu

Poiché il nostro obiettivo è implementare un percettrone multistrato, la creazione di una classe Perceptron semplificherà l'inizializzazione del modello. Il suo unico attributo, layers, è fondamentalmente una lista di oggetti Layer che definiscono la struttura della rete:

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

Le variabili utilizzate per inizializzare i layer sono le seguenti:

  • input_size: il numero di caratteristiche di input;
  • hidden_size: il numero di neuroni in ciascun layer nascosto (entrambi i layer nascosti avranno lo stesso numero di neuroni in questo caso);
  • output_size: il numero di neuroni nel layer di output.

La struttura del percettrone risultante dovrebbe essere la seguente:

Compito

Swipe to start coding

L'obiettivo è impostare la struttura di base del percettrone implementando i suoi strati:

  1. Completa l'inizializzazione dello strato (metodo __init__()):

    • Inizializza la matrice dei pesi (forma (n_neurons, n_neurons));
    • Inizializza il vettore dei bias (forma (n_neurons, 1)).

    Riempili con valori casuali da una distribuzione uniforme nell'intervallo [1,1)[-1, 1). Utilizza la funzione np.random.uniform() per farlo.

  2. Completa la propagazione in avanti dello strato (metodo forward()):

    • Calcola i valori di output grezzi dei neuroni. Usa la funzione np.dot() per il prodotto scalare;
    • Applica la funzione di attivazione agli output grezzi e restituisci il risultato.
  3. Definisci tre strati:

    • Due strati nascosti: ciascuno deve avere hidden_size neuroni e utilizzare la funzione di attivazione relu;
    • Uno strato di output: deve utilizzare la funzione di attivazione sigmoid.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 4
single

single

some-alt