commit 44c1459e1e10ce9b3de7b4ebb638aa87d5a34231 Author: Valentin Duflot Date: Tue Oct 14 12:51:30 2025 +0200 Première version diff --git a/index.html b/index.html new file mode 100644 index 0000000..f1cb00b --- /dev/null +++ b/index.html @@ -0,0 +1,901 @@ + + + + + + + + + Perceptron de Rosenblatt – Simulation + + + + + +
+

Entrées

+
+ +
+
+ + + +
+
Chiffre #0
+
+
+ +
+

Poids

+
+ +
+
+
+ +
+ +
+ +
+
+
0.00
+
Biais global
+
+ +
+
+
0.10
+
Taux d'apprentissage
+
+ +
+ + +
+ +
+ + +
+
+ +

Sortie

+
+
+
+
+
+
0.00
+
+
+ + + + + \ No newline at end of file diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..320bbd3 --- /dev/null +++ b/readme.md @@ -0,0 +1,83 @@ +# Perceptron de Rosenblatt – Simulation Interactive + +### Auteur : Valentin Duflot +*(2025 – Projet pédagogique et expérimental)* + +--- + +## Objectif + +Cette application est une **reconstitution visuelle du perceptron de Rosenblatt (1958)**, le tout premier modèle d'apprentissage supervisé artificiel. +Elle permet de comprendre, manipuler et observer le processus d'apprentissage d’un neurone artificiel de manière intuitive. + +Le projet est **100 % autonome**, codé en **HTML / CSS / JavaScript pur**, sans dépendance externe. + +--- + +## Fonctionnement + +- 64 **LED d’entrée** représentent les pixels d’un chiffre 8×8. +- 64 **potentiomètres** (potars) permettent de visualiser et d’ajuster les poids synaptiques. +- Un **potar central** contrôle le **biais global**. +- Un autre contrôle le **taux d’apprentissage (η)**. +- Une **ampoule** et une **jauge** affichent la sortie du neurone. + +L’application peut : +- s’entraîner **manuellement**, un échantillon à la fois (`Ajuster une fois`), +- ou **automatiquement** sur un nombre défini d’époques (`▶ Entraînement auto`). + +--- + +## Dataset + +Le perceptron apprend à reconnaître un **chiffre cible** (sélectionné via menu déroulant) +parmi un ensemble de **100 chiffres bruités** (10 variantes de chaque 0–9). + +Chaque chiffre est représenté sur une matrice 8×8 binaire, inspirée du dataset **Digits**. + +--- + +## Rappel théorique + +Le perceptron met à jour ses poids selon la règle : + +\[ +w_i ← w_i + η × (y – ŷ) × x_i +\] +\[ +b ← b + η × (y – ŷ) +\] + +où : +- \( η \) est le taux d’apprentissage, +- \( y \) la sortie attendue, +- \( ŷ \) la sortie prédite. + +L’entraînement vise à séparer les exemples positifs (le chiffre cible) +des autres, en ajustant les poids de manière linéaire. + +--- + +## Démonstration + +Ouvre simplement le fichier `perceptron.html` dans un navigateur moderne (Chrome, Firefox, Edge). +Aucune installation requise. + +--- + +## Licence + +Projet libre pour usage **éducatif, scientifique ou artistique**. +Mention de l’auteur originale requise : +**© 2025 Valentin Duflot** + +--- + +## Inspirations + +- Frank Rosenblatt, *The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain* (1958) +- Visualisations pédagogiques modernes (TensorFlow Playground, 2016) + +--- + +> « C’est le premier pas de la machine vers la pensée. »