GF
Geoffrey Franz
Recherche : Fondamentaux du Deep Learning

NNFS — Neural Networks
From Scratch

Maîtrise de la mécanique interne des réseaux de neurones. J'ai reconstruit un moteur d'apprentissage profond complet en Python & NumPy, incluant la Backpropagation manuelle et l'optimisation par descente de gradient.

01/ Implementation & Backprop

nnfs_engine.py
class Layer_Dense:
    def forward(self, inputs):
        self.inputs = inputs
        self.output = np.dot(inputs, self.weights) + self.biases

    def backward(self, d_out):
        # Calcul des gradients par produit matriciel (Transpose)
        self.dweights = np.dot(self.inputs.T, d_out)
        self.dbiases = np.sum(d_out, axis=0, keepdims=True)
        self.dinputs = np.dot(d_out, self.weights.T)
        return self.dinputs
Extrait de la logique de rétropropagation pour la mise à jour des poids.

Logique Algorithmique

Contrairement aux approches haut-niveau, ce projet m'a permis d'implémenter l'Optimizer SGD et la Categorical Crossentropy. L'utilisation de NumPy permet une manipulation directe des matrices pour des performances optimales.

Composants du Système

Convergence

Boucle d'entraînement sur 1M d'epochs pour valider la réduction de la Loss.

Optimisation Adam/SGD

Mise à jour dynamique des paramètres basée sur le calcul des gradients.

Architecture du Network

  1. In

    Spiral Data

  2. L1

    ReLU Layer

  3. L2

    Softmax Out

  4. Lss

    Cross-Entropy