Skip to content

I want to understand the concept of machine learning through the creation of a neural network.

License

Notifications You must be signed in to change notification settings

St0up/rs_neural_network

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projet Réseau Neuronal — Implémentation d’un Perceptron en Rust

Objectif du projet

Étudiant à l'ENSIMAG en filière ISI, je n'ai pas encore eu de cours approfondis sur l'intelligence artificielle, et en particulier sur le deep learning.
Ce projet a pour but de combler ce manque en développant un réseau neuronal en Rust, afin d’acquérir une meilleure compréhension des fondements théoriques et pratiques de ces modèles.


🟢 Étape 1 : Implémentation d’un premier Perceptron

La première étape a consisté à implémenter un perceptron : l’unité de base des réseaux neuronaux.

Caractéristiques :

  • Utilisation de la fonction d'activation de Heaviside (fonction seuil).
  • Mise à jour des poids et du biais via une règle d’apprentissage simple, avec un taux d’apprentissage (nu) configurable.

Référence utilisée : Wikipedia - Perceptron


🟡 Étape 2 : Sérialisation / Désérialisation

Travail en cours : ajout d’un système de sérialisation et désérialisation pour le perceptron et les futurs composants du réseau neuronal.

Objectifs :

  • Permettre la sauvegarde et le chargement de l'état du modèle (poids, biais, etc.)
  • Faciliter les tests, la réutilisation et l'entraînement progressif du réseau.

🔧 Outils envisagés :

  • serde et 'serde_json' pour la sérialisation
  • Formats JSON ou binaire selon les besoins de performance

Étapes futures

Voici les prochaines fonctionnalités prévues :

  • Implémentation d’une descente de gradient (gradient simple)
  • Extension vers un réseau multi-couches (MLP)
  • Visualisation basique des performances (via export CSV ou graphiques Python)

▶️ Exécution

# Cloner le projet
git clone https://github.com/St0up/rs_neural_network.git
cd projet-perceptron-rust

# Compiler
cargo build --release

# Lancer les tests
cargo test

About

I want to understand the concept of machine learning through the creation of a neural network.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages