Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Défi : Création d'un Perceptron | Réseau de Neurones à Partir de Zéro
Introduction aux Réseaux de Neurones

bookDéfi : Création d'un Perceptron

Puisque notre objectif est de mettre en œuvre un perceptron multicouche, la création d'une classe Perceptron facilitera l'initialisation du modèle. Son unique attribut, layers, est essentiellement une liste d'objets Layer qui définissent la structure du réseau :

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

Les variables utilisées pour initialiser les couches sont les suivantes :

  • input_size : le nombre de caractéristiques d'entrée ;
  • hidden_size : le nombre de neurones dans chaque couche cachée (les deux couches cachées auront le même nombre de neurones dans ce cas) ;
  • output_size : le nombre de neurones dans la couche de sortie.

La structure du perceptron obtenu doit être la suivante :

Tâche

Swipe to start coding

Votre objectif est de mettre en place la structure de base du perceptron en implémentant ses couches :

  1. Complétez l'initialisation de la couche (méthode __init__()):

    • Initialisez la matrice des poids (de forme (n_neurons, n_neurons));
    • Initialisez le vecteur des biais (de forme (n_neurons, 1)).

    Remplissez-les avec des valeurs aléatoires issues d'une distribution uniforme dans l'intervalle [1,1)[-1, 1). Utilisez la fonction np.random.uniform() pour cela.

  2. Complétez la propagation avant de la couche (méthode forward()):

    • Calculez les valeurs brutes de sortie des neurones. Utilisez la fonction np.dot() pour le produit scalaire ;
    • Appliquez la fonction d'activation aux sorties brutes et retournez le résultat.
  3. Définissez trois couches :

    • Deux couches cachées : chaque couche doit comporter hidden_size neurones et utiliser la fonction d'activation relu ;
    • Une couche de sortie : elle doit utiliser la fonction d'activation sigmoid.

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 4
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

close

Awesome!

Completion rate improved to 4

bookDéfi : Création d'un Perceptron

Glissez pour afficher le menu

Puisque notre objectif est de mettre en œuvre un perceptron multicouche, la création d'une classe Perceptron facilitera l'initialisation du modèle. Son unique attribut, layers, est essentiellement une liste d'objets Layer qui définissent la structure du réseau :

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

Les variables utilisées pour initialiser les couches sont les suivantes :

  • input_size : le nombre de caractéristiques d'entrée ;
  • hidden_size : le nombre de neurones dans chaque couche cachée (les deux couches cachées auront le même nombre de neurones dans ce cas) ;
  • output_size : le nombre de neurones dans la couche de sortie.

La structure du perceptron obtenu doit être la suivante :

Tâche

Swipe to start coding

Votre objectif est de mettre en place la structure de base du perceptron en implémentant ses couches :

  1. Complétez l'initialisation de la couche (méthode __init__()):

    • Initialisez la matrice des poids (de forme (n_neurons, n_neurons));
    • Initialisez le vecteur des biais (de forme (n_neurons, 1)).

    Remplissez-les avec des valeurs aléatoires issues d'une distribution uniforme dans l'intervalle [1,1)[-1, 1). Utilisez la fonction np.random.uniform() pour cela.

  2. Complétez la propagation avant de la couche (méthode forward()):

    • Calculez les valeurs brutes de sortie des neurones. Utilisez la fonction np.dot() pour le produit scalaire ;
    • Appliquez la fonction d'activation aux sorties brutes et retournez le résultat.
  3. Définissez trois couches :

    • Deux couches cachées : chaque couche doit comporter hidden_size neurones et utiliser la fonction d'activation relu ;
    • Une couche de sortie : elle doit utiliser la fonction d'activation sigmoid.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 4
single

single

some-alt