É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.
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
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 :
serdeet 'serde_json' pour la sérialisation- Formats JSON ou binaire selon les besoins de performance
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)
# 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